@charset "UTF-8";
/*---------------------------------------*		Styles et réglages globaux
\*---------------------------------------*/
/*------------------------------------*		Media queries breakpoints
\*------------------------------------*/
/*------------------------------------*		Layout
\*------------------------------------*/
/*------------------------------------*		Images and SVG dirs
\*------------------------------------*/
/*------------------------------------*		Z-indexes
\*------------------------------------*/
/*------------------------------------*		Easing
\*------------------------------------*/
/*------------------------------------*		Functions
\*------------------------------------*/
/**
 * A function helper to avoid having to type `map-get($layers, ...)`
 * Based on http://css-tricks.com/handling-z-index/
 * @param  {string} $layer The name of the z-index
 * @param  {number} $var   The modifier if needed
 * @return {number}        The corresponding z-index based on the $layers var
 */
/**
 * A function helper to avoid having to type `map-get($font-families, ...)` to output a given font-family
 * @param  {string} $font-family The name of the font-family
 * @return {string}              The corresponding font-family declaration
 */
/**
 * Remove units from the given number
 * @param  {number} $number The number with units
 * @return {number}
 */
/**
 * Create variables for the media queries
 * @param  {string} $breakpoint The breakpoint
 * @param  {string} $type       Type of media query (min or max)
 * @param  {string} $unit       The unit for the media queries (em or px)
 * @return {string}             A media query expression
 */
/**
 * Slightly lighten a color
 * @access public
 * @param {Color} $color - color to tint
 * @param {Number} $percentage - percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Slightly darken a color
 * @access public
 * @param  {color}  $color       color to shade
 * @param  {number} $percentage  percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Power function
 * @param  {number} $number Number to apply power
 * @param  {number} $exp    The exponant for the power
 * @return {number}         The powered number
 */
/**
 * Factorial function
 * @param  {number} $number The number to factorize
 * @return {number}         The factorised number
 */
/**
 * Pi reference
 * @return {number} Retrun PI with 11 decimals
 */
/**
 * Convert deg to rad
 * @param  {string} $angle The angle to convert
 * @return {number}        The unitless angle converted to rad
 */
/**
 * Calculate the sinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The sinus of the given angle
 */
/**
 * Calculate the cosinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The cosinus of the given angle
 */
/**
 * Calculate the tangent of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The tangent of the given angle
 */
/*---------------------------------------*		Positions & dispositions
\*---------------------------------------*/
/*---------------------------------------*		Shadow
\*---------------------------------------*/
/*---------------------------------------*		Typographie
\*---------------------------------------*/
/**
 * Responsive typograhy
 * @author Mike Riethmuller http://codepen.io/MadeByMike/pen/YPJJYv
 * @param  {integer} $min-width: 0            The breakpoint minimum to activate the responsive typography
 * @param  {integer} $max-width: 2560         The breakpoint maximum to activate th responsive typography
 * @param  {integer} $min-font:  12           The minimum font-size for the element
 * @param  {integer} $max-font:  16           The maximum font-size for the element
 * @return {void}
 */
/*---------------------------------------*		Triangles
\*---------------------------------------*/
/*---------------------------------------*		SVG Responsive
\*---------------------------------------*/
/*
Utilitaire pour le padding hack qui permet d'avoir des fichiers `*.svg` responsive.
Plus d'infos ici : http://tympanus.net/codrops/2014/08/19/making-svgs-responsive-with-css/
*/
/*------------------------------------*		Gradients
\*------------------------------------*/
/**
 * Mixin printing a linear-gradient
 * as well as a plain color fallback
 * and the `-webkit-` prefixed declaration
 * @param {String | List | Angle} $direction - Linear gradient direction
 * @param {Arglist} $color-stops - List of color-stops composing the gradient
 */
/*------------------------------------*		Page : catégories
\*------------------------------------*/
.hero .title--smaller {
  margin-top: 0;
}

@media (min-width: 30em) {
  .hero {
    padding-bottom: 2.5em;
  }
}

@media (min-width: 48em) {
  .hero {
    padding-bottom: 3em;
  }
}

@media (min-width: 62em) {
  .hero {
    padding-bottom: 5.5em;
  }
}

.hero--marque {
  padding-bottom: 2.5em;
}

@media (min-width: 30em) {
  .hero--marque {
    padding-bottom: 3.5em;
  }
}

@media (min-width: 48em) {
  .hero--marque {
    padding-bottom: 4.5em;
  }
}

@media (min-width: 62em) {
  .hero--marque {
    padding-bottom: 7em;
  }
}

.hero-categories-listing {
  padding-bottom: 1.5em;
  text-align: center;
}

.hero-categories-listing .listing-scroll {
  display: inline-block;
  margin-top: -10.4em;
  text-align: left;
}

@media (min-width: 30em) {
  .hero-categories-listing .listing-scroll {
    margin-top: -12.3em;
  }
}

@media (min-width: 48em) {
  .hero-categories-listing {
    padding-bottom: 3em;
  }
}

@media (min-width: 62em) {
  .hero-categories-listing {
    padding-bottom: 5em;
  }
}

.listing-scroll__display {
  width: 400%;
}

.customer-service {
  margin-top: 2em;
}

@media (min-width: 48em) {
  .customer-service {
    margin-top: 1.6em;
  }
}

.section--seo {
  padding-bottom: 1em;
}

.section--seo .avatar {
  width: 100px;
  height: 100px;
  margin-bottom: 1em;
}

.section--seo .title--small {
  margin-bottom: 0.5em;
}

.section--seo .cms-content h2,
.section--seo .cms-content h3 {
  margin-bottom: 1.928571429em;
  font-size: 1em;
  color: #19325b;
}

.section--seo .cms-content p {
  font-size: 12px;
}

@media (min-width: 30em) {
  .section--seo {
    padding-bottom: 2em;
  }
}

@media (min-width: 48em) {
  .section--seo {
    padding-top: 3em;
    padding-bottom: 16em;
  }
  .section--seo .follow--guide .micro-grid__column:last-child {
    margin-left: auto;
  }
}

@media (min-width: 62em) {
  .section--seo {
    padding-bottom: 20em;
  }
}

@media (min-width: 80em) {
  .section--seo {
    padding-top: 4em;
    padding-bottom: 21.6em;
  }
}

.section--best-sellers {
  margin-bottom: 3em;
}

.section--best-sellers .title-container {
  margin-bottom: 2em;
}

@media (min-width: 30em) {
  .section--best-sellers {
    padding-top: 1em;
  }
  .section--best-sellers .title-container {
    margin-bottom: 3em;
  }
}

@media (min-width: 48em) {
  .section--best-sellers {
    margin-bottom: 5em;
  }
  .section--best-sellers .title-container {
    margin-top: -15em;
    margin-bottom: 4em;
  }
}

@media (min-width: 62em) {
  .section--best-sellers {
    margin-bottom: 8.5em;
  }
  .section--best-sellers .title-container {
    margin-top: -16.75em;
  }
}

@media (min-width: 80em) {
  .section--best-sellers .title-container {
    margin-top: -18.35em;
  }
}

.section--categories-listing .title-container {
  margin-bottom: 1.5em;
}

.section--categories-listing .sub-title {
  margin-bottom: 2em;
}

.section--categories-listing .categories__item:last-child .category-details {
  border-bottom: 1px solid #d0dfe2;
}

.section--categories-listing .category-details {
  border-top: 1px solid #d0dfe2;
}

@media (min-width: 48em) {
  .section--categories-listing .title-container {
    margin-bottom: 2.5em;
  }
  .section--categories-listing .categories__listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .section--categories-listing .categories__item {
    margin-bottom: 2em;
  }
  .section--categories-listing .category-details {
    border: 0 !important;
  }
}

@media (min-width: 62em) {
  .section--categories-listing .sub-title {
    margin-bottom: 3em;
  }
  .section--categories-listing .categories__item {
    margin-bottom: 4em;
  }
}

.section--listing-marque .hero__title-container {
  margin-top: 2em;
}

.section--listing-marque .hero__title-container--between {
  margin-bottom: 2em;
}

@media (min-width: 48em) {
  .section--listing-marque .hero__title-container {
    margin-top: 2em;
    margin-bottom: 4em;
  }
  .section--listing-marque .hero__title-container--between {
    margin-top: 4em;
  }
}

@media (min-width: 62em) {
  .section--listing-marque .hero__title-container {
    margin-top: 0;
    margin-bottom: 7em;
  }
  .section--listing-marque .hero__title-container--between {
    margin-top: 7em;
  }
}

.section--presentation .title-container {
  margin-bottom: 2em;
}

@media (min-width: 48em) {
  .section--presentation .title-container {
    margin-bottom: 4em;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhdGVnb3JpZXMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQjsyQ0FDMkM7QUFDM0M7d0NBQ3dDO0FBQ3hDO3dDQUN3QztBQUN4Qzt3Q0FDd0M7QUFDeEM7d0NBQ3dDO0FBQ3hDO3dDQUN3QztBQUN4Qzt3Q0FDd0M7QUFDeEM7Ozs7OztHQU1HO0FBQ0g7Ozs7R0FJRztBQUNIOzs7O0dBSUc7QUFDSDs7Ozs7O0dBTUc7QUFDSDs7Ozs7O0dBTUc7QUFDSDs7Ozs7O0dBTUc7QUFDSDs7Ozs7R0FLRztBQUNIOzs7O0dBSUc7QUFDSDs7O0dBR0c7QUFDSDs7OztHQUlHO0FBQ0g7Ozs7R0FJRztBQUNIOzs7O0dBSUc7QUFDSDs7OztHQUlHO0FBQ0g7MkNBQzJDO0FBQzNDOzJDQUMyQztBQUMzQzsyQ0FDMkM7QUFDM0M7Ozs7Ozs7O0dBUUc7QUFDSDsyQ0FDMkM7QUFDM0M7MkNBQzJDO0FBQzNDOzs7RUFHRTtBQUNGO3dDQUN3QztBQUN4Qzs7Ozs7O0dBTUc7QUFDSDt3Q0FDd0M7QUFDeEM7RUFDRSxjQUFjO0NBQ2Y7O0FBRUQ7RUFDRTtJQUNFLHNCQUFzQjtHQUN2QjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxvQkFBb0I7R0FDckI7Q0FDRjs7QUFFRDtFQUNFO0lBQ0Usc0JBQXNCO0dBQ3ZCO0NBQ0Y7O0FBRUQ7RUFDRSxzQkFBc0I7Q0FDdkI7O0FBRUQ7RUFDRTtJQUNFLHNCQUFzQjtHQUN2QjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxzQkFBc0I7R0FDdkI7Q0FDRjs7QUFFRDtFQUNFO0lBQ0Usb0JBQW9CO0dBQ3JCO0NBQ0Y7O0FBRUQ7RUFDRSxzQkFBc0I7RUFDdEIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRTtJQUNFLG9CQUFvQjtHQUNyQjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxvQkFBb0I7R0FDckI7Q0FDRjs7QUFFRDtFQUNFO0lBQ0Usb0JBQW9CO0dBQ3JCO0NBQ0Y7O0FBRUQ7RUFDRSxZQUFZO0NBQ2I7O0FBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRTtJQUNFLGtCQUFrQjtHQUNuQjtDQUNGOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGNBQWM7RUFDZCxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxxQkFBcUI7Q0FDdEI7O0FBRUQ7O0VBRUUsNkJBQTZCO0VBQzdCLGVBQWU7RUFDZixlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0U7SUFDRSxvQkFBb0I7R0FDckI7Q0FDRjs7QUFFRDtFQUNFO0lBQ0UsaUJBQWlCO0lBQ2pCLHFCQUFxQjtHQUN0QjtFQUNEO0lBQ0Usa0JBQWtCO0dBQ25CO0NBQ0Y7O0FBRUQ7RUFDRTtJQUNFLHFCQUFxQjtHQUN0QjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsdUJBQXVCO0dBQ3hCO0NBQ0Y7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRTtJQUNFLGlCQUFpQjtHQUNsQjtFQUNEO0lBQ0UsbUJBQW1CO0dBQ3BCO0NBQ0Y7O0FBRUQ7RUFDRTtJQUNFLG1CQUFtQjtHQUNwQjtFQUNEO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtHQUNwQjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxxQkFBcUI7R0FDdEI7RUFDRDtJQUNFLHFCQUFxQjtHQUN0QjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxxQkFBcUI7R0FDdEI7Q0FDRjs7QUFFRDtFQUNFLHFCQUFxQjtDQUN0Qjs7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGlDQUFpQztDQUNsQzs7QUFFRDtFQUNFLDhCQUE4QjtDQUMvQjs7QUFFRDtFQUNFO0lBQ0UscUJBQXFCO0dBQ3RCO0VBQ0Q7SUFDRSxxQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLG9CQUFnQjtRQUFoQixnQkFBZ0I7R0FDakI7RUFDRDtJQUNFLG1CQUFtQjtHQUNwQjtFQUNEO0lBQ0UscUJBQXFCO0dBQ3RCO0NBQ0Y7O0FBRUQ7RUFDRTtJQUNFLG1CQUFtQjtHQUNwQjtFQUNEO0lBQ0UsbUJBQW1CO0dBQ3BCO0NBQ0Y7O0FBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixtQkFBbUI7R0FDcEI7RUFDRDtJQUNFLGdCQUFnQjtHQUNqQjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxjQUFjO0lBQ2QsbUJBQW1CO0dBQ3BCO0VBQ0Q7SUFDRSxnQkFBZ0I7R0FDakI7Q0FDRjs7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFO0lBQ0UsbUJBQW1CO0dBQ3BCO0NBQ0YiLCJmaWxlIjoicGFnZXMvY2F0ZWdvcmllcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcdFx0U3R5bGVzIGV0IHLDqWdsYWdlcyBnbG9iYXV4XHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcdFx0TWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXHRcdExheW91dFxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXHRcdEltYWdlcyBhbmQgU1ZHIGRpcnNcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0XHRaLWluZGV4ZXNcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0XHRFYXNpbmdcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0XHRGdW5jdGlvbnNcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxyXG4gKiBBIGZ1bmN0aW9uIGhlbHBlciB0byBhdm9pZCBoYXZpbmcgdG8gdHlwZSBgbWFwLWdldCgkbGF5ZXJzLCAuLi4pYFxyXG4gKiBCYXNlZCBvbiBodHRwOi8vY3NzLXRyaWNrcy5jb20vaGFuZGxpbmctei1pbmRleC9cclxuICogQHBhcmFtICB7c3RyaW5nfSAkbGF5ZXIgVGhlIG5hbWUgb2YgdGhlIHotaW5kZXhcclxuICogQHBhcmFtICB7bnVtYmVyfSAkdmFyICAgVGhlIG1vZGlmaWVyIGlmIG5lZWRlZFxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgY29ycmVzcG9uZGluZyB6LWluZGV4IGJhc2VkIG9uIHRoZSAkbGF5ZXJzIHZhclxyXG4gKi9cbi8qKlxyXG4gKiBBIGZ1bmN0aW9uIGhlbHBlciB0byBhdm9pZCBoYXZpbmcgdG8gdHlwZSBgbWFwLWdldCgkZm9udC1mYW1pbGllcywgLi4uKWAgdG8gb3V0cHV0IGEgZ2l2ZW4gZm9udC1mYW1pbHlcclxuICogQHBhcmFtICB7c3RyaW5nfSAkZm9udC1mYW1pbHkgVGhlIG5hbWUgb2YgdGhlIGZvbnQtZmFtaWx5XHJcbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgICAgICAgIFRoZSBjb3JyZXNwb25kaW5nIGZvbnQtZmFtaWx5IGRlY2xhcmF0aW9uXHJcbiAqL1xuLyoqXHJcbiAqIFJlbW92ZSB1bml0cyBmcm9tIHRoZSBnaXZlbiBudW1iZXJcclxuICogQHBhcmFtICB7bnVtYmVyfSAkbnVtYmVyIFRoZSBudW1iZXIgd2l0aCB1bml0c1xyXG4gKiBAcmV0dXJuIHtudW1iZXJ9XHJcbiAqL1xuLyoqXHJcbiAqIENyZWF0ZSB2YXJpYWJsZXMgZm9yIHRoZSBtZWRpYSBxdWVyaWVzXHJcbiAqIEBwYXJhbSAge3N0cmluZ30gJGJyZWFrcG9pbnQgVGhlIGJyZWFrcG9pbnRcclxuICogQHBhcmFtICB7c3RyaW5nfSAkdHlwZSAgICAgICBUeXBlIG9mIG1lZGlhIHF1ZXJ5IChtaW4gb3IgbWF4KVxyXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICR1bml0ICAgICAgIFRoZSB1bml0IGZvciB0aGUgbWVkaWEgcXVlcmllcyAoZW0gb3IgcHgpXHJcbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgICAgICAgQSBtZWRpYSBxdWVyeSBleHByZXNzaW9uXHJcbiAqL1xuLyoqXHJcbiAqIFNsaWdodGx5IGxpZ2h0ZW4gYSBjb2xvclxyXG4gKiBAYWNjZXNzIHB1YmxpY1xyXG4gKiBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBjb2xvciB0byB0aW50XHJcbiAqIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcclxuICogQHJldHVybiB7Q29sb3J9XHJcbiAqL1xuLyoqXHJcbiAqIFNsaWdodGx5IGRhcmtlbiBhIGNvbG9yXHJcbiAqIEBhY2Nlc3MgcHVibGljXHJcbiAqIEBwYXJhbSAge2NvbG9yfSAgJGNvbG9yICAgICAgIGNvbG9yIHRvIHNoYWRlXHJcbiAqIEBwYXJhbSAge251bWJlcn0gJHBlcmNlbnRhZ2UgIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcclxuICogQHJldHVybiB7Q29sb3J9XHJcbiAqL1xuLyoqXHJcbiAqIFBvd2VyIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSAge251bWJlcn0gJG51bWJlciBOdW1iZXIgdG8gYXBwbHkgcG93ZXJcclxuICogQHBhcmFtICB7bnVtYmVyfSAkZXhwICAgIFRoZSBleHBvbmFudCBmb3IgdGhlIHBvd2VyXHJcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgICBUaGUgcG93ZXJlZCBudW1iZXJcclxuICovXG4vKipcclxuICogRmFjdG9yaWFsIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSAge251bWJlcn0gJG51bWJlciBUaGUgbnVtYmVyIHRvIGZhY3Rvcml6ZVxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICAgVGhlIGZhY3RvcmlzZWQgbnVtYmVyXHJcbiAqL1xuLyoqXHJcbiAqIFBpIHJlZmVyZW5jZVxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9IFJldHJ1biBQSSB3aXRoIDExIGRlY2ltYWxzXHJcbiAqL1xuLyoqXHJcbiAqIENvbnZlcnQgZGVnIHRvIHJhZFxyXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRhbmdsZSBUaGUgYW5nbGUgdG8gY29udmVydFxyXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgdW5pdGxlc3MgYW5nbGUgY29udmVydGVkIHRvIHJhZFxyXG4gKi9cbi8qKlxyXG4gKiBDYWxjdWxhdGUgdGhlIHNpbnVzIG9mIGFuIGFuZ2xlXHJcbiAqIEBwYXJhbSAge3N0cmluZ30gJGFuZ2xlIFRoZSBhbmdsZSB0byBjb21wdXRlXHJcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFRoZSBzaW51cyBvZiB0aGUgZ2l2ZW4gYW5nbGVcclxuICovXG4vKipcclxuICogQ2FsY3VsYXRlIHRoZSBjb3NpbnVzIG9mIGFuIGFuZ2xlXHJcbiAqIEBwYXJhbSAge3N0cmluZ30gJGFuZ2xlIFRoZSBhbmdsZSB0byBjb21wdXRlXHJcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFRoZSBjb3NpbnVzIG9mIHRoZSBnaXZlbiBhbmdsZVxyXG4gKi9cbi8qKlxyXG4gKiBDYWxjdWxhdGUgdGhlIHRhbmdlbnQgb2YgYW4gYW5nbGVcclxuICogQHBhcmFtICB7c3RyaW5nfSAkYW5nbGUgVGhlIGFuZ2xlIHRvIGNvbXB1dGVcclxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgVGhlIHRhbmdlbnQgb2YgdGhlIGdpdmVuIGFuZ2xlXHJcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXHRcdFBvc2l0aW9ucyAmIGRpc3Bvc2l0aW9uc1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXHRcdFNoYWRvd1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXHRcdFR5cG9ncmFwaGllXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcclxuICogUmVzcG9uc2l2ZSB0eXBvZ3JhaHlcclxuICogQGF1dGhvciBNaWtlIFJpZXRobXVsbGVyIGh0dHA6Ly9jb2RlcGVuLmlvL01hZGVCeU1pa2UvcGVuL1lQSkpZdlxyXG4gKiBAcGFyYW0gIHtpbnRlZ2VyfSAkbWluLXdpZHRoOiAwICAgICAgICAgICAgVGhlIGJyZWFrcG9pbnQgbWluaW11bSB0byBhY3RpdmF0ZSB0aGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XHJcbiAqIEBwYXJhbSAge2ludGVnZXJ9ICRtYXgtd2lkdGg6IDI1NjAgICAgICAgICBUaGUgYnJlYWtwb2ludCBtYXhpbXVtIHRvIGFjdGl2YXRlIHRoIHJlc3BvbnNpdmUgdHlwb2dyYXBoeVxyXG4gKiBAcGFyYW0gIHtpbnRlZ2VyfSAkbWluLWZvbnQ6ICAxMiAgICAgICAgICAgVGhlIG1pbmltdW0gZm9udC1zaXplIGZvciB0aGUgZWxlbWVudFxyXG4gKiBAcGFyYW0gIHtpbnRlZ2VyfSAkbWF4LWZvbnQ6ICAxNiAgICAgICAgICAgVGhlIG1heGltdW0gZm9udC1zaXplIGZvciB0aGUgZWxlbWVudFxyXG4gKiBAcmV0dXJuIHt2b2lkfVxyXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0XHRUcmlhbmdsZXNcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0XHRTVkcgUmVzcG9uc2l2ZVxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcclxuVXRpbGl0YWlyZSBwb3VyIGxlIHBhZGRpbmcgaGFjayBxdWkgcGVybWV0IGQnYXZvaXIgZGVzIGZpY2hpZXJzIGAqLnN2Z2AgcmVzcG9uc2l2ZS5cclxuUGx1cyBkJ2luZm9zIGljaSA6IGh0dHA6Ly90eW1wYW51cy5uZXQvY29kcm9wcy8yMDE0LzA4LzE5L21ha2luZy1zdmdzLXJlc3BvbnNpdmUtd2l0aC1jc3MvXHJcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcdFx0R3JhZGllbnRzXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcclxuICogTWl4aW4gcHJpbnRpbmcgYSBsaW5lYXItZ3JhZGllbnRcclxuICogYXMgd2VsbCBhcyBhIHBsYWluIGNvbG9yIGZhbGxiYWNrXHJcbiAqIGFuZCB0aGUgYC13ZWJraXQtYCBwcmVmaXhlZCBkZWNsYXJhdGlvblxyXG4gKiBAcGFyYW0ge1N0cmluZyB8IExpc3QgfCBBbmdsZX0gJGRpcmVjdGlvbiAtIExpbmVhciBncmFkaWVudCBkaXJlY3Rpb25cclxuICogQHBhcmFtIHtBcmdsaXN0fSAkY29sb3Itc3RvcHMgLSBMaXN0IG9mIGNvbG9yLXN0b3BzIGNvbXBvc2luZyB0aGUgZ3JhZGllbnRcclxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcdFx0UGFnZSA6IGNhdMOpZ29yaWVzXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uaGVybyAudGl0bGUtLXNtYWxsZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaGVybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNWVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oZXJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MmVtKSB7XG4gIC5oZXJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS41ZW07XG4gIH1cbn1cblxuLmhlcm8tLW1hcnF1ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjVlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmhlcm8tLW1hcnF1ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNWVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oZXJvLS1tYXJxdWUge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuaGVyby0tbWFycXVlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogN2VtO1xuICB9XG59XG5cbi5oZXJvLWNhdGVnb3JpZXMtbGlzdGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGVyby1jYXRlZ29yaWVzLWxpc3RpbmcgLmxpc3Rpbmctc2Nyb2xsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMTAuNGVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaGVyby1jYXRlZ29yaWVzLWxpc3RpbmcgLmxpc3Rpbmctc2Nyb2xsIHtcbiAgICBtYXJnaW4tdG9wOiAtMTIuM2VtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oZXJvLWNhdGVnb3JpZXMtbGlzdGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuaGVyby1jYXRlZ29yaWVzLWxpc3Rpbmcge1xuICAgIHBhZGRpbmctYm90dG9tOiA1ZW07XG4gIH1cbn1cblxuLmxpc3Rpbmctc2Nyb2xsX19kaXNwbGF5IHtcbiAgd2lkdGg6IDQwMCU7XG59XG5cbi5jdXN0b21lci1zZXJ2aWNlIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3VzdG9tZXItc2VydmljZSB7XG4gICAgbWFyZ2luLXRvcDogMS42ZW07XG4gIH1cbn1cblxuLnNlY3Rpb24tLXNlbyB7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5zZWN0aW9uLS1zZW8gLmF2YXRhciB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uc2VjdGlvbi0tc2VvIC50aXRsZS0tc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLnNlY3Rpb24tLXNlbyAuY21zLWNvbnRlbnQgaDIsXG4uc2VjdGlvbi0tc2VvIC5jbXMtY29udGVudCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDEuOTI4NTcxNDI5ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogIzE5MzI1Yjtcbn1cblxuLnNlY3Rpb24tLXNlbyAuY21zLWNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNlY3Rpb24tLXNlbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2VjdGlvbi0tc2VvIHtcbiAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNmVtO1xuICB9XG4gIC5zZWN0aW9uLS1zZW8gLmZvbGxvdy0tZ3VpZGUgLm1pY3JvLWdyaWRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuc2VjdGlvbi0tc2VvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2VjdGlvbi0tc2VvIHtcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMS42ZW07XG4gIH1cbn1cblxuLnNlY3Rpb24tLWJlc3Qtc2VsbGVycyB7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbn1cblxuLnNlY3Rpb24tLWJlc3Qtc2VsbGVycyAudGl0bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2VjdGlvbi0tYmVzdC1zZWxsZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG4gIC5zZWN0aW9uLS1iZXN0LXNlbGxlcnMgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZWN0aW9uLS1iZXN0LXNlbGxlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDVlbTtcbiAgfVxuICAuc2VjdGlvbi0tYmVzdC1zZWxsZXJzIC50aXRsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC0xNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuc2VjdGlvbi0tYmVzdC1zZWxsZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4LjVlbTtcbiAgfVxuICAuc2VjdGlvbi0tYmVzdC1zZWxsZXJzIC50aXRsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC0xNi43NWVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5zZWN0aW9uLS1iZXN0LXNlbGxlcnMgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTE4LjM1ZW07XG4gIH1cbn1cblxuLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAudGl0bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5zZWN0aW9uLS1jYXRlZ29yaWVzLWxpc3RpbmcgLnN1Yi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAuY2F0ZWdvcmllc19faXRlbTpsYXN0LWNoaWxkIC5jYXRlZ29yeS1kZXRhaWxzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGRmZTI7XG59XG5cbi5zZWN0aW9uLS1jYXRlZ29yaWVzLWxpc3RpbmcgLmNhdGVnb3J5LWRldGFpbHMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZGZlMjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAudGl0bGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcbiAgfVxuICAuc2VjdGlvbi0tY2F0ZWdvcmllcy1saXN0aW5nIC5jYXRlZ29yaWVzX19saXN0aW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuc2VjdGlvbi0tY2F0ZWdvcmllcy1saXN0aW5nIC5jYXRlZ29yaWVzX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbiAgLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAuY2F0ZWdvcnktZGV0YWlscyB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIHtcbiAgLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAuc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIH1cbiAgLnNlY3Rpb24tLWNhdGVnb3JpZXMtbGlzdGluZyAuY2F0ZWdvcmllc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICB9XG59XG5cbi5zZWN0aW9uLS1saXN0aW5nLW1hcnF1ZSAuaGVyb19fdGl0bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uc2VjdGlvbi0tbGlzdGluZy1tYXJxdWUgLmhlcm9fX3RpdGxlLWNvbnRhaW5lci0tYmV0d2VlbiB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlY3Rpb24tLWxpc3RpbmctbWFycXVlIC5oZXJvX190aXRsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gIH1cbiAgLnNlY3Rpb24tLWxpc3RpbmctbWFycXVlIC5oZXJvX190aXRsZS1jb250YWluZXItLWJldHdlZW4ge1xuICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuc2VjdGlvbi0tbGlzdGluZy1tYXJxdWUgLmhlcm9fX3RpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA3ZW07XG4gIH1cbiAgLnNlY3Rpb24tLWxpc3RpbmctbWFycXVlIC5oZXJvX190aXRsZS1jb250YWluZXItLWJldHdlZW4ge1xuICAgIG1hcmdpbi10b3A6IDdlbTtcbiAgfVxufVxuXG4uc2VjdGlvbi0tcHJlc2VudGF0aW9uIC50aXRsZS1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZWN0aW9uLS1wcmVzZW50YXRpb24gLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICB9XG59XG4iXX0= */
