@charset "UTF-8";
/*
Theme Name: bourron
Theme URI: http://underscores.me/
Author: Thomas Florentin
Author URI: http://thomasflorentin.net
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bourron
Tags:

 */
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* 
 * Default settings for config.
 * 
 * @package sasskit
 *
 *
 * You can set up some variables here.
 * All the rest has to be done in files of '0_config' folder
 *
 */
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
@import "https://fonts.googleapis.com/css?family=Josefin+Sans:300,400,700";
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8+, and Opera
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* 
 * Mixins
 * 
 * @package sasskit
 *
 * from here : http://web-design-weekly.com/2013/05/12/handy-sass-mixins/
 * from bootstrap
 * from Inuit.scss
 * forme https://github.com/ry5n/rem
 *
 */
/**
 * Courtesy of @integralist: twitter.com/integralist/status/260484115315437569
 */
/* 
 * Placeholders & utility classes
 * 
 * @package sasskit
 */
/* 
 * Layout
 */
.is-on-left {
  float: left !important; }

.is-on-right {
  float: right !important; }

.has-no-float {
  float: none !important;
  clear: none !important; }

.has-no-clear {
  clear: none !important; }

.is-hidden {
  display: none; }

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.is-fixed {
  width: 100%;
  left: 0;
  position: fixed;
  top: 0;
  z-index: 99; }

.is-bordered {
  border: 1px solid #000; }

.is-clearfixed,
.clearfix {
  clear: both; }
  .is-clearfixed:before, .is-clearfixed:after,
  .clearfix:before,
  .clearfix:after {
    content: " ";
    display: table; }
  .is-clearfixed:after,
  .clearfix:after {
    display: block;
    clear: both;
    height: 1px;
    margin-top: -1px;
    visibility: hidden; }
  .is-clearfixed,
  .clearfix {
    *zoom: 1; }

.is-centered {
  float: none !important;
  margin-right: auto !important;
  margin-left: auto !important; }

.half {
  width: 50%;
  float: left; }

/* 
 * Javascript
 */
/* 
 * Text
 */
.text-on-left {
  text-align: left !important; }

.text-on-right {
  text-align: right !important; }

.text-on-center {
  text-align: center !important; }

.text-justify {
  text-align: justify !important; }

/* 
 * Lists
 */
ul.no-bullets {
  list-style: none;
  margin-top: 0;
  margin-left: 0;
  padding-left: 0; }

/**
 * px to em conversion
 * @link http://www.pjmccormick.com/sweet-sass-function-convert-px-em
 * @requires {variable} $base-font-size
 * @param {number} $target - size to convert
 * @param {number} $context ($base-font-size) - context conversion is based on
 * @example scss
 * .foobar { padding-bottom: em(30); }
 * @returns {number}
 */
/**
 * px to rem
 * @link http://www.pjmccormick.com/sweet-sass-function-convert-px-em
 * @requires {variable} $base-font-size
 * @param {number} $target - size to convert
 * @param {number} $context ($base-font-size) - context conversion is based on
 * @example scss
 * .foobar { padding-bottom: rem(30); }
 * @returns {number}
 */
/**
 * em to px conversion
 * @link http://www.pjmccormick.com/sweet-sass-function-convert-px-em
 * @requires {variable} $base-font-size
 * @param {number} $target - size to convert
 * @param {number} $context ($base-font-size) - context conversion is based on
 * @example scss
 * .foobar { padding-bottom: px(30); }
 * @returns {number}
 */
/**
 * Aspect Ratio
 * @param {number} $ratio-numerator - ratio numerator
 * @param {number} $ratio-denominator - ratio denominator
 * @example scss
 * .foobar { padding-bottom: aspect-ratio(16,9); } // @returns 56.25%
 * @returns {number}
 */
/**
 * Aspect Ratio
 * Based on Fixed Image Dimensions
 * @param {number} $w - image width
 * @param {number} $h - image height
 * @example scss
 * .foobar { padding: 0 0 aspect-ratio-fixed(1080, 720); } // @returns 66.666666666667%
 * @returns {number}
 */
/**
 * Context Calculator
 * @param {number} $target
 * @param {number} $context
 * @example scss
 * .foobar { padding-bottom: context-calc(30,15); }
 * @returns {number}
 */
/**
 * Strip Unit Values
 * @link http://hugogiraudel.com/2013/08/12/sass-functions
 * @param {string} $num
 * @example scss
 * .foobar { padding-bottom: strip-unit(30px); }
 * @returns {number}
 */
/* 
 * Grid system
 * 
 * @package sasskit
 */
/* 
 * GRID VARIABLES SETTING
 */
.plain {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  display: block;
  width: 100%;
  margin: auto; }

.wrap {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  width: 1024px;
  margin: auto; }
  @media (max-width: 1024px) {
    .wrap {
      width: 100%;
      padding: 0 1em; } }
  @media (min-width: 1400px) {
    .wrap {
      width: 1200px; } }
  .wrap.site-header {
    padding: 0; }

/* 
 * DON'T TOUCHE THIS !
 */
.row {
  clear: both; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    display: block;
    clear: both;
    height: 1px;
    margin-top: -1px;
    visibility: hidden; }
  .row {
    *zoom: 1; }

/* 
 * GRID GENERATOR
 */
@media (min-width: 320px) {
  .row .s-1col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 20%;
    float: left;
    margin-left: 0; }
    .row .s-1col .row .s-1col {
      margin-left: 0;
      width: 100%; }
    .row .s-1col .row .s-0col {
      margin-left: 0;
      width: 0%; }
  .row .s-1col-push {
    left: 20%;
    position: relative;
    right: auto; }
  .row .s-1col-pull {
    right: 20%;
    position: relative;
    left: auto; }
  .row .s-2col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 40%;
    float: left;
    margin-left: 0; }
    .row .s-2col .row .s-1col {
      margin-left: 0;
      width: 50%; }
  .row .s-2col-push {
    left: 40%;
    position: relative;
    right: auto; }
  .row .s-2col-pull {
    right: 40%;
    position: relative;
    left: auto; }
  .row .s-3col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 60%;
    float: left;
    margin-left: 0; }
    .row .s-3col .row .s-1col {
      margin-left: 0;
      width: 33.33333%; }
    .row .s-3col .row .s-2col {
      margin-left: 0;
      width: 66.66667%; }
  .row .s-3col-push {
    left: 60%;
    position: relative;
    right: auto; }
  .row .s-3col-pull {
    right: 60%;
    position: relative;
    left: auto; }
  .row .s-4col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 80%;
    float: left;
    margin-left: 0; }
    .row .s-4col .row .s-1col {
      margin-left: 0;
      width: 25%; }
    .row .s-4col .row .s-2col {
      margin-left: 0;
      width: 50%; }
    .row .s-4col .row .s-3col {
      margin-left: 0;
      width: 75%; }
  .row .s-4col-push {
    left: 80%;
    position: relative;
    right: auto; }
  .row .s-4col-pull {
    right: 80%;
    position: relative;
    left: auto; }
  .row .s-5col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0; }
    .row .s-5col .row .s-1col {
      margin-left: 0;
      width: 20%; }
    .row .s-5col .row .s-2col {
      margin-left: 0;
      width: 40%; }
    .row .s-5col .row .s-3col {
      margin-left: 0;
      width: 60%; }
    .row .s-5col .row .s-4col {
      margin-left: 0;
      width: 80%; }
  .row .s-5col-push {
    left: 100%;
    position: relative;
    right: auto; }
  .row .s-5col-pull {
    right: 100%;
    position: relative;
    left: auto; }
  .row .s-hide {
    display: none; }
  .row .s-show {
    display: block; }
  .row .s-first {
    margin-left: 0 !important; }
  .row .s-last {
    float: right !important; } }
@media (min-width: 760px) {
  .row .m-1col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 20%;
    float: left;
    margin-left: 0; }
    .row .m-1col .row .m-1col {
      margin-left: 0;
      width: 100%; }
    .row .m-1col .row .m-0col {
      margin-left: 0;
      width: 0%; }
  .row .m-1col-push {
    left: 20%;
    position: relative;
    right: auto; }
  .row .m-1col-pull {
    right: 20%;
    position: relative;
    left: auto; }
  .row .m-2col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 40%;
    float: left;
    margin-left: 0; }
    .row .m-2col .row .m-1col {
      margin-left: 0;
      width: 50%; }
  .row .m-2col-push {
    left: 40%;
    position: relative;
    right: auto; }
  .row .m-2col-pull {
    right: 40%;
    position: relative;
    left: auto; }
  .row .m-3col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 60%;
    float: left;
    margin-left: 0; }
    .row .m-3col .row .m-1col {
      margin-left: 0;
      width: 33.33333%; }
    .row .m-3col .row .m-2col {
      margin-left: 0;
      width: 66.66667%; }
  .row .m-3col-push {
    left: 60%;
    position: relative;
    right: auto; }
  .row .m-3col-pull {
    right: 60%;
    position: relative;
    left: auto; }
  .row .m-4col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 80%;
    float: left;
    margin-left: 0; }
    .row .m-4col .row .m-1col {
      margin-left: 0;
      width: 25%; }
    .row .m-4col .row .m-2col {
      margin-left: 0;
      width: 50%; }
    .row .m-4col .row .m-3col {
      margin-left: 0;
      width: 75%; }
  .row .m-4col-push {
    left: 80%;
    position: relative;
    right: auto; }
  .row .m-4col-pull {
    right: 80%;
    position: relative;
    left: auto; }
  .row .m-5col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0; }
    .row .m-5col .row .m-1col {
      margin-left: 0;
      width: 20%; }
    .row .m-5col .row .m-2col {
      margin-left: 0;
      width: 40%; }
    .row .m-5col .row .m-3col {
      margin-left: 0;
      width: 60%; }
    .row .m-5col .row .m-4col {
      margin-left: 0;
      width: 80%; }
  .row .m-5col-push {
    left: 100%;
    position: relative;
    right: auto; }
  .row .m-5col-pull {
    right: 100%;
    position: relative;
    left: auto; }
  .row .m-hide {
    display: none; }
  .row .m-show {
    display: block; }
  .row .m-first {
    margin-left: 0 !important; }
  .row .m-last {
    float: right !important; } }
@media (min-width: 1024px) {
  .row .l-1col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 20%;
    float: left;
    margin-left: 0; }
    .row .l-1col .row .l-1col {
      margin-left: 0;
      width: 100%; }
    .row .l-1col .row .l-0col {
      margin-left: 0;
      width: 0%; }
  .row .l-1col-push {
    left: 20%;
    position: relative;
    right: auto; }
  .row .l-1col-pull {
    right: 20%;
    position: relative;
    left: auto; }
  .row .l-2col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 40%;
    float: left;
    margin-left: 0; }
    .row .l-2col .row .l-1col {
      margin-left: 0;
      width: 50%; }
  .row .l-2col-push {
    left: 40%;
    position: relative;
    right: auto; }
  .row .l-2col-pull {
    right: 40%;
    position: relative;
    left: auto; }
  .row .l-3col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 60%;
    float: left;
    margin-left: 0; }
    .row .l-3col .row .l-1col {
      margin-left: 0;
      width: 33.33333%; }
    .row .l-3col .row .l-2col {
      margin-left: 0;
      width: 66.66667%; }
  .row .l-3col-push {
    left: 60%;
    position: relative;
    right: auto; }
  .row .l-3col-pull {
    right: 60%;
    position: relative;
    left: auto; }
  .row .l-4col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 80%;
    float: left;
    margin-left: 0; }
    .row .l-4col .row .l-1col {
      margin-left: 0;
      width: 25%; }
    .row .l-4col .row .l-2col {
      margin-left: 0;
      width: 50%; }
    .row .l-4col .row .l-3col {
      margin-left: 0;
      width: 75%; }
  .row .l-4col-push {
    left: 80%;
    position: relative;
    right: auto; }
  .row .l-4col-pull {
    right: 80%;
    position: relative;
    left: auto; }
  .row .l-5col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0; }
    .row .l-5col .row .l-1col {
      margin-left: 0;
      width: 20%; }
    .row .l-5col .row .l-2col {
      margin-left: 0;
      width: 40%; }
    .row .l-5col .row .l-3col {
      margin-left: 0;
      width: 60%; }
    .row .l-5col .row .l-4col {
      margin-left: 0;
      width: 80%; }
  .row .l-5col-push {
    left: 100%;
    position: relative;
    right: auto; }
  .row .l-5col-pull {
    right: 100%;
    position: relative;
    left: auto; }
  .row .l-hide {
    display: none; }
  .row .l-show {
    display: block; }
  .row .l-first {
    margin-left: 0 !important; }
  .row .l-last {
    float: right !important; } }
@media (min-width: 1400px) {
  .row .w-1col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 20%;
    float: left;
    margin-left: 0; }
    .row .w-1col .row .w-1col {
      margin-left: 0;
      width: 100%; }
    .row .w-1col .row .w-0col {
      margin-left: 0;
      width: 0%; }
  .row .w-1col-push {
    left: 20%;
    position: relative;
    right: auto; }
  .row .w-1col-pull {
    right: 20%;
    position: relative;
    left: auto; }
  .row .w-2col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 40%;
    float: left;
    margin-left: 0; }
    .row .w-2col .row .w-1col {
      margin-left: 0;
      width: 50%; }
  .row .w-2col-push {
    left: 40%;
    position: relative;
    right: auto; }
  .row .w-2col-pull {
    right: 40%;
    position: relative;
    left: auto; }
  .row .w-3col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 60%;
    float: left;
    margin-left: 0; }
    .row .w-3col .row .w-1col {
      margin-left: 0;
      width: 33.33333%; }
    .row .w-3col .row .w-2col {
      margin-left: 0;
      width: 66.66667%; }
  .row .w-3col-push {
    left: 60%;
    position: relative;
    right: auto; }
  .row .w-3col-pull {
    right: 60%;
    position: relative;
    left: auto; }
  .row .w-4col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 80%;
    float: left;
    margin-left: 0; }
    .row .w-4col .row .w-1col {
      margin-left: 0;
      width: 25%; }
    .row .w-4col .row .w-2col {
      margin-left: 0;
      width: 50%; }
    .row .w-4col .row .w-3col {
      margin-left: 0;
      width: 75%; }
  .row .w-4col-push {
    left: 80%;
    position: relative;
    right: auto; }
  .row .w-4col-pull {
    right: 80%;
    position: relative;
    left: auto; }
  .row .w-5col {
    /* Acceptable values are border, content, and padding - content is the default W3C model */
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0; }
    .row .w-5col .row .w-1col {
      margin-left: 0;
      width: 20%; }
    .row .w-5col .row .w-2col {
      margin-left: 0;
      width: 40%; }
    .row .w-5col .row .w-3col {
      margin-left: 0;
      width: 60%; }
    .row .w-5col .row .w-4col {
      margin-left: 0;
      width: 80%; }
  .row .w-5col-push {
    left: 100%;
    position: relative;
    right: auto; }
  .row .w-5col-pull {
    right: 100%;
    position: relative;
    left: auto; }
  .row .w-hide {
    display: none; }
  .row .w-show {
    display: block; }
  .row .w-first {
    margin-left: 0 !important; }
  .row .w-last {
    float: right !important; } }
/* 
 * Colors
 * 
 * @package sasskit
 */
/* 
 * Print styles
 * 
 * @package sasskit
 */
.print-only {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }

  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group;
    /* h5bp.com/t */ }

  tr,
  img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; }

  .hide-on-print {
    display: none !important; }

  .print-only {
    display: block !important; }

  .hide-for-print {
    display: none !important; }

  .show-for-print {
    display: inherit !important; } }
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
/*
 * Typography
 *
 * @package sasskit
 */
@font-face {
  font-family: 'elkwood';
  src: url("assets/fonts/elkwood/elkwood-webfont.woff2") format("woff2"), url("assets/fonts/elkwood/elkwood-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
/*
 * TYPOGRAPHY VARIABLES SETTINGS
 */
/*
 * Imports typo parts
 */
body,
button,
input,
select,
textarea {
  color: #1a171b; }

p {
  margin: 0 0 24px 0; }

blockquote {
  margin: 0 24px;
  font-size: 2rem;
  line-height: 24px; }

b, strong {
  font-weight: bold; }

dfn, cite, em, i {
  font-style: italic; }

address {
  margin: 0 0 24px; }

pre {
  background: #eee;
  font-family: Menlo, Consolas, monospace;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em; }

code, kbd, tt, var {
  font: 15px Menlo, Consolas, monospace; }

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help; }

mark, ins {
  background: #fff9c0;
  text-decoration: none; }

sup,
sub {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

small {
  font-size: 75%; }

big {
  font-size: 125%; }

.meta {
  font-size: 1.4rem;
  line-height: 16px;
  margin-bottom: 0;
  color: #9c9e9f; }

.meta-big {
  font-size: 2.5rem;
  line-height: 24px;
  margin-bottom: 16px;
  color: #9c9e9f; }

.agenda-msg {
  font-size: 1.4rem;
  line-height: 16px; }
  .agenda-msg a {
    font-weight: 700; }

h1,
h2,
h3,
h4,
h5,
h6  {
  margin: 0;
  padding: 0; }

h3 {
  font-size: 1.7rem;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 8px; }

.h1 {
  font-size: 3.5rem;
  line-height: 24px;
  font-weight: 400;
  display: inline-block; }

.h2, .entry-content h2 {
  font-family: "elkwood", Arial, Helvetica, sans-serif;
  text-transform: lowercase;
  font-size: 2.5rem;
  line-height: 24px;
  color: #1a171b;
  font-weight: 400;
  letter-spacing: 0.05em; }

.h3, .entry-content h3 {
  font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 2.3rem;
  line-height: 24px;
  letter-spacing: 0.05em;
  color: #9c9e9f; }

.h4, .entry-content h4, .entry-content h5 {
  font-size: 1.7rem;
  line-height: 24px;
  color: #1a171b;
  font-weight: 700; }

h5,
.h5 {
  font-size: 1.7rem;
  line-height: 24px;
  color: #1a171b;
  font-weight: 400;
  margin-bottom: 8px; }

.entry-content h2 {
  margin-bottom: 24px;
  margin-top: 36px; }
.entry-content h3 {
  margin-bottom: 24px; }
.entry-content h4 {
  margin-bottom: 16px; }
.entry-content strong {
  color: #4a474b; }
.entry-content li > strong {
  color: inherit; }

.entry-title {
  background-color: #ffdd00;
  color: #00428f;
  padding: 0.5em 1em 0.2em 1em;
  font-family: "elkwood", Arial, Helvetica, sans-serif;
  text-transform: lowercase;
  letter-spacing: 0.1em;
  margin-bottom: 48px;
  min-width: 35%;
  display: inline-block;
  text-align: left; }

.root-title {
  font-size: 2.1rem;
  line-height: 24px; }

.level1-title {
  font-size: 2.5rem;
  line-height: 24px; }

/*
 * FOR RESPONSIVE FONT SIZE. 
 * Adjust as you need.
 */
body {
  font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
  font-size: 1.7rem;
  line-height: 24px; }

@media (max-width: 760px) {
  html {
    font-size: 57.5%; } }
@media (min-width: 760px) {
  html {
    font-size: 60%; } }
@media (min-width: 1024px) {
  html {
    font-size: 62.5%; } }
@media (min-width: 1400px) {
  html {
    font-size: 67.5%; } }

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
/* 
 * Sprite
 * 
 * @package sasskit
 */
/* 
 * Lists
 * 
 * @package sasskit
 */
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em; }

ul, ol {
  margin: 0px 0px 0.5em 0em; }

ul {
  list-style: disc; }

li {
  list-style-position: inside; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

figure {
  margin: 0; }

.no-bullet {
  margin: 0;
  padding: 0;
  list-style: none; }

.ul-arrowed li, .footer-menu li, .rebonds-list li, .post-navigation .nav-links > div {
  font-size: 1.7rem;
  line-height: 24px;
  font-style: italic;
  background-image: url("assets/img/BM_puce_fleche.png");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
  margin-bottom: 8px; }

.ul-arrowed, .footer-menu, .rebonds-list {
  padding-left: 0;
  margin-bottom: 24px;
  list-style: none;
  line-height: 1; }

/* 
 * Tables
 * 
 * @package sasskit
 */
table {
  margin: 0 0 1.5em;
  width: 100%; }

th {
  font-weight: bold; }

td {
  padding: 10px 5px; }

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
/* 
 * Forms
 * 
 * @package sasskit
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* Corrects font size not being inherited in all browsers */
  margin: 0;
  /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
  vertical-align: baseline;
  /* Improves appearance and consistency in all browsers */
  *vertical-align: middle;
  /* Improves appearance and consistency in all browsers */ }

button::-moz-focus-inner,
input::-moz-focus-inner {
  /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
  border: 0;
  padding: 0; }

.search-form-bar {
  width: 500px; }
  .search-form-bar input[type="search"] {
    width: 73%;
    float: left; }
  .search-form-bar input[type="submit"] {
    width: 25%;
    float: right; }
  @media (max-width: 760px) {
    .search-form-bar {
      width: 400px; } }

#mc-embedded-subscribe-form input[type="email"] {
  width: 73%;
  float: left; }
#mc-embedded-subscribe-form input[type="submit"] {
  width: 25%;
  float: right; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  height: 36px; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
select {
  font-size: 1.7rem;
  line-height: 24px;
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  line-height: 36px;
  height: 36px;
  color: 900;
  border: 1px solid #9c9e9f;
  border-radius: 0;
  background-color: #fff;
  padding: 0 5px;
  width: 100%; }

textarea {
  font-size: 1.7rem;
  line-height: 24px;
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  padding: 5px;
  border: 1px solid #9c9e9f;
  background-color: #fff;
  overflow: auto;
  /* Removes default vertical scrollbar in IE6/7/8/9 */
  vertical-align: top;
  /* Improves readability and alignment in all browsers */
  width: 100%; }

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
  /* Addresses excess padding in IE8/9 */ }

input[type="search"]::-webkit-search-decoration {
  /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
  -webkit-appearance: none; }

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/* 
 * Navigation
 * 
 * @package sasskit
 */
/* 
 * Links
 * 
 * @package sasskit
 */
/*
 * Simple links
 */
a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all, 0.2s;
  -moz-transition: all, 0.2s;
  -o-transition: all, 0.2s;
  transition: all, 0.2s; }

a:hover,
a:focus,
a:active {
  color: #64c2cc;
  cursor: pointer; }

p a {
  border-bottom: 1px dotted #0aa459; }

/*
 * Buttons
 */
.btn-outer {
  text-align: center; }

.btn-primary_blue, .btn-primary_light, .btn-primary_light_white, a[href*=".pdf"] {
  font-family: "elkwood", Arial, Helvetica, sans-serif;
  text-transform: lowercase;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  line-height: 18px; }

.btn-primary_blue {
  font-size: 2.1rem;
  line-height: 24px;
  padding: 1px 8px;
  background-color: #00428f;
  color: #87cee0; }

.btn-primary_light {
  font-size: 1.7rem;
  line-height: 24px;
  padding: 1px 10px 0 10px;
  background-color: #0aa459;
  color: #ffdd00; }

.btn-primary_light_white, a[href*=".pdf"] {
  font-size: 1.7rem;
  line-height: 24px;
  font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
  padding: 3px 10px 0 10px;
  background-color: #0aa459;
  color: #fff;
  margin-bottom: 16px; }

.btn-inline_green, .btn-inline_blue {
  font-size: 2rem;
  line-height: 24px;
  display: inline-block;
  padding: 3px 12px 0 12px;
  font-weight: 200;
  font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif; }

.btn-inline_green {
  background-color: #0aa459;
  border: 1px solid #0aa459;
  color: #fff; }
  .btn-inline_green:hover {
    background: #fff;
    color: #0aa459; }

.btn-inline_blue {
  background-color: #00428f;
  border: 1px solid #00428f;
  color: #fff; }
  .btn-inline_blue:hover {
    background: #fff;
    color: #00428f; }

.btn-facebook {
  display: inline-block;
  background-image: url("assets/img/BM_facebook.png");
  background-position: center center;
  background-repeat: no-repeat;
  width: 25px;
  height: 32px; }

/*
 * Links by target / file...
 */
a[href*=".pdf"] {
  font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
  padding-right: 30px;
  background-image: url("assets/img/BM_puce_telechargement2.png");
  background-position: center right 5px;
  background-repeat: no-repeat;
  text-transform: none; }

.main-navigation {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  clear: both;
  display: block;
  float: left;
  width: 100%;
  background-color: #00428f; }

.main-navigation ul {
  display: table;
  list-style: none;
  margin: 0;
  padding: 3px 0;
  width: 100%;
  table-layout: fixed;
  text-align: center; }
  @media (max-width: 760px) {
    .main-navigation ul {
      padding: 2em 0 16em 0; } }

.main-navigation li {
  display: table-cell;
  float: none;
  position: relative;
  vertical-align: middle; }
  .main-navigation li .pages-navigation {
    display: none;
    font-family: "elkwood", Arial, Helvetica, sans-serif;
    text-transform: lowercase;
    padding: 0 1em;
    margin-bottom: 24px; }
    .main-navigation li .pages-navigation .pages-menu {
      padding: 0 0 1em 0;
      border-bottom: 1px dotted #aaa;
      /* Acceptable values are border, content, and padding - content is the default W3C model */
      box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box; }
    .main-navigation li .pages-navigation .pages-menu-item {
      font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
      color: #fff;
      font-size: 2.2rem;
      font-weight: 700; }
      .main-navigation li .pages-navigation .pages-menu-item.active {
        color: #ffdd00; }
    .main-navigation li .pages-navigation .subpages {
      padding: 0;
      text-align: center; }
    .main-navigation li .pages-navigation .pages-menu-subitem {
      color: #fff;
      font-family: "Josefin Sans", sans-serif, Arial, Helvetica, sans-serif;
      display: inline;
      margin-right: 48px; }
      .main-navigation li .pages-navigation .pages-menu-subitem a {
        font-family: inherit; }
      .main-navigation li .pages-navigation .pages-menu-subitem.active {
        color: #ffdd00; }
  @media (max-width: 760px) {
    .main-navigation li {
      display: block;
      padding: 1em 0; }
      .main-navigation li .pages-navigation {
        display: block; } }

.main-navigation .menu-item > a {
  font-size: 2rem;
  line-height: 24px;
  color: #fff;
  font-family: "elkwood", Arial, Helvetica, sans-serif;
  text-transform: lowercase; }
  .main-navigation .menu-item > a:hover {
    color: #ffdd00; }
  @media (max-width: 760px) {
    .main-navigation .menu-item > a {
      font-size: 3.2rem; } }

.main-navigation .current-page-item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current-page-ancestor > a {
  color: #ffdd00; }

.current-page-ancestor .sub-menu,
.current-menu-ancestor .sub-menu {
  display: block; }

.pages-navigation {
  padding-right: 16px;
  margin-bottom: 48px; }
  @media (max-width: 760px) {
    .pages-navigation:not(.page-level-0) {
      display: none; } }

.pages-menu {
  margin-bottom: 16px; }
  @media (max-width: 760px) {
    .pages-menu {
      clear: both; } }

.pages-menu-item {
  font-size: 1.7rem;
  line-height: 24px;
  color: #4a474b; }
  .pages-menu-item:before {
    display: inline-block;
    content: '>';
    width: 10px; }
  .pages-menu-item.active {
    color: #64c2cc; }
  @media (max-width: 760px) {
    .pages-menu-item {
      font-size: 2rem;
      margin-bottom: 8px; } }

.pages-menu-subitem {
  font-size: 1.4rem;
  line-height: 16px;
  color: #9c9e9f;
  padding-left: 15px; }
  .pages-menu-subitem.active {
    color: #64c2cc; }
  @media (max-width: 760px) {
    .pages-menu-subitem {
      display: inline-block;
      float: left;
      margin-bottom: 8px;
      font-size: 1.8rem; } }

.events-menu-item {
  margin-bottom: 16px; }

.footer-menu li {
  font-size: 1.4rem;
  line-height: 16px;
  font-style: normal; }

.mobile-menu {
  display: inline-block;
  padding: 0 2em;
  float: left;
  margin-bottom: 16px; }
  .mobile-menu .site-title {
    float: left;
    padding-top: 48px;
    padding-bottom: 24px; }
  .mobile-menu .btn-trigger {
    float: left; }
  @media (min-width: 760px) {
    .mobile-menu {
      display: none; } }

#close-menu {
  width: 100%;
  padding: 1em 0;
  text-align: center; }
  @media (min-width: 760px) {
    #close-menu {
      display: none; } }

.pagination {
  margin-top: 22px;
  font-family: Arial, Helvetica, sans-serif; }
  @media (max-width: 760px) {
    .pagination {
      font-size: 14px;
      font-size: get_rem(14) rem; } }

.previous-posts-link, .next-posts-link {
  height: 44px;
  line-height: 44px;
  width: 50%; }

.previous-posts-link {
  float: left; }
  .previous-posts-link .arrow-thin-left {
    float: left;
    margin-right: 11px; }
  .previous-posts-link .posts-link-text {
    float: left; }

.next-posts-link {
  float: right; }
  .next-posts-link .arrow-thin-right {
    float: right;
    margin-left: 11px; }
  .next-posts-link .posts-link-text {
    float: right; }

.post-navigation {
  border-top: 1px dotted #9c9e9f;
  padding-top: 16px;
  margin-bottom: 72px; }
  .post-navigation .screen-reader-text {
    font-size: 1.7rem;
    line-height: 24px;
    margin-bottom: 8px; }
  .post-navigation .nav-links {
    font-size: 1.7rem;
    line-height: 24px; }
    .post-navigation .nav-links a {
      border-bottom: 1px dotted #0aa459;
      color: #b1b3b4;
      font-style: italic; }
    .post-navigation .nav-links span {
      color: #9c9e9f; }

.rebonds {
  border-top: 1px dotted #9c9e9f;
  padding-top: 16px;
  margin-bottom: 48px;
  margin-top: 48px; }
  .rebonds h4 {
    margin-bottom: 8px; }

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
/* 
 * Medias
 * 
 * @package sasskit
 */
img {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  display: block;
  max-width: 100%;
  height: auto; }

.bg-img_pano, .bg-img_full {
  background-position: center center;
  background-size: cover; }

.bg-img_pano {
  height: 475px; }

figure {
  margin-bottom: 48px; }
  figure.alignleft {
    margin-right: 24px;
    float: left; }
  figure.aligright {
    margin-left: 24px;
    float: right; }

/**
 * BxSlider v4.1.2 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2014
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */
/** RESET AND LAYOUT
===================================*/
.slideshow-wrapper {
  margin-bottom: 24px; }

.bx-wrapper {
  position: relative;
  margin: 0 auto 60px;
  padding: 0;
  *zoom: 1;
  height: 400px !important; }

.bx-wrapper img {
  max-width: 100%;
  display: block;
  max-height: 370px !important;
  margin: auto; }

/** THEME
===================================*/
.bx-wrapper .bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
  -moz-transform: translatez(0);
  -ms-transform: translatez(0);
  -o-transform: translatez(0);
  transform: translatez(0); }

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%; }

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(images/bx_loader.gif) center center no-repeat #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000; }

/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px; }

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline; }

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #000; }

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 10px;
  background: url(assets/img/BM_fleche_gauche.png) no-repeat 0 0; }

.bx-wrapper .bx-next {
  right: 10px;
  background: url(assets/img/BM_fleche_droite.png) no-repeat 0 0; }

.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 23px;
  height: 23px;
  text-indent: -9999px;
  z-index: 9999; }

.bx-wrapper .bx-controls-direction a.disabled {
  display: none; }

/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center; }

.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url(images/controls.png) -86px -11px no-repeat;
  margin: 0 3px; }

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
  background-position: -86px 0; }

.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url(images/controls.png) -86px -44px no-repeat;
  margin: 0 3px; }

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
  background-position: -86px -33px; }

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%; }

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px; }

/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666 \9;
  background: rgba(80, 80, 80, 0.75);
  width: 100%; }

.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px; }

.orbit-caption {
  color: #b1b3b4;
  font-weight: 200; }

.wp-caption-text {
  font-size: 1.4rem;
  line-height: 16px;
  color: #9c9e9f; }

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
/* 
 * Set up general & particulars modules : headers, contents, footers
 * 
 * @package sasskit
 *
 */
/* 
 * Header
 * 
 * @package sasskit
 */
.site-header {
  position: relative;
  margin-bottom: -1px; }

@media (max-width: 760px) {
  .site-nav {
    z-index: 99;
    display: none;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: #fff;
    width: 100%; } }

.info-banner {
  font-size: 1.4rem;
  line-height: 16px;
  background-color: #d6ecee;
  color: #00428f;
  text-align: center;
  line-height: 32px; }
  @media (max-width: 760px) {
    .info-banner {
      padding: 1em; } }

.site-title {
  font-size: 4.9rem;
  line-height: 24px;
  display: inline-block;
  font-family: "elkwood", Arial, Helvetica, sans-serif;
  text-transform: lowercase;
  color: #00428f;
  padding: 64px 0;
  margin: 0; }
  .site-title a {
    border: none; }
  @media (min-width: 1024px) {
    .site-title {
      padding: 77px 0; } }

.site-branding {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .site-branding img {
    max-width: 175px; }
  .site-branding .btn-inline_green {
    margin: 55px 0; }
    @media (min-width: 1024px) {
      .site-branding .btn-inline_green {
        margin: 73px 0; } }
  @media (max-width: 760px) {
    .site-branding {
      display: none; } }

/* 
 * Footer
 * 
 * @package sasskit
 */
.site-footer {
  margin-top: 72px;
  padding: 24px 0;
  min-height: 200px;
  background-color: #00428f;
  color: #fff; }

.site-info {
  font-size: 1.4rem;
  line-height: 16px;
  line-height: 20px; }
  .site-info > div {
    padding: 0 16px;
    border-right: 1px solid #fff; }
    .site-info > div > p:first-child {
      font-weight: 700; }
    .site-info > div:last-child {
      border: none; }
    @media (max-width: 760px) {
      .site-info > div {
        margin-bottom: 24px;
        border: none; } }
  .site-info p {
    margin: 0; }
  .site-info .btn-inline_green {
    margin-top: 8px; }

/* 
 * Sidebar
 * 
 * @package bm
 */
/* 
 * Search module
 * 
 * @package bm
 */
.hp-header .search-outer {
  position: absolute;
  bottom: 16px; }
  @media (max-width: 760px) {
    .hp-header .search-outer {
      padding: 0 1em; } }

@media (max-width: 1024px) {
  .search-results-outer {
    padding: 0 1em; } }

.search-container {
  position: relative;
  margin-top: 24px;
  margin-bottom: 48px;
  background-color: #0aa459;
  color: #fff;
  padding: 24px; }
  .search-container span {
    font-size: 1.4rem;
    line-height: 16px;
    font-style: italic; }

.search-title {
  color: inherit;
  margin-bottom: 24px; }

#loading-msg {
  display: none; }

.hp-header + .search-results-outer .search-container {
  margin-top: -72px; }

/* 
 * Shortcuts module
 * 
 * @package bm
 */
.shortcut-item {
  float: left;
  margin-right: 8px;
  margin-bottom: 8px; }

.rebond-item a {
  color: #9c9e9f;
  border-bottom: 1px dotted #0aa459; }

/* 
 * Bulletin module
 * 
 * @package bm
 */
.bulletin-item {
  float: left; }

/* 
 * Newsletter module
 * 
 * @package bm
 */
/* 
 * Lists module
 * 
 * @package sasskit
 *
 */
.list-group {
  margin-bottom: 48px; }
  .list-group .list-group-name {
    margin-bottom: 16px; }
  .list-group .list-sousgroup-name {
    margin-bottom: 8px; }

.list-sousgroup {
  margin-bottom: 24px; }

.list-element {
  margin-bottom: 8px; }
  .list-element.no-group {
    margin-bottom: 24px; }

.element-name {
  width: 50%;
  display: inline-block;
  position: relative;
  color: #9c9e9f; }
  .element-name.grouped {
    padding-left: 20px;
    padding-right: 20px;
    background-image: url("assets/img/BM_puce_fleche.png");
    background-position: left center;
    background-repeat: no-repeat; }
  .element-name:after {
    content: ' + ';
    font-size: 2.5rem;
    line-height: 24px;
    display: inline-block;
    float: right;
    color: #0aa459;
    font-weight: 700;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 20px; }
  .element-name:hover {
    color: #0aa459; }
  @media (max-width: 1024px) {
    .element-name {
      width: 90%; } }

.element-informations {
  display: none;
  max-width: 75%;
  margin-top: 8px;
  border-bottom: 1px dotted !important;
  margin-bottom: 48px; }
  .element-informations.grouped {
    padding-left: 20px; }
  .element-informations h5 {
    background-image: url("assets/img/BM_puce_fleche.png");
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 20px;
    line-height: 1; }
  @media (max-width: 760px) {
    .element-informations {
      max-width: 100%; } }

.list-element.open .element-name:after {
  content: ' - '; }
.list-element.open .element-informations {
  display: block; }

.results-list {
  padding: 0;
  list-style: none; }

.results-number {
  margin-bottom: 8px; }

.result-item {
  background-image: url("assets/img/BM_puce_fleche_blanche.png");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 20px;
  line-height: 1;
  margin-bottom: 8px; }

.close-search {
  display: inline-block;
  margin-top: 24px;
  font-size: 1.4rem;
  line-height: 16px;
  font-style: italic; }

/* 
 * Elus module
 * 
 * @package bm
 */
@media (max-width: 760px) {
  .elus-content {
    padding: 0 1em; } }

.elu-item {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  padding-right: 24px;
  margin-bottom: 24px; }
  .elu-item:nth-child(4n+1) {
    clear: both; }
  @media (max-width: 1024px) {
    .elu-item {
      width: 50%;
      float: left; }
      .elu-item:nth-child(2n+1) {
        clear: both; } }

.elu-portrait {
  margin-bottom: 16px; 
  width: 100%;
  max-width: 220px;
  height: 275px;
  object-fit: cover; }

.maire {
  margin-bottom: 72px; }

.liste-adjoints {
  margin-bottom: 24px; }

.liste-conseillers {
  margin-bottom: 48px; }

.module-title {
  margin-bottom: 24px; }

.module-container {
  background-color: #00428f;
  padding: 16px 24px 0 16px;
  margin-bottom: 48px;
  min-height: 150px; }
  .module-container .h2, .module-container .entry-content h2, .entry-content .module-container h2 {
    background: none;
    color: #fff;
    padding: 0; }

.events-list {
  margin-bottom: 48px; }
  .events-list .title-outer {
    margin-bottom: 16px; }
  .events-list .btn-outer {
    margin-top: 48px; }
  .events-list .l-2col:nth-child(even) {
    clear: both; }

.event-item-media,
.post-item-media.half {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  width: 50%;
  float: left;
  padding: 0px 20px; }

.posts-list.archives .post-item:nth-child(odd) {
  clear: both; }

.post-item .post-item-excerpt {
  font-size: 1.4rem;
  line-height: 16px; }
  .post-item .post-item-excerpt span {
    color: #b1b3b4;
    font-style: italic; }
    .post-item .post-item-excerpt span:hover {
      color: inherit; }

/*--------------------------------------------------------------
# Templates
--------------------------------------------------------------*/
/* 
 * Set up specific templates : home, single...
 * 
 * @package sasskit
 *
 */
/* 
 * templates/home
 * 
 * @package sasskit
 */
.hp-header {
  /* Acceptable values are border, content, and padding - content is the default W3C model */
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  position: relative;
  margin-bottom: 48px;
  padding: 48px 0 24px 0; }
  .hp-header .entry-title {
    margin-bottom: 8px; }
  .hp-header > .wrap {
    position: relative;
    height: 100%; }

@media (max-width: 1024px) {
  .hp-content {
    padding: 0 1em; }
    .hp-content .btn-outer {
      clear: both; }
    .hp-content > div {
      margin-bottom: 96px;
      padding-right: 1em; } }

/* 
 * templates/single
 * 
 * @package sasskit
 */
.entry-header {
  margin-top: 48px; }

.entry-media-cover {
  margin-top: -138px;
  height: 425px;
  background-position: center center;
  background-size: cover; }
  @media (max-width: 760px) {
    .entry-media-cover {
      display: none; } }

.entry-content {
  margin-bottom: 48px; }
  .entry-content p:first-child {
    font-size: 2.3rem;
    line-height: 24px;
    line-height: 30px;
    color: #9c9e9f;
    font-weight: 400;
    margin-bottom: 36px; }
  .entry-content ul:not(.bxslider) {
    padding-left: 25px;
    margin-bottom: 24px;
    list-style: none;
    list-style-image: url("assets/img/BM_puce_fleche.png");
    margin-top: -16px; }
    .entry-content ul:not(.bxslider) li {
      list-style-position: outside;
      margin-bottom: 8px; }
  .entry-content ol {
    counter-reset: my-badass-counter;
    list-style-type: none;
    padding: 0;
    margin-bottom: 24px; }
    .entry-content ol li {
      padding-left: 15px;
      position: relative;
      margin-bottom: 8px; }
      .entry-content ol li:before {
        content: counter(my-badass-counter);
        counter-increment: my-badass-counter;
        position: absolute;
        left: 0;
        top: 0;
        color: #0aa459;
        font-weight: 700; }
  .entry-content img {
    margin-bottom: 16px; }

.posts-menu-title {
  display: inline-block;
  margin-bottom: 8px; }

.posts-menu-item {
  font-size: 1.4rem;
  line-height: 16px;
  color: #b1b3b4;
  padding-left: 15px;
  margin-bottom: 8px; }
  .posts-menu-item.active {
    color: #1a171b; }

/* 
 * templates/home
 * 
 * @package sasskit
 */
.archive-title {
  margin-bottom: 24px; }

.posts-list .post-item, .events-list .event-item {
  margin-bottom: 24px; }
  @media (max-width: 760px) {
    .posts-list .post-item, .events-list .event-item {
      float: left;
      clear: both; } }

.item-bar {
  width: 24px;
  height: 3px;
  background-color: #0aa459;
  margin-bottom: 16px; }

.posts-list {
  margin-bottom: 48px; }
  .posts-list .post-item {
    padding-right: 8px; }

.post-item-media {
  margin: 16px 0; }

/*--------------------------------------------------------------
# Shame
--------------------------------------------------------------*/



/*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUNsQixJQUFJLEVBQUUsQ0FBQztRQUNQLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSyxFckI3RGdCLE9BQWM7UXFCOERuQyxXQUFXLEU1QjBCRyxHQUFHO0U0QnJCdkIsa0JBQUk7SUFDRixhQUFhLEU1QnBEZSxJQUFJOztBNEI0RGxDLGlCQUFrQjtFQUNoQixPQUFPLEVBQUUsWUFBWTtFQUNyQixhQUFhLEVBQUUsR0FBbUI7O0FBR3BDLGdCQUFpQjtFNUIzQmpCLFNBQVMsRUFqQ0wsTUFBTTtFQWtDVixXQUFXLEVBdkNtQixJQUFJO0U0Qm1FaEMsS0FBSyxFdEJ6RTJCLE9BQVc7RXNCMEUzQyxZQUFZLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsR0FBbUI7RUFFbEMsdUJBQVM7SUFDUCxLQUFLLEVuQjdFeUIsT0FBWTs7QW9CYmhEOzs7O0dBSUc7QUFJSCxjQUFlO0VBQ2IsYUFBYSxFN0JVaUIsSUFBSTs7QTZCSnBDLGdEQUFNO0VBQ0osYUFBYSxFN0JHaUIsSUFBSTtFTjhCaEMseUJBQXVDO0ltQ2xDM0MsZ0RBQU07TUFJRixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxJQUFJOztBQUlmLFNBQVU7RUFDUixLQUFLLEU3Qk55QixJQUFJO0U2Qk9sQyxNQUFNLEVBQUUsR0FBRztFQUNYLGdCQUFnQixFdEJ6QlcsT0FBYztFc0IwQnpDLGFBQWEsRTdCVmlCLElBQUk7O0E2QmFwQyxXQUFZO0VBRVYsYUFBYSxFQUFFLElBQXFCO0VBTXBDLHNCQUFXO0lBRVQsYUFBYSxFQUFFLEdBQXFCOztBQUt0QyxnQkFBaUI7RUFDZixNQUFNLEVBQUUsTUFBaUI7O0F2Q1c3Qjs7Z0VBRWdFIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiY29uZmlnL19jb25maWcuc2NzcyIsImNvbmZpZy9fbm9ybWFsaXplLnNjc3MiLCJ0eXBvZ3JhcGh5L19mb250cy5zY3NzIiwiY29uZmlnL19taXhpbnMuc2NzcyIsImNvbmZpZy9fY2xhc3Nlcy5zY3NzIiwiY29uZmlnL19mdW5jdGlvbnMuc2NzcyIsImNvbmZpZy9fZ3JpZC5zY3NzIiwiY29uZmlnL19jb2xvcnMuc2NzcyIsImNvbmZpZy9fcHJpbnQuc2NzcyIsInR5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2NzcyIsInR5cG9ncmFwaHkvX2NvcHkuc2NzcyIsInR5cG9ncmFwaHkvX2hlYWRpbmcuc2NzcyIsImVsZW1lbnRzL19zcHJpdGUuc2NzcyIsImVsZW1lbnRzL19saXN0cy5zY3NzIiwiZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiZm9ybXMvX2Zvcm1zLnNjc3MiLCJmb3Jtcy9fYnV0dG9ucy5zY3NzIiwiZm9ybXMvX2ZpZWxkcy5zY3NzIiwibmF2aWdhdGlvbi9fbmF2aWdhdGlvbi5zY3NzIiwibmF2aWdhdGlvbi9fbGlua3Muc2NzcyIsIm5hdmlnYXRpb24vX21lbnUuc2NzcyIsIm5hdmlnYXRpb24vX3BhZ2luYXRpb24uc2NzcyIsIm1lZGlhL19tZWRpYS5zY3NzIiwibWVkaWEvX2dhbGxlcnkuc2NzcyIsIm1lZGlhL19jYXB0aW9uLnNjc3MiLCJtb2R1bGVzL19tb2R1bGVzLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fc2lkZWJhci5zY3NzIiwibW9kdWxlcy9fc2VhcmNoLnNjc3MiLCJtb2R1bGVzL19zaG9ydGN1dHMuc2NzcyIsIm1vZHVsZXMvX2J1bGxldGluLnNjc3MiLCJtb2R1bGVzL19uZXdzbGV0dGVyLnNjc3MiLCJtb2R1bGVzL19saXN0cy5zY3NzIiwibW9kdWxlcy9fZWx1cy5zY3NzIiwidGVtcGxhdGVzL190ZW1wbGF0ZXMuc2NzcyIsInRlbXBsYXRlcy9faG9tZS5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUuc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZXMuc2NzcyJdLCJuYW1lcyI6W10sImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuVGhlbWUgTmFtZTogYm91cnJvblxuVGhlbWUgVVJJOiBodHRwOi8vdW5kZXJzY29yZXMubWUvXG5BdXRob3I6IFRob21hcyBGbG9yZW50aW5cbkF1dGhvciBVUkk6IGh0dHA6Ly90aG9tYXNmbG9yZW50aW4ubmV0XG5EZXNjcmlwdGlvbjogRGVzY3JpcHRpb25cblZlcnNpb246IDEuMC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcblRleHQgRG9tYWluOiBib3Vycm9uXG5UYWdzOlxuXG4gKi9cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBOb3JtYWxpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJjb25maWcvY29uZmlnXCI7XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwidHlwb2dyYXBoeS90eXBvZ3JhcGh5XCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJlbGVtZW50cy9lbGVtZW50c1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiZm9ybXMvZm9ybXNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBOYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibmF2aWdhdGlvbi9uYXZpZ2F0aW9uXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWVkaWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJtZWRpYS9tZWRpYVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm1vZHVsZXMvbW9kdWxlc1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFRlbXBsYXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInRlbXBsYXRlcy90ZW1wbGF0ZXNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBTaGFtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInNoYW1lXCI7XG5cblxuXG5cblxuIiwiLyogXG4gKiBEZWZhdWx0IHNldHRpbmdzIGZvciBjb25maWcuXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqXG4gKlxuICogWW91IGNhbiBzZXQgdXAgc29tZSB2YXJpYWJsZXMgaGVyZS5cbiAqIEFsbCB0aGUgcmVzdCBoYXMgdG8gYmUgZG9uZSBpbiBmaWxlcyBvZiAnMF9jb25maWcnIGZvbGRlclxuICpcbiAqL1xuXG5cblxuQGltcG9ydCBcIm5vcm1hbGl6ZSBcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcImNsYXNzZXNcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuQGltcG9ydCBcInByaW50XCI7XG5cblxuXG5cblxuXG5cblxuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4KywgYW5kIE9wZXJhXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkRk9OVC1GQUNFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZWxrd29vZCc7XG4gICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9lbGt3b29kL2Vsa3dvb2Qtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Vsa3dvb2QvZWxrd29vZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG4gQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUpvc2VmaW4rU2FuczozMDAsNDAwLDcwMCc7XG4iLCIvKiBcbiAqIE1peGluc1xuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKlxuICogZnJvbSBoZXJlIDogaHR0cDovL3dlYi1kZXNpZ24td2Vla2x5LmNvbS8yMDEzLzA1LzEyL2hhbmR5LXNhc3MtbWl4aW5zL1xuICogZnJvbSBib290c3RyYXBcbiAqIGZyb20gSW51aXQuc2Nzc1xuICogZm9ybWUgaHR0cHM6Ly9naXRodWIuY29tL3J5NW4vcmVtXG4gKlxuICovXG5cblxuLy8gQUREUyBBIEJST1dTRVIgUFJFRklYIFRPIFRIRSBQUk9QRVJUWVxuQG1peGluIGNzczMtcHJlZml4KCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIC13ZWJraXQtI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAta2h0bWwtI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgIC1tb3otI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAtbXMtI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgLW8tI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG59XG5cblxuXG4vLyBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG5AbWl4aW4gYXQtbGVhc3QoJHBvaW50KSB7XG4gIEBpZiAkcG9pbnQgPT0gd2lkZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWRlX2JyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2Uge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2VfYnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRwb2ludCA9PSBtZWRpdW0ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtX2JyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbWluaW1hbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW5pbWFsX2JyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfSAgXG59XG5cbkBtaXhpbiB1cC10bygkcG9pbnQpIHtcbiAgQGlmICRwb2ludCA9PSB3aWRlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZGVfYnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZV9icmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvaW50ID09IG1lZGl1bSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW1fYnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG59XG5cblxuLy8gQm94LXNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJHR5cGU6IFwiYm9yZGVyXCIpIHtcbiAgLyogQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJvcmRlciwgY29udGVudCwgYW5kIHBhZGRpbmcgLSBjb250ZW50IGlzIHRoZSBkZWZhdWx0IFczQyBtb2RlbCAqLyBcbiAgYm94LXNpemluZzogI3skdHlwZX0tYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6ICN7JHR5cGV9LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiAjeyR0eXBlfS1ib3g7XG59XG5cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgY2xlYXI6IGJvdGg7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6IFwiIFwiOyBcbiAgICBkaXNwbGF5OiB0YWJsZTsgXG4gIH1cbiAgJjphZnRlcntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAme1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cblxuQG1peGluIHdvcmQtd3JhcCgpIHtcbiAgd29yZC1icmVhazogICAgICBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tb3otaHlwaGVuczogICAgYXV0bztcbiAgaHlwaGVuczogICAgICAgICBhdXRvO1xufVxuXG5AbWl4aW4gZWxsaXBzaXMoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5cblxuLy8gQWJzb2x1dGUgcG9zaXRpb25lZFxuQG1peGluIGFicy1wb3MgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcbiAgdG9wOiAkdG9wO1xuICByaWdodDogJHJpZ2h0O1xuICBib3R0b206ICRib3R0b207XG4gIGxlZnQ6ICRsZWZ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLy8gQWJvc2x1dGUgQ2VudGVyaW5nXG5AbWl4aW4gYWJzLWNlbnRlcmVkICgpIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHJpZ2h0OiAwO1xufVxuXG4vLyBjZW50ZXJlZCBpbiB2aWV3cG9ydFxuQG1peGluIGFicy1jZW50ZXJlZC1maXhlZCAoKSB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDtcbiAgei1pbmRleDogOTk5O1xufVxuXG5AbWl4aW4gYWJzLWNlbnRlcmVkLXJlc3BvbnNpdmUgKCkge1xuICB3aWR0aDogNjAlOyBcbiAgaGVpZ2h0OiA2MCU7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHJpZ2h0OiAwO1xufVxuXG5cblxuXG4vLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTsgLy9JRThcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgLW8tdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuQG1peGluIHNjYWxlKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2l0dGVyL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2l0dGVyL2Jvb3RzdHJhcC9pc3N1ZXMvNTMxOVxufVxuQG1peGluIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuXG5cbi8vIEJvcmRlciByYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgnYm9yZGVyLXJhZGl1cycsICRyYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyAgLyogc3RvcHMgYmcgY29sb3IgZnJvbSBsZWFraW5nIG91dHNpZGUgdGhlIGJvcmRlcjogKi9cbn1cblxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xufVxuXG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcblxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJHBsYWNlaG9sZGVyVGV4dCkge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICBjb2xvcjogJGNvbG9yOyAgXG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgIGNvbG9yOiAkY29sb3I7ICBcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgIFxuICAgICBjb2xvcjogJGNvbG9yOyAgXG4gIH1cbn1cblxuXG4vLyBTaGFkb3cgbWl4aW4gKGh0dHA6Ly9jb2RlcGVuLmlvL2h1Z28vcGVuL3h6akdCKVxuXG5AbWl4aW4gc2hhZGUoJHR5cGUsICRjb2xvcjogIzM0OThkYiwgJGRlcHRoOiAyMCwgJGFuZ2xlOiAxMzVkZWcsICRsb25nOiBmYWxzZSwgJGZhZGU6IGZhbHNlKSB7ICAgICAgICAgICAgIFxuICAkYW5nbGU6ICgkYW5nbGUgLSA5MCk7ICAgICAgICAgICAgIFxuICAkeDogMS41ICogY29zKCRhbmdsZSkgKyAwcHg7ICBcbiAgJHk6IDEuNSAqIHNpbigkYW5nbGUpICsgMHB4OyAgXG4gICRkYXJrZW46IChsaWdodG5lc3MoJGNvbG9yKS8kZGVwdGgpLzI7XG4gICRvcGFjaWZ5OiAwOyBcbiAgJHNoYWRvdzogKCk7ICBcbiAgICAgICAgICAgIFxuICBAaWYgJGxvbmcgPT0gdHJ1ZXsgICAgICAgICAgICAgIFxuICAgICRkYXJrZW46MDtcbiAgfSAgXG4gICAgICAgICAgICBcbiAgQGlmICRmYWRlID09IHRydWUge1xuICAgICRvcGFjaWZ5OiAob3BhY2l0eSgkY29sb3IpLyRkZXB0aCkgO1xuICAgIC8vIGFkZGVkIHRoaXMgZm9yIHJlbmRlcmluZyBpbiBzb21lIGJyb3dzZXJzLCByZW1vdmUgaWYgeW91IGxpa2UuXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWigwKTsgLy8gcmVxdWlyZXMgQ29tcGFzc1xuICB9XG4gICAgICAgICAgICBcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGVwdGgge1xuICAgICRzaGFkb3c6ICRzaGFkb3csICRpKiR4ICRpKiR5IDAgaHNsYShodWUoJGNvbG9yKSAsIHNhdHVyYXRpb24oJGNvbG9yKSwgKGxpZ2h0bmVzcygkY29sb3IpIC0gKCRpICogJGRhcmtlbikpLCAxIC0gKCRpICogJG9wYWNpZnkpKTsgICAgIFxuICB9ICAgICAgIFxuICAjeyR0eXBlfS1zaGFkb3c6ICRzaGFkb3c7XG59XG5cblxuLy8gV2Via2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcbiAgLy8gV2Via2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblxuLy8gSUU3IGlubGluZS1ibG9ja1xuQG1peGluIGllNy1pbmxpbmUtYmxvY2soKSB7XG4gICpkaXNwbGF5OiBpbmxpbmU7IC8qIElFNyBpbmxpbmUtYmxvY2sgaGFjayAqL1xuICAqem9vbTogMTtcbn1cblxuXG4vLyBSZXRpbmEgSW1hZ2VzIG1peGluXG5AbWl4aW4gaW1hZ2UtMngoJGltYWdlLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgICAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgICAgIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgLyogb24gcmV0aW5hLCB1c2UgaW1hZ2UgdGhhdCdzIHNjYWxlZCBieSAyICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQ6ICRzdGFydC1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG4gXG4vKipcbiAqIENvdXJ0ZXN5IG9mIEBpbnRlZ3JhbGlzdDogdHdpdHRlci5jb20vaW50ZWdyYWxpc3Qvc3RhdHVzLzI2MDQ4NDExNTMxNTQzNzU2OVxuICovXG5AbWl4aW4ga2V5ZnJhbWUgKCRhbmltYXRpb24tbmFtZSl7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tb3ota2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tcy1rZXlmcmFtZXMgJGFuaW1hdGlvbi1uYW1le1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBALW8ta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4iLCIvKiBcbiAqIFBsYWNlaG9sZGVycyAmIHV0aWxpdHkgY2xhc3Nlc1xuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuIFxuXG5cbi8qIFxuICogTGF5b3V0XG4gKi9cblxuLmlzLW9uLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5pcy1vbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5oYXMtbm8tZmxvYXQge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5oYXMtbm8tY2xlYXIge1xuICBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gXG4uaXMtZml4ZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OyB9XG5cbi5pcy1ib3JkZXJlZCB7IFxuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uaXMtY2xlYXJmaXhlZCxcbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uaXMtY2VudGVyZWQge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuXG4uaGFsZiB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBcbiAqIEphdmFzY3JpcHRcbiAqL1xuXG5cblxuLyogXG4gKiBUZXh0XG4gKi9cblxuLnRleHQtb24tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1vbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtb24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG5cblxuLyogXG4gKiBMaXN0c1xuICovXG5cbnVsLm5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5cbi8vIG1ha2Ugc3VyZSBjb250YWluZXIgaXMgW3Bvc2l0aW9uOiByZWxhdGl2ZV1cbi8vIGh0dHA6Ly9jb2RlcGVuLmlvL3Noc2hhdy9mdWxsL2dFaUR0XG4lYWJzb2x1dGUtY2VudGVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHJpZ2h0OiAwO1xufVxuXG5cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbnJlYWRlcnM6IGg1YnAuY29tL3ZcbiV2aXN1YWxseWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuXG4gIC8vIEV4dGVuZHMgdGhlIC52aXN1YWxseWhpZGRlbiBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2FibGVcbiAgLy8gd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDogaDVicC5jb20vcFxuXG4gICYuZm9jdXNhYmxlOmFjdGl2ZSxcbiAgJi5mb2N1c2FibGU6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVucmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuXG4laW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIHB4IHRvIGVtIGNvbnZlcnNpb25cbiAqIEBsaW5rIGh0dHA6Ly93d3cucGptY2Nvcm1pY2suY29tL3N3ZWV0LXNhc3MtZnVuY3Rpb24tY29udmVydC1weC1lbVxuICogQHJlcXVpcmVzIHt2YXJpYWJsZX0gJGJhc2UtZm9udC1zaXplXG4gKiBAcGFyYW0ge251bWJlcn0gJHRhcmdldCAtIHNpemUgdG8gY29udmVydFxuICogQHBhcmFtIHtudW1iZXJ9ICRjb250ZXh0ICgkYmFzZS1mb250LXNpemUpIC0gY29udGV4dCBjb252ZXJzaW9uIGlzIGJhc2VkIG9uXG4gKiBAZXhhbXBsZSBzY3NzXG4gKiAuZm9vYmFyIHsgcGFkZGluZy1ib3R0b206IGVtKDMwKTsgfVxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuXG5AZnVuY3Rpb24gZW0oJHRhcmdldCwgJGNvbnRleHQ6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAgQGlmICR0YXJnZXQgPT0gMCB7IEByZXR1cm4gMCB9XG4gICBAcmV0dXJuICR0YXJnZXQgLyAkY29udGV4dCArIDBlbTtcbn1cblxuLyoqXG4gKiBweCB0byByZW1cbiAqIEBsaW5rIGh0dHA6Ly93d3cucGptY2Nvcm1pY2suY29tL3N3ZWV0LXNhc3MtZnVuY3Rpb24tY29udmVydC1weC1lbVxuICogQHJlcXVpcmVzIHt2YXJpYWJsZX0gJGJhc2UtZm9udC1zaXplXG4gKiBAcGFyYW0ge251bWJlcn0gJHRhcmdldCAtIHNpemUgdG8gY29udmVydFxuICogQHBhcmFtIHtudW1iZXJ9ICRjb250ZXh0ICgkYmFzZS1mb250LXNpemUpIC0gY29udGV4dCBjb252ZXJzaW9uIGlzIGJhc2VkIG9uXG4gKiBAZXhhbXBsZSBzY3NzXG4gKiAuZm9vYmFyIHsgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7IH1cbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cblxuQGZ1bmN0aW9uIHJlbSgkdGFyZ2V0LCAkY29udGV4dDogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiAkdGFyZ2V0ID09IDAgeyBAcmV0dXJuIDAgfVxuICBAcmV0dXJuICR0YXJnZXQgLyAkY29udGV4dCArIDByZW07XG59XG5cbi8qKlxuICogZW0gdG8gcHggY29udmVyc2lvblxuICogQGxpbmsgaHR0cDovL3d3dy5wam1jY29ybWljay5jb20vc3dlZXQtc2Fzcy1mdW5jdGlvbi1jb252ZXJ0LXB4LWVtXG4gKiBAcmVxdWlyZXMge3ZhcmlhYmxlfSAkYmFzZS1mb250LXNpemVcbiAqIEBwYXJhbSB7bnVtYmVyfSAkdGFyZ2V0IC0gc2l6ZSB0byBjb252ZXJ0XG4gKiBAcGFyYW0ge251bWJlcn0gJGNvbnRleHQgKCRiYXNlLWZvbnQtc2l6ZSkgLSBjb250ZXh0IGNvbnZlcnNpb24gaXMgYmFzZWQgb25cbiAqIEBleGFtcGxlIHNjc3NcbiAqIC5mb29iYXIgeyBwYWRkaW5nLWJvdHRvbTogcHgoMzApOyB9XG4gKiBAcmV0dXJucyB7bnVtYmVyfVxuICovXG5cbkBmdW5jdGlvbiBweCgkdGFyZ2V0LCAkY29udGV4dDogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiAkdGFyZ2V0ID09IDAgeyBAcmV0dXJuIDAgfVxuICBAcmV0dXJuICR0YXJnZXQgKiAkY29udGV4dCArIDBweDtcbn1cblxuLyoqXG4gKiBBc3BlY3QgUmF0aW9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkcmF0aW8tbnVtZXJhdG9yIC0gcmF0aW8gbnVtZXJhdG9yXG4gKiBAcGFyYW0ge251bWJlcn0gJHJhdGlvLWRlbm9taW5hdG9yIC0gcmF0aW8gZGVub21pbmF0b3JcbiAqIEBleGFtcGxlIHNjc3NcbiAqIC5mb29iYXIgeyBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDE2LDkpOyB9IC8vIEByZXR1cm5zIDU2LjI1JVxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuXG5AZnVuY3Rpb24gYXNwZWN0LXJhdGlvKCRyYXRpby1udW1lcmF0b3IsICRyYXRpby1kZW5vbWluYXRvcikge1xuICBAcmV0dXJuICgoJHJhdGlvLWRlbm9taW5hdG9yIC8gJHJhdGlvLW51bWVyYXRvcikgKiAxMDAlKTtcbn1cblxuLyoqXG4gKiBBc3BlY3QgUmF0aW9cbiAqIEJhc2VkIG9uIEZpeGVkIEltYWdlIERpbWVuc2lvbnNcbiAqIEBwYXJhbSB7bnVtYmVyfSAkdyAtIGltYWdlIHdpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gJGggLSBpbWFnZSBoZWlnaHRcbiAqIEBleGFtcGxlIHNjc3NcbiAqIC5mb29iYXIgeyBwYWRkaW5nOiAwIDAgYXNwZWN0LXJhdGlvLWZpeGVkKDEwODAsIDcyMCk7IH0gLy8gQHJldHVybnMgNjYuNjY2NjY2NjY2NjY3JVxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuXG5AZnVuY3Rpb24gYXNwZWN0LXJhdGlvLWZpeGVkKCR3LCAkaCkge1xuICBAcmV0dXJuICgkaCAvICR3KSAqIDEwMCU7XG59XG5cbi8qKlxuICogQ29udGV4dCBDYWxjdWxhdG9yXG4gKiBAcGFyYW0ge251bWJlcn0gJHRhcmdldFxuICogQHBhcmFtIHtudW1iZXJ9ICRjb250ZXh0XG4gKiBAZXhhbXBsZSBzY3NzXG4gKiAuZm9vYmFyIHsgcGFkZGluZy1ib3R0b206IGNvbnRleHQtY2FsYygzMCwxNSk7IH1cbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cblxuQGZ1bmN0aW9uIGNvbnRleHQtY2FsYygkdGFyZ2V0LCAkY29udGV4dCkge1xuICBAcmV0dXJuICgkdGFyZ2V0IC8gJGNvbnRleHQpICogMTAwJTtcbn1cblxuXG4vKipcbiAqIFN0cmlwIFVuaXQgVmFsdWVzXG4gKiBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDEzLzA4LzEyL3Nhc3MtZnVuY3Rpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gJG51bVxuICogQGV4YW1wbGUgc2Nzc1xuICogLmZvb2JhciB7IHBhZGRpbmctYm90dG9tOiBzdHJpcC11bml0KDMwcHgpOyB9XG4gKiBAcmV0dXJucyB7bnVtYmVyfVxuICovXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cbiIsIi8qIFxuICogR3JpZCBzeXN0ZW1cbiAqIFxuICogQHBhY2thZ2Ugc2Fzc2tpdFxuICovXG5cblxuXG4vKiBcbiAqIEdSSUQgVkFSSUFCTEVTIFNFVFRJTkdcbiAqLyBcblxuJG1heF93aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTAyNHB4O1xuJG1heF93aWR0aF9sYXJnZTogICAgICAgICAgICAgICAgICAgMTIwMHB4O1xuJGNvbHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSAhZGVmYXVsdDsgXG4kZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0OyBcbiAgICAgICAgXG4kbW9iaWxlX2ZpcnN0OiAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyBcbiRtaW5pbWFsX2JyZWFrcG9pbnQ6ICAgICAgICAgICAgICAgIDMyMHB4ICFkZWZhdWx0OyBcbiRtZWRpdW1fYnJlYWtwb2ludDogICAgICAgICAgICAgICAgIDc2MHB4ICFkZWZhdWx0OyBcbiRsYXJnZV9icmVha3BvaW50OiAgICAgICAgICAgICAgICAgIDEwMjRweCAhZGVmYXVsdDsgXG4kd2lkZV9icmVha3BvaW50OiAgICAgICAgICAgICAgICAgICAxNDAwcHggIWRlZmF1bHQ7IFxuXG5cbi5wbGFpbiB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi53cmFwIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgd2lkdGg6ICRtYXhfd2lkdGg7XG4gIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIHVwLXRvKGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBhdC1sZWFzdCh3aWRlKSB7XG4gICAgICAgIHdpZHRoOiAkbWF4X3dpZHRoX2xhcmdlO1xuICAgIH1cblxuICAgICYuc2l0ZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuXG4vKiBcbiAqIERPTidUIFRPVUNIRSBUSElTICFcbiAqL1xuXG4kb25lX2NvbDogKDEwMCUgLSAoJGd1dHRlciAqICgkY29scyAtIDEpKSkgLyAkY29scztcblxuQG1peGluIGNvbHMoJG51bSkge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoKTtcbiAgICB3aWR0aDogKCRvbmVfY29sICogJG51bSkgKyAoJGd1dHRlciAqICgkbnVtIC0gMSkpO1xufVxuXG5AbWl4aW4gc3ViX2NvbHMoJG51bV9jaGlsZCwgJG51bV9wYXJlbnQpIHtcbiAgICAkcGFyZW50X3NpemU6ICgkb25lX2NvbCAqICRudW1fcGFyZW50KSArICgkZ3V0dGVyICogKCRudW1fcGFyZW50IC0gMSkpO1xuICAgICRjaGlsZF9zaXplOiAoJG9uZV9jb2wgKiAkbnVtX2NoaWxkKSArICgkZ3V0dGVyICogKCRudW1fY2hpbGQgLSAxKSk7XG4gICAgbWFyZ2luLWxlZnQ6ICgkZ3V0dGVyIC8gJHBhcmVudF9zaXplKSAqIDEwMCU7XG4gICAgd2lkdGg6ICgkY2hpbGRfc2l6ZSAvICRwYXJlbnRfc2l6ZSkgKiAxMDAlO1xufVxuXG5AbWl4aW4gcGFyc2UtY29sdW1ucygkc3VmZml4OiAnJyl7XG4gICAgLnJvdyB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHMge1xuICAgICAgICAgICAgJSN7JHN1ZmZpeH0tI3skaX1jb2wsXG4gICAgICAgICAgICAuI3skc3VmZml4fS0jeyRpfWNvbHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xzKCRpKTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGd1dHRlcjtcblxuICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICBAZm9yICRqIGZyb20gMSB0aHJvdWdoICgkaSAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICUjeyRzdWZmaXh9LSN7JGp9Y29sLFxuICAgICAgICAgICAgICAgICAgICAgICAgLiN7JHN1ZmZpeH0tI3skan1jb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1Yl9jb2xzKCRqLCAkaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAlI3skc3VmZml4fS0jeyRpfWNvbC1wdXNoLCAuI3skc3VmZml4fS0jeyRpfWNvbC1wdXNoIHsgbGVmdDogJGkgLyAkY29scyAqIDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAgICUjeyRzdWZmaXh9LSN7JGl9Y29sLXB1bGwsIC4jeyRzdWZmaXh9LSN7JGl9Y29sLXB1bGwgeyByaWdodDogJGkgLyAkY29scyAqIDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogYXV0bzsgfVxuICAgICAgICB9XG4gICAgICAgICUjeyRzdWZmaXh9LWhpZGUsIC4jeyRzdWZmaXh9LWhpZGUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICUjeyRzdWZmaXh9LXNob3csIC4jeyRzdWZmaXh9LXNob3cgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAlI3skc3VmZml4fS1maXJzdCwgLiN7JHN1ZmZpeH0tZmlyc3QgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICUjeyRzdWZmaXh9LWxhc3QsIC4jeyRzdWZmaXh9LWxhc3QgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIH1cbn1cblxuLnJvdyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICA+IDpmaXJzdC1jaGlsZCwgXG4gICAgLnJvdyA+IDpmaXJzdC1jaGlsZCB7IFxuXG4gICAgfVxufVxuXG5cblxuLyogXG4gKiBHUklEIEdFTkVSQVRPUlxuICovXG5cbkBpZiAkbW9iaWxlX2ZpcnN0IHtcbiAgICBAaW5jbHVkZSBhdC1sZWFzdChtaW5pbWFsKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhcnNlLWNvbHVtbnMoJ3MnKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYXQtbGVhc3QobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhcnNlLWNvbHVtbnMoJ20nKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYXQtbGVhc3QobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFyc2UtY29sdW1ucygnbCcpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBhdC1sZWFzdCh3aWRlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhcnNlLWNvbHVtbnMoJ3cnKTtcbiAgICB9XG59XG5AZWxzZSB7XG4gICAgQGluY2x1ZGUgcGFyc2UtY29sdW1ucygndycpO1xuXG4gICAgQGluY2x1ZGUgdXAtdG8od2lkZSkge1xuICAgICAgICBAaW5jbHVkZSBwYXJzZS1jb2x1bW5zKCdsJyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHVwLXRvKGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhcnNlLWNvbHVtbnMoJ20nKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgdXAtdG8obWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhcnNlLWNvbHVtbnMoJ3MnKTtcbiAgICB9XG59XG4iLCIvKiBcbiAqIENvbG9yc1xuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuXG5cbi8vIENvbG9yIFNjaGVtZVxuLy8gZXhhbXBsZXMgYmFzZWQgb24gdGhlIG9mZmljaWFsIFNhc3Mgc3R5bGVndWlkZVxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIERlc2NyaXB0aXZlIGNvbG9yc1xuJGdyZWVuICAgICAgICAgICAgICAgICAgICAgICAgOiAjMGFhNDU5O1xuJGdyZWVuX2xpZ2h0ICAgICAgICAgICAgICAgICAgOiAjNjRjMmNjO1xuJGJsdWUgICAgICAgICAgICAgICAgICAgICAgICAgOiAjMDA0MjhmO1xuJGJsdWVfbGlnaHQgICAgICAgICAgICAgICAgICAgOiAjODdjZWUwO1xuJGJsdWVfbGlnaHRlciAgICAgICAgICAgICAgICAgOiAjZDZlY2VlO1xuJHllbGxvdyAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZkZDAwO1xuJHllbGxvd19kYXJrICAgICAgICAgICAgICAgICAgOiAjZmVjYzAwO1xuXG5cbi8vIEdyZXkgbnVhbmNlc1xuJGJsYWNrICAgICAgICAgICAgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJGdyYXlfZGFya2VyICAgICAgICAgICAgICAgICAgOiAjMWExNzFiICFkZWZhdWx0O1xuJGdyYXlfZGFyayAgICAgICAgICAgICAgICAgICAgOiAjNGE0NzRiICFkZWZhdWx0O1xuJGdyYXkgICAgICAgICAgICAgICAgICAgICAgICAgOiAjOWM5ZTlmICFkZWZhdWx0O1xuJGdyYXlfbGlnaHQgICAgICAgICAgICAgICAgICAgOiAjYjFiM2I0ICFkZWZhdWx0O1xuJHdoaXRlICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuXG4vLyBNYWluIGNvbG9yIHBhbGV0dGVcbiRjb2xvcl9wcmltYXJ5ICAgICAgICAgICAgICAgIDogJGdyZWVuO1xuJGNvbG9yX3ByaW1hcnlfYWx0ICAgICAgICAgICAgOiAkZ3JlZW5fbGlnaHQ7XG4kY29sb3Jfc2Vjb25kYXJ5ICAgICAgICAgICAgICA6ICRibHVlO1xuJGNvbG9yX3NlY29uZGFyeV9hbHQgICAgICAgICAgOiAkYmx1ZV9saWdodDtcbiRjb2xvcl9zZWNvbmRhcnlfYWx0X2FsdCAgICAgICAgICA6ICRibHVlX2xpZ2h0ZXI7XG4kY29sb3JfdGVydGlhcnkgICAgICAgICAgICAgICA6ICR5ZWxsb3c7XG4kY29sb3JfdGVydGlhcnlfYWx0ICAgICAgICAgICA6ICR5ZWxsb3dfZGFyaztcblxuXG4vLyBDb21tb24gY29sb3JzXG4kY29sb3JfYmFja2dyb3VuZCAgICAgICAgICAgICA6ICR3aGl0ZTtcbiRjb2xvcl90ZXh0ICAgICAgICAgICAgICAgICAgIDogJGdyYXlfZGFya2VyO1xuXG5cbi8vIExpbmtzXG4kY29sb3JfbGluayAgICAgICAgICAgICAgICAgICA6ICRjb2xvcl9wcmltYXJ5O1xuJGNvbG9yX2xpbmtfaG92ZXIgICAgICAgICAgICAgOiAkY29sb3JfcHJpbWFyeV9hbHQ7XG4kY29sb3JfbGlua192aXNpdGVkICAgICAgICAgICA6ICRjb2xvcl9wcmltYXJ5X2FsdDtcblxuXG4vLyBDb2RlXG4kY29sb3JfY29kZSAgICAgICAgICAgICAgICAgICA6ICMzMzM7XG4kY29sb3JfY29kZV9iYWNrZ3JvdW5kICAgICAgICA6ICNmM2YzZjM7XG4kY29sb3JfcHJlICAgICAgICAgICAgICAgICAgICA6ICNkNGQ0ZDQ7XG4kY29sb3JfcHJlX2JhY2tncm91bmQgICAgICAgICA6ICMzMzM7XG5cbi8vIFNlbGVjdGlvbnNcbiRjb2xvcl9zZWxlY3Rpb24gICAgICAgICAgICAgIDogI2IzZDRmYztcblxuLy8gTWVzc2FnZXNcbiRjb2xvcl9tZXNzYWdlICAgICAgICAgICAgICAgIDogI2Y0ZWNiYjtcbiRjb2xvcl9zdWNjZXNzICAgICAgICAgICAgICAgIDogIzJjZGUyYztcbiRjb2xvcl93YXJuaW5nICAgICAgICAgICAgICAgIDogI2NmODYwMDtcbiRjb2xvcl9pbXBvcnRhbnQgICAgICAgICAgICAgIDogI2QwMDtcbiRjb2xvcl9ub3RpY2UgICAgICAgICAgICAgICAgIDogIzY2YjtcblxuXG5cblxuIiwiLyogXG4gKiBQcmludCBzdHlsZXNcbiAqIFxuICogQHBhY2thZ2Ugc2Fzc2tpdFxuICovXG5cblxuXG4ucHJpbnQtb25seSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIC8qIGg1YnAuY29tL3QgKi8gfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgLmhpZGUtb24tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC5wcmludC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfSB9IiwiLypcbiAqIFR5cG9ncmFwaHlcbiAqXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuXG5cblxuQGltcG9ydCBcImZvbnRzXCI7XG5cblxuXG4vLyBCYXNlIFNpemVzXG4vLyA9PT09PT09PT09XG5cbiRiYXNlX2ZvbnRfc2l6ZSAgICAgICAgICAgICAgIDogMTZweCAhZGVmYXVsdDtcblxuJGJhc2VfbGluZV9oYWxmICAgICAgICAgICAgICAgOiAxNnB4O1xuJGJhc2VfbGluZV9oZWlnaHQgICAgICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuXG5cbiR0eXBlLXNjYWxlOiAoXG4gIC0xOiAxLjRyZW0sXG4gIDA6IDEuN3JlbSwgLy8gcGFyYWdyYXBoZXNcbiAgMTogMnJlbSwgLy8gbWVudSBpdGVtc1xuICAyOiAyLjFyZW0sIC8vIGgzLCBcbiAgMzogMi4zcmVtLCAvLyBoMSwgaDJcbiAgNDogMi41cmVtLCAvLyBoMSwgaDJcbiAgNTogMi44cmVtLCAvLyBoMSwgaDJcbiAgNjogMy41cmVtLCAvLyBoMSwgaDJcbiAgNzogNC45cmVtIC8vIGgxLCBoMlxuKTtcblxuJGxpbmUtaGVpZ2h0czogKFxuICAtMTogJGJhc2VfbGluZV9oYWxmLFxuICAwOiAkYmFzZV9saW5lX2hlaWdodCwgXG4gIDE6ICRiYXNlX2xpbmVfaGVpZ2h0LCBcbiAgMjogJGJhc2VfbGluZV9oZWlnaHQsXG4gIDM6ICRiYXNlX2xpbmVfaGVpZ2h0LFxuICA0OiAkYmFzZV9saW5lX2hlaWdodCxcbiAgNTogJGJhc2VfbGluZV9oZWlnaHQsXG4gIDY6ICRiYXNlX2xpbmVfaGVpZ2h0LFxuICA3OiAkYmFzZV9saW5lX2hlaWdodFxuKTtcblxuXG5AZnVuY3Rpb24gdHlwZS1zY2FsZSgkbGV2ZWwpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0eXBlLXNjYWxlLCAkbGV2ZWwpO1xufVxuXG5AZnVuY3Rpb24gbGluZS1oZWlnaHQoJGxldmVsKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkbGluZS1oZWlnaHRzLCAkbGV2ZWwpO1xufVxuXG5AbWl4aW4gdHlwZS1zZXR0aW5nKCRsZXZlbDogMCkge1xuICBmb250LXNpemU6IHR5cGUtc2NhbGUoJGxldmVsKTtcbiAgbGluZS1oZWlnaHQ6IGxpbmUtaGVpZ2h0KCRsZXZlbCk7XG59XG5cbkBtaXhpbiBmb250c2l6ZSgkc2l6ZTogJGJhc2VfZm9udF9zaXplKSB7XG4gIGZvbnQtc2l6ZTogI3skc2l6ZX1weDtcbiAgZm9udC1zaXplOiAoIGdldF9yZW0oJHNpemUpIClyZW07XG59XG5cblxuXG4vKlxuICogVFlQT0dSQVBIWSBWQVJJQUJMRVMgU0VUVElOR1NcbiAqL1xuXG4vLyBHb29nbGUgRm9udCBGYW1pbGllc1xuJGVsa3dvb2QgICAgICAgICAgICAgICAgICAgICAgICA6ICdlbGt3b29kJztcbiRKb3NlZmluICAgICAgICAgICAgICAgICAgICAgICAgOiAnSm9zZWZpbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuXG4vLyBEZWZhdWx0IEZvbnRzXG4kZm9udF9mYW1pbHlfc2FucyAgICAgICAgICAgICAgIDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250X2ZhbWlseV9zZXJpZiAgICAgICAgICAgICAgOiBHZW9yZ2lhLCBUaW1lcyBOZXcgUm9tYW4sIHNlcmlmICFkZWZhdWx0O1xuJGZvbnRfZmFtaWx5X21vbm8gICAgICAgICAgICAgICA6IE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBUeXBvIEF0dHJpYnV0aW9uc1xuJGZvbnRfZmFtaWx5X3BhcmFncmFwaCAgICAgICAgICA6ICRKb3NlZmluLCAkZm9udF9mYW1pbHlfc2FucztcbiRmb250X2ZhbWlseV90aXRsZSAgICAgICAgICAgICAgOiAkZWxrd29vZCwgJGZvbnRfZmFtaWx5X3NhbnM7XG4kZm9udF9mYW1pbHlfbmF2ICAgICAgICAgICAgICAgIDogJGVsa3dvb2QsICRmb250X2ZhbWlseV9zYW5zO1xuJGZvbnRfZmFtaWx5X21ldGEgICAgICAgICAgICAgICA6ICRmb250X2ZhbWlseV9zYW5zO1xuXG4vLyBTZXQgd2VpZ2h0c1xuJGJsYWNrICAgICAgICAgICAgICA6IDkwMDtcbiRoZWF2eSAgICAgICAgICAgICAgOiA4MDA7XG4kYm9sZCAgICAgICAgICAgICAgIDogNzAwO1xuJG1lZGl1bSAgICAgICAgICAgICA6IDYwMDtcbiRyZWd1bGFyICAgICAgICAgICAgOiA0MDA7XG4kYm9vayAgICAgICAgICAgICAgIDogMzAwO1xuJGxpZ2h0ICAgICAgICAgICAgICA6IDIwMDtcbiR0aGluICAgICAgICAgICAgICAgOiAxMDA7XG5cblxuLypcbiAqIEltcG9ydHMgdHlwbyBwYXJ0c1xuICovXG5AaW1wb3J0IFwiY29weVwiO1xuQGltcG9ydCBcImhlYWRpbmdcIjtcblxuXG4vKlxuICogRk9SIFJFU1BPTlNJVkUgRk9OVCBTSVpFLiBcbiAqIEFkanVzdCBhcyB5b3UgbmVlZC5cbiAqL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV9wYXJhZ3JhcGg7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbn1cblxuaHRtbCB7XG4gIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogNTcuNSU7XG4gIH1cbiAgQGluY2x1ZGUgYXQtbGVhc3QobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiA2MCU7XG4gIH1cbiAgQGluY2x1ZGUgYXQtbGVhc3QobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDYyLjUlO1xuICB9XG4gIEBpbmNsdWRlIGF0LWxlYXN0KHdpZGUpIHtcbiAgICBmb250LXNpemU6IDY3LjUlO1xuICB9XG59XG5cblxuIiwiXG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICRjb2xvcl90ZXh0O1xufVxuXG5cbnAge1xuICBtYXJnaW46IDAgMCAkYmFzZV9saW5lX2hlaWdodCAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwICRiYXNlX2xpbmVfaGVpZ2h0O1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMSk7XG59XG5cbnVsIHsgXG59XG5cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZm4sIGNpdGUsIGVtLCBpIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwICRiYXNlX2xpbmVfaGVpZ2h0O1xufVxucHJlIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV9tb25vO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMS42ZW07XG59XG5jb2RlLCBrYmQsIHR0LCB2YXIge1xuICBmb250OiAxNXB4ICRmb250X2ZhbWlseV9tb25vO1xufVxuYWJiciwgYWNyb255bSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcbiAgY3Vyc29yOiBoZWxwO1xufVxubWFyaywgaW5zIHtcbiAgYmFja2dyb3VuZDogI2ZmZjljMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuc3VwLFxuc3ViIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3VwIHtcbiAgYm90dG9tOiAxZXg7XG59XG5zdWIge1xuICB0b3A6IC41ZXg7XG59XG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xufVxuYmlnIHtcbiAgZm9udC1zaXplOiAxMjUlO1xufVxuXG5cblxuLm1ldGEge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoLTEpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGdyYXk7XG59XG5cblxuLm1ldGEtYmlnIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDQpO1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGY7XG4gIGNvbG9yOiAkZ3JheTtcbn1cblxuLmFnZW5kYS1tc2cge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoLTEpO1xuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgfVxufVxuIiwiXG4vLyBUaXRsZXNcblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSwgXG5oNsKge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmgzIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDApO1xuICBmb250LXdlaWdodDogJGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG59XG5cblxuXG5cblxuLmgxIHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDYpO1xuICBmb250LXdlaWdodDogJHJlZ3VsYXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmgyIHtcbiAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV90aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDQpO1xuICBjb2xvcjogJGdyYXlfZGFya2VyO1xuICBmb250LXdlaWdodDogJHJlZ3VsYXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5oMyB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfcGFyYWdyYXBoO1xuICBmb250LXdlaWdodDogJHJlZ3VsYXI7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6ICRncmF5O1xufVxuXG4uaDQge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMCk7XG4gIGNvbG9yOiAkZ3JheV9kYXJrZXI7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbn1cblxuaDUsXG4uaDUge1xuICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMCk7XG4gIGNvbG9yOiAkZ3JheV9kYXJrZXI7XG4gIGZvbnQtd2VpZ2h0OiAkcmVndWxhcjtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbn1cblxuLmg2IHtcblxufVxuXG5cbi5lbnRyeS1jb250ZW50IHtcblxuICBoMiB7XG4gICAgQGV4dGVuZCAuaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogJGJhc2VfbGluZV9oZWlnaHQgKiAxLjU7XG4gIH1cblxuICBoMyB7XG4gICAgQGV4dGVuZCAuaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG4gIH1cblxuICBoNCB7XG4gICAgQGV4dGVuZCAuaDQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmO1xuICB9XG5cbiAgaDUge1xuICAgIEBleHRlbmQgLmg0O1xuICB9XG5cbiAgaDYge1xuXG4gIH1cblxuICBzdHJvbmcge1xuICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICB9XG4gIGxpID4gc3Ryb25nIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi5lbnRyeS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl90ZXJ0aWFyeTtcbiAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjJlbSAxZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfdGl0bGU7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQgKiAyO1xuICBtaW4td2lkdGg6IDM1JTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucm9vdC10aXRsZSB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygyKTtcbn1cblxuLmxldmVsMS10aXRsZSB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZyg0KTtcbn1cblxuXG4iLCIvKiBcbiAqIFNwcml0ZVxuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuXG4lc3ByaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc3ByaXRlLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuXG5cblxuIiwiLyogXG4gKiBMaXN0c1xuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuXG5ociB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cdGJvcmRlcjogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxudWwsIG9sIHtcblx0bWFyZ2luOiAwcHggMHB4IDAuNWVtIDBlbTtcbn1cbnVsIHtcblx0bGlzdC1zdHlsZTogZGlzYztcbn1cbmxpIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxub2wge1xuXHRsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxubGkgPiB1bCxcbmxpID4gb2wge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG59XG5kdCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuXHRtYXJnaW46IDAgMS41ZW0gMS41ZW07XG59XG5maWd1cmUge1xuXHRtYXJnaW46IDA7XG59XG5cbi5uby1idWxsZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuXG4lbGktYXJyb3dlZCB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAgdXJsKCdhc3NldHMvaW1nL0JNX3B1Y2VfZmxlY2hlLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG59XG5cbiAgLnVsLWFycm93ZWQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8vbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdhc3NldHMvaW1nL0JNX3B1Y2VfZmxlY2hlLnBuZycpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgbGkge1xuICAgIFx0QGV4dGVuZCAlbGktYXJyb3dlZDtcbiAgICB9XG4gIH1cblxuXG4iLCIvKiBcbiAqIFRhYmxlc1xuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuJHRhYmxlX2JhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGVfYmFja2dyb3VuZF9hY2NlbnQ6ICAgICAgICAgICAkZ3JheV9saWdodCAhZGVmYXVsdDsgLy8gZm9yIHN0cmlwaW5nXG4kdGFibGVfYmFja2dyb3VuZF9ob3ZlcjogICAgICAgICAgICAkZ3JheV9kYXJrZXIgIWRlZmF1bHQ7XG4kdGFibGVfYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheV9kYXJrZXIgIWRlZmF1bHQ7XG5cblxudGFibGUge1xuXHRtYXJnaW46IDAgMCAxLjVlbTtcblx0d2lkdGg6IDEwMCU7XG59XG50aCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxudGQge1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbn0iLCIvKiBcbiAqIEZvcm1zXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqL1xuXG5cbiRpbnB1dF9ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgIDFweCBzb2xpZCAkYmxhY2sgIWRlZmF1bHQ7XG4kaW5wdXRfYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXRfaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAkYmFzZV9saW5lX2hlaWdodCA7XG4kaW5wdXRfd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIFx0JGJhc2VfbGluZV9oZWlnaHQgO1xuXG4kcGxhY2Vob2xkZXJfdGV4dDogICAgICAgICAgICAgICAgICAkZ3JheV9saWdodCAhZGVmYXVsdDtcblxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Zm9udC1zaXplOiAxMDAlOyAvKiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMgKi9cblx0bWFyZ2luOiAwOyAvKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzcsIEYzLzQsIFM1LCBDaHJvbWUgKi9cblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMgKi9cblx0KnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2VycyAqLyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgLyogQ29ycmVjdHMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGRpc3BsYXllZCBvZGRseSBpbiBGRjMvNCB3d3cuc2l0ZXBlbi5jb20vYmxvZy8yMDA4LzA1LzE0L3RoZS1kZXZpbHMtaW4tdGhlLWRldGFpbHMtZml4aW5nLWRvam9zLXRvb2xiYXItYnV0dG9ucy8gKi9cblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwOyB9XG5cblxuXG4uc2VhcmNoLWZvcm0tYmFyIHtcbiAgd2lkdGg6IDUwMHB4O1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIHdpZHRoOiA3MyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH0gIFxuXG4gIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgfVxuXG59IFxuXG4jbWMtZW1iZWRkZWQtc3Vic2NyaWJlLWZvcm0ge1xuICBcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICB3aWR0aDogNzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9ICBcbn1cblxuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJmaWVsZHNcIjsiLCJcbiRidXR0b25fYmdfY29sb3JcdFx0XHRcdFx0XHRcdFx0XHQ6ICRjb2xvcl9wcmltYXJ5O1xuJGJ1dHRvbl9ib3JkZXJfY29sb3JcdFx0XHRcdFx0XHRcdDogJGNvbG9yX3ByaW1hcnk7XG5cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBoZWlnaHQ6ICRiYXNlX2xpbmVfaGVpZ2h0ICogMS41O1xuXG5cdCY6aG92ZXIge1xuXHR9XG5cblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMge1xuXG5cdH1cbn0iLCJpbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDApO1xuICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICBsaW5lLWhlaWdodDogJGJhc2VfbGluZV9oZWlnaHQgKiAxLjU7XG4gIGhlaWdodDogJGJhc2VfbGluZV9oZWlnaHQgKiAxLjU7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuXHRib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB3aWR0aDogMTAwJSA7XG4gIFxuXHQmOmZvY3VzIHtcblxuXHR9XG59XG5cblxuXG50ZXh0YXJlYSB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbiAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBvdmVyZmxvdzogYXV0bzsgLyogUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRTYvNy84LzkgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogSW1wcm92ZXMgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgd2lkdGg6IDEwMCU7IH1cblxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBwYWRkaW5nOiAwOyAvKiBBZGRyZXNzZXMgZXhjZXNzIHBhZGRpbmcgaW4gSUU4LzkgKi8gfVxuXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAvKiBDb3JyZWN0cyBpbm5lciBwYWRkaW5nIGRpc3BsYXllZCBvZGRseSBpbiBTNSwgQ2hyb21lIG9uIE9TWCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuIiwiLyogXG4gKiBOYXZpZ2F0aW9uXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqL1xuXG5cbi8vIFNldHRpbmdzXG5cbiRuYXZiYXJfYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuJG5hdmJhcl90ZXh0OiAgICAgICAgICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXJfbGlua19jb2xvcjogICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyX2xpbmtfY29sb3JfaG92ZXI6ICAgICAgICAgICAkZ3JheV9kYXJrZXIgIWRlZmF1bHQ7XG4kbmF2YmFyX2xpbmtfY29sb3JfYWN0aXZlOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXZiYXJfbGlua19iYWNrZ3JvdW5kX2hvdmVyOiAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5cbkBpbXBvcnQgXCJsaW5rc1wiO1xuXG5AaW1wb3J0IFwibWVudVwiO1xuXG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuXG5cblxuXG5cblxuXG4iLCIvKiBcbiAqIExpbmtzXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqL1xuXG5cblxuLypcbiAqIFNpbXBsZSBsaW5rc1xuICovIFxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMnMpO1xufVxuYTpob3ZlcixcbmE6Zm9jdXMsXG5hOmFjdGl2ZSB7XG4gIGNvbG9yOiAkY29sb3JfbGlua19ob3ZlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbnAgYSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNvbG9yX2xpbms7XG59XG5cblxuXG4vKlxuICogQnV0dG9uc1xuICovIFxuXG4uYnRuLW91dGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyBcbn1cblxuJWJ0bi1wcmltYXJ5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV90aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGJhc2VfbGluZV9oZWlnaHQgKiAwLjc1O1xufVxuXG4gIC5idG4tcHJpbWFyeV9ibHVlIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG4gICAgQGV4dGVuZCAlYnRuLXByaW1hcnk7XG4gICAgcGFkZGluZzogMXB4ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeV9hbHQ7XG4gIH1cblxuICAuYnRuLXByaW1hcnlfbGlnaHQge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbiAgICBAZXh0ZW5kICVidG4tcHJpbWFyeTtcbiAgICBwYWRkaW5nOiAxcHggMTBweCAwIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvcl90ZXJ0aWFyeTtcbiAgfVxuICAuYnRuLXByaW1hcnlfbGlnaHRfd2hpdGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbiAgICBAZXh0ZW5kICVidG4tcHJpbWFyeTtcbiAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5X3BhcmFncmFwaDtcbiAgICBwYWRkaW5nOiAzcHggMTBweCAwIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGY7XG4gIH1cblxuXG4lYnRuLWlubGluZSB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygxKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHggMTJweCAwIDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfcGFyYWdyYXBoO1xufVxuXG4gIC5idG4taW5saW5lX2dyZWVuIHtcbiAgICBAZXh0ZW5kICVidG4taW5saW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWlubGluZV9ibHVlIHtcbiAgICBAZXh0ZW5kICVidG4taW5saW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3NlY29uZGFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuLmJ0bi1mYWNlYm9vayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1nL0JNX2ZhY2Vib29rLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuXG4vKlxuICogTGlua3MgYnkgdGFyZ2V0IC8gZmlsZS4uLlxuICovXG5cbmFbaHJlZio9XCIucGRmXCJdIHtcbiAgQGV4dGVuZCAuYnRuLXByaW1hcnlfbGlnaHRfd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfcGFyYWdyYXBoO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvQk1fcHVjZV90ZWxlY2hhcmdlbWVudDIucG5nJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCA1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5cblxuXG5cbiIsIlxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZygpO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgfVxufVxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMmVtIDAgMTZlbSAwO1xuICAgIH1cbiAgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgJiAucGFnZXMtbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfbmF2O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG5cbiAgICAgICAgLnBhZ2VzLW1lbnUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAxZW0gMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNhYWE7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlcy1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV9wYXJhZ3JhcGg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXJ0aWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1YnBhZ2VzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLnBhZ2VzLW1lbnUtc3ViaXRlbSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfcGFyYWdyYXBoO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJhc2VfbGluZV9oZWlnaHQgKiAyO1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGVydGlhcnk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuXG4gICAgICAgICYgLnBhZ2VzLW5hdmlnYXRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHlfbmF2O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGVydGlhcnk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtcGFnZS1pdGVtID4gYSxcbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtcGFnZS1hbmNlc3RvciA+IGEge1xuICBjb2xvcjogJGNvbG9yX3RlcnRpYXJ5O1xufVxuLmN1cnJlbnQtcGFnZS1hbmNlc3Rvcixcbi5jdXJyZW50LW1lbnUtYW5jZXN0b3Ige1xuICAuc3ViLW1lbnUgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuXG5cblxuXG5cblxuLy8gSW5uZXIgTWVudVxuXG4ucGFnZXMtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYXNlX2xpbmVfaGFsZjsgXG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICAmOm5vdCgucGFnZS1sZXZlbC0wKSB7XG4gICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuICAucGFnZXMtbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmO1xuICAgIFxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgICAucGFnZXMtbWVudS1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcbiAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yX2xpbmtfaG92ZXI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAgIC5wYWdlcy1tZW51LXN1Yml0ZW0ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNldHRpbmcoLTEpO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9saW5rX2hvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdXAtdG8obWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gIC5ldmVudHMtbWVudS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGY7XG4gIH1cblxuXG5cbi5mb290ZXItbWVudSB7XG4gIEBleHRlbmQgLnVsLWFycm93ZWQ7XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIH1cbn1cblxuXG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMmVtO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmO1xuXG4gIC5zaXRlLXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXRvcDogJGJhc2VfbGluZV9oZWlnaHQgKjI7XG4gICAgcGFkZGluZy1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICB9XG5cbiAgLmJ0bi10cmlnZ2VyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIEBpbmNsdWRlIGF0LWxlYXN0KG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2Nsb3NlLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMWVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBhdC1sZWFzdChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG4iLCJcbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjJweDtcbiAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseV9tZXRhO1xuXG4gIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIGZvbnRzaXplKDE0KTtcbiAgfVxufVxuXG4gICVwb3N0cy1saW5rIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucHJldmlvdXMtcG9zdHMtbGluayB7XG4gICAgQGV4dGVuZCAlcG9zdHMtbGluaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBcbiAgICAuYXJyb3ctdGhpbi1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMXB4O1xuICAgIH0gICAgXG4gICAgLnBvc3RzLWxpbmstdGV4dCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAubmV4dC1wb3N0cy1saW5rIHtcbiAgICBAZXh0ZW5kICVwb3N0cy1saW5rO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBcbiAgICAuYXJyb3ctdGhpbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICB9XG4gICAgLnBvc3RzLWxpbmstdGV4dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cblxuICAucG9zdC1uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICRncmF5O1xuICAgIHBhZGRpbmctdG9wOiAkYmFzZV9saW5lX2hhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQgKiAzO1xuICAgIFxuICAgIC5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbiAgICB9XG5cbiAgICAubmF2LWxpbmtzIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygwKTtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIEBleHRlbmQgJWxpLWFycm93ZWQ7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY29sb3JfcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRncmF5X2xpZ2h0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuLnJlYm9uZHMge1xuICBib3JkZXItdG9wOiAxcHggZG90dGVkICRncmF5O1xuICBwYWRkaW5nLXRvcDogJGJhc2VfbGluZV9oYWxmO1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodCAqIDI7XG4gIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcblxuICBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbiAgfVxufVxuICAucmVib25kcy1saXN0IHtcbiAgICBAZXh0ZW5kIC51bC1hcnJvd2VkO1xuICB9XG5cblxuXG5cblxuIiwiLyogXG4gKiBNZWRpYXNcbiAqIFxuICogQHBhY2thZ2Ugc2Fzc2tpdFxuICovXG5cbmltZyB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuJWJnLWltZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5iZy1pbWdfcGFubyB7XG4gIEBleHRlbmQgJWJnLWltZztcbiAgaGVpZ2h0OiA0NzVweDtcbn1cblxuLmJnLWltZ19mdWxsIHtcbiAgQGV4dGVuZCAlYmctaW1nO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodCAqIDI7XG4gIFxuICAmLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYmFzZV9saW5lX2hlaWdodDtcbiAgICBmbG9hdDogbGVmdDtcblxuICB9XG4gICYuYWxpZ3JpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogJGJhc2VfbGluZV9oZWlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIFxuICB9XG59XG5cbkBpbXBvcnQgXCJnYWxsZXJ5XCI7XG5AaW1wb3J0IFwiY2FwdGlvblwiO1xuXG4iLCIvKipcbiAqIEJ4U2xpZGVyIHY0LjEuMiAtIEZ1bGx5IGxvYWRlZCwgcmVzcG9uc2l2ZSBjb250ZW50IHNsaWRlclxuICogaHR0cDovL2J4c2xpZGVyLmNvbVxuICpcbiAqIFdyaXR0ZW4gYnk6IFN0ZXZlbiBXYW5kZXJza2ksIDIwMTRcbiAqIGh0dHA6Ly9zdGV2ZW53YW5kZXJza2kuY29tXG4gKiAod2hpbGUgZHJpbmtpbmcgQmVsZ2lhbiBhbGVzIGFuZCBsaXN0ZW5pbmcgdG8gamF6eilcbiAqXG4gKiBDRU8gYW5kIGZvdW5kZXIgb2YgYnhDcmVhdGl2ZSwgTFREXG4gKiBodHRwOi8vYnhjcmVhdGl2ZS5jb21cbiAqL1xuXG5cbi8qKiBSRVNFVCBBTkQgTEFZT1VUXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5zbGlkZXNob3ctd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0O1xufVxuXG4uYngtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbiAgcGFkZGluZzogMDtcbiAgKnpvb206IDE7XG4gIGhlaWdodDogNDAwcHggIWltcG9ydGFudDtcbn1cblxuLmJ4LXdyYXBwZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogMzcwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4vKiogVEhFTUVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmJ4LXdyYXBwZXIgLmJ4LXZpZXdwb3J0IHtcbiBcbiAgLypmaXggb3RoZXIgZWxlbWVudHMgb24gdGhlIHBhZ2UgbW92aW5nIChvbiBDaHJvbWUpKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRleigwKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRleigwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleigwKTtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyLFxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBMT0FERVIgKi9cblxuLmJ4LXdyYXBwZXIgLmJ4LWxvYWRpbmcge1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2J4X2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyMDAwO1xufVxuXG4vKiBQQUdFUiAqL1xuXG4uYngtd3JhcHBlciAuYngtcGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtLFxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LWNvbnRyb2xzLWF1dG8taXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKnpvb206IDE7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGEge1xuICBiYWNrZ3JvdW5kOiAjNjY2O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA1cHg7XG4gIG91dGxpbmU6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYngtd3JhcHBlciAuYngtcGFnZXIuYngtZGVmYXVsdC1wYWdlciBhOmhvdmVyLFxuLmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyLmJ4LWRlZmF1bHQtcGFnZXIgYS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4vKiBESVJFQ1RJT04gQ09OVFJPTFMgKE5FWFQgLyBQUkVWKSAqL1xuXG4uYngtd3JhcHBlciAuYngtcHJldiB7XG4gIGxlZnQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHVybChhc3NldHMvaW1nL0JNX2ZsZWNoZV9nYXVjaGUucG5nKSBuby1yZXBlYXQgMCAwO1xufVxuXG4uYngtd3JhcHBlciAuYngtbmV4dCB7XG4gIHJpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL2ltZy9CTV9mbGVjaGVfZHJvaXRlLnBuZykgbm8tcmVwZWF0IDAgMDtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LXByZXY6aG92ZXIge1xufVxuXG4uYngtd3JhcHBlciAuYngtbmV4dDpob3ZlciB7XG59XG5cbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy1kaXJlY3Rpb24gYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xuICBvdXRsaW5lOiAwO1xuICB3aWR0aDogMjNweDtcbiAgaGVpZ2h0OiAyM3B4O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiBhLmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQVVUTyBDT05UUk9MUyAoU1RBUlQgLyBTVE9QKSAqL1xuXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0YXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2NvbnRyb2xzLnBuZykgLTg2cHggLTExcHggbm8tcmVwZWF0O1xuICBtYXJnaW46IDAgM3B4O1xufVxuXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQ6aG92ZXIsXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg2cHggMDtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogMTFweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9jb250cm9scy5wbmcpIC04NnB4IC00NHB4IG5vLXJlcGVhdDtcbiAgbWFyZ2luOiAwIDNweDtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0b3A6aG92ZXIsXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODZweCAtMzNweDtcbn1cblxuLyogUEFHRVIgV0lUSCBBVVRPLUNPTlRST0xTIEhZQlJJRCBMQVlPVVQgKi9cblxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLmJ4LWhhcy1jb250cm9scy1hdXRvLmJ4LWhhcy1wYWdlciAuYngtcGFnZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogODAlO1xufVxuXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMuYngtaGFzLWNvbnRyb2xzLWF1dG8uYngtaGFzLXBhZ2VyIC5ieC1jb250cm9scy1hdXRvIHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAzNXB4O1xufVxuXG4vKiBJTUFHRSBDQVBUSU9OUyAqL1xuXG4uYngtd3JhcHBlciAuYngtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjNjY2XFw5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDgwLCA4MCwgODAsIDAuNzUpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ4LXdyYXBwZXIgLmJ4LWNhcHRpb24gc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogQXJpYWw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IC44NWVtO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIGNvbG9yOiAkZ3JheV9saWdodDtcbiAgZm9udC13ZWlnaHQ6ICRsaWdodDtcbn0iLCJcblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gIGNvbG9yOiAkZ3JheTtcbn0iLCIvKiBcbiAqIFNldCB1cCBnZW5lcmFsICYgcGFydGljdWxhcnMgbW9kdWxlcyA6IGhlYWRlcnMsIGNvbnRlbnRzLCBmb290ZXJzXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqXG4gKi9cblxuXG5cbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJmb290ZXJcIjtcbkBpbXBvcnQgXCJzaWRlYmFyXCI7XG5AaW1wb3J0IFwic2VhcmNoXCI7XG5AaW1wb3J0IFwic2hvcnRjdXRzXCI7XG5AaW1wb3J0IFwiYnVsbGV0aW5cIjtcbkBpbXBvcnQgXCJuZXdzbGV0dGVyXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJlbHVzXCI7XG5cblxuLm1vZHVsZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0O1xufVxuXG4ubW9kdWxlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICBwYWRkaW5nOiAkYmFzZV9saW5lX2hhbGYgJGJhc2VfbGluZV9oZWlnaHQgMCAkYmFzZV9saW5lX2hhbGY7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcbiAgbWluLWhlaWdodDogMTUwcHg7XG5cbiAgLmgyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufSBcblxuXG5cbi5ldmVudHMtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcblxuICAudGl0bGUtb3V0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZjtcbiAgfVxuICAuYnRuLW91dGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZV9saW5lX2hlaWdodCAqIDI7XG4gIH1cblxuICAubC0yY29sOm50aC1jaGlsZChldmVuKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuICAuZXZlbnQtaXRlbS1tZWRpYSxcbiAgLnBvc3QtaXRlbS1tZWRpYS5oYWxmIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMHB4IDIwcHg7XG4gIH1cblxuXG5cbi5wb3N0cy1saXN0IHtcblxuICAmLmFyY2hpdmVzIHtcbiAgICAucG9zdC1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuXG4gIC5wb3N0LWl0ZW0ge1xuXG4gICAgLnBvc3QtaXRlbS1leGNlcnB0IHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyYXlfbGlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4iLCIvKiBcbiAqIEhlYWRlclxuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuJHJlc3BfcGFkZGluZzogNTBweDtcblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuXG4gIC5zaXRlLWxvZ28ge1xuXG4gICAgQGluY2x1ZGUgdXAtdG8obWVkaXVtKSB7XG5cbiAgICB9XG4gIH1cblxuICAuc2l0ZS1uYXYgIHtcblxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICByaWdodDogMHB4O1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICAuaW5mby1iYW5uZXIge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeV9hbHRfYWx0O1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcblxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgIH1cbiAgfVxuICAuc2l0ZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDcpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5X3RpdGxlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgcGFkZGluZzogNjRweCAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGEge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGF0LWxlYXN0KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiA3N3B4IDA7XG4gICAgfVxuICB9XG4gIC5zaXRlLWJyYW5kaW5nIHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNzVweDtcbiAgICB9XG5cblxuICAgIC5idG4taW5saW5lX2dyZWVuIHtcbiAgICAgIG1hcmdpbjogNTVweCAwO1xuXG4gICAgICBAaW5jbHVkZSBhdC1sZWFzdChsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDczcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuXG4iLCIvKiBcbiAqIEZvb3RlclxuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKi9cblxuLnNpdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogJGJhc2VfbGluZV9oZWlnaHQgKiAzO1xuICBwYWRkaW5nOiAkYmFzZV9saW5lX2hlaWdodCAwO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3NlY29uZGFyeTtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLnNpdGUtaW5mbyB7XG4gIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICYgPiBkaXYge1xuICAgIHBhZGRpbmc6IDAgJGJhc2VfbGluZV9oYWxmO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgICYgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLmJ0bi1pbmxpbmVfZ3JlZW4ge1xuICAgIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gIH1cbn0gICIsIi8qIFxuICogU2lkZWJhclxuICogXG4gKiBAcGFja2FnZSBibVxuICovXG5cblxuIiwiLyogXG4gKiBTZWFyY2ggbW9kdWxlXG4gKiBcbiAqIEBwYWNrYWdlIGJtXG4gKi9cblxuXG5cblxuLmhwLWhlYWRlciAuc2VhcmNoLW91dGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206ICRiYXNlX2xpbmVfaGFsZjtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgfVxufVxuXG4uc2VhcmNoLXJlc3VsdHMtb3V0ZXIge1xuXG4gIEBpbmNsdWRlIHVwLXRvKGxhcmdlKSB7XG4gICAgcGFkZGluZzogMCAxZW07XG4gIH1cbn1cblxuLnNlYXJjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodCAqIDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICBjb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nOiAkYmFzZV9saW5lX2hlaWdodDtcbiAgXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG59XG5cbiAgLnNlYXJjaC10aXRsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG4gIH1cblxuI2xvYWRpbmctbXNnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhwLWhlYWRlciArIC5zZWFyY2gtcmVzdWx0cy1vdXRlciAuc2VhcmNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IC0gJGJhc2VfbGluZV9oZWlnaHQgKiAzO1xufSIsIi8qIFxuICogU2hvcnRjdXRzIG1vZHVsZVxuICogXG4gKiBAcGFja2FnZSBibVxuICovXG5cblxuLnNob3J0Y3V0cy1saXN0IHtcblxufVxuXG4gIC5zaG9ydGN1dC1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbiAgfVxuXG5cbi5yZWJvbmRzLWxpc3Qge1xuICBcbn1cblxuICAucmVib25kLWl0ZW0ge1xuICAgIFxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY29sb3JfcHJpbWFyeTtcbiAgICB9XG4gIH0iLCIvKiBcbiAqIEJ1bGxldGluIG1vZHVsZVxuICogXG4gKiBAcGFja2FnZSBibVxuICovXG5cblxuLmJ1bGxldGluLWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbn0iLCIvKiBcbiAqIE5ld3NsZXR0ZXIgbW9kdWxlXG4gKiBcbiAqIEBwYWNrYWdlIGJtXG4gKi9cblxuXG4iLCIvKiBcbiAqIExpc3RzIG1vZHVsZVxuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKlxuICovXG5cblxuXG4ubGlzdC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcblxuICAubGlzdC1ncm91cC1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGY7XG4gIH1cbiAgLmxpc3Qtc291c2dyb3VwLW5hbWUge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gIH1cbn1cbiAgLmxpc3Qtc291c2dyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodDtcbiAgfVxuXG5cbi8vIEVsZW1lbnRzXG5cbi5saXN0LWVsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGYgLyAyO1xuXG4gICYubm8tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICB9XG59XG5cbiAgLmVsZW1lbnQtbmFtZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkZ3JheTtcblxuICAgICYuZ3JvdXBlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvQk1fcHVjZV9mbGVjaGUucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICsgJztcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZyg0KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdXAtdG8obGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuICB9XG5cbiAgLmVsZW1lbnQtaW5mb3JtYXRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4vLyAgICBjb2xvcjogJGdyYXk7XG4gICAgXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcblxuICAgICYuZ3JvdXBlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1nL0JNX3B1Y2VfZmxlY2hlLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH0gICAgXG4gIH1cblxuXG4ubGlzdC1lbGVtZW50Lm9wZW4ge1xuICBcbiAgLmVsZW1lbnQtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJyAtICc7XG4gIH1cblxuICAuZWxlbWVudC1pbmZvcm1hdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLnJlc3VsdHMtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4gIC5yZXN1bHRzLW51bWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbiAgfVxuICAucmVzdWx0LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ltZy9CTV9wdWNlX2ZsZWNoZV9ibGFuY2hlLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG4gIH1cbiAgLmNsb3NlLXNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG4iLCIvKiBcbiAqIEVsdXMgbW9kdWxlXG4gKiBcbiAqIEBwYWNrYWdlIGJtXG4gKi9cblxuXG4uZWx1cy1jb250ZW50IHtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAwIDFlbTtcbiAgfVxufVxuXG4gIC5lbHUtaXRlbSB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYmFzZV9saW5lX2hlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodDtcblxuICAgICY6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHVwLXRvKGxhcmdlKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAuZWx1LXBvcnRyYWl0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGY7XG4gIH1cblxuXG5cblxuICAubWFpcmUge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMztcbiAgfVxuXG4gIC5saXN0ZS1hZGpvaW50cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG4gIH1cblxuICAubGlzdGUtY29uc2VpbGxlcnMge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcbiAgfSIsIi8qIFxuICogU2V0IHVwIHNwZWNpZmljIHRlbXBsYXRlcyA6IGhvbWUsIHNpbmdsZS4uLlxuICogXG4gKiBAcGFja2FnZSBzYXNza2l0XG4gKlxuICovXG5cblxuXG5cbkBpbXBvcnQgXCJob21lXCI7XG5AaW1wb3J0IFwic2luZ2xlXCI7XG5AaW1wb3J0IFwiYXJjaGl2ZXNcIjsiLCIvKiBcbiAqIHRlbXBsYXRlcy9ob21lXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqL1xuXG5cbi5ocC1oZWFkZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcbiAgcGFkZGluZzogJGJhc2VfbGluZV9oZWlnaHQgKiAyIDAgJGJhc2VfbGluZV9oZWlnaHQgMCA7XG5cbiAgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGYgLyAyO1xuICB9XG5cbiAgJiA+IC53cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ocC1jb250ZW50IHtcblxuICBAaW5jbHVkZSB1cC10byhsYXJnZSkge1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuXG4gICAgLmJ0bi1vdXRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogNDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICB9XG4gIH1cbn0iLCIvKiBcbiAqIHRlbXBsYXRlcy9zaW5nbGVcbiAqIFxuICogQHBhY2thZ2Ugc2Fzc2tpdFxuICovXG5cblxuLmVudHJ5LWhlYWRlciB7XG4gIG1hcmdpbi10b3A6ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcbn1cblxuLmVudHJ5LW1lZGlhLWNvdmVyIHtcbiAgbWFyZ2luLXRvcDogLSAxMzhweDtcbiAgaGVpZ2h0OiA0MjVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5lbnRyeS1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQgKiAyO1xuICBcbiAgcDpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zZXR0aW5nKDMpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZV9saW5lX2hlaWdodCAqIDEuMjU7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcmVndWxhcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodCAqIDEuNTtcbiAgfVxuXG4gIHVsOm5vdCguYnhzbGlkZXIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWcvQk1fcHVjZV9mbGVjaGUucG5nJyk7XG4gICAgbWFyZ2luLXRvcDogLSRiYXNlX2xpbmVfaGFsZjtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGYgLyAyO1xuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBteS1iYWRhc3MtY291bnRlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodDtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZiAvIDI7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihteS1iYWRhc3MtY291bnRlcik7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBteS1iYWRhc3MtY291bnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmO1xuICB9XG59XG5cbi5wb3N0cy1tZW51IHtcblxufVxuXG4gIC5wb3N0cy1tZW51LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oYWxmIC8gMjtcbiAgfVxuXG4gIC5wb3N0cy1tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG4gICAgY29sb3I6ICRncmF5X2xpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hhbGYgLyAyO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRncmF5X2RhcmtlcjtcbiAgICB9XG4gIH1cblxuLmVudHJ5LWZvb3RlciB7XG4gIFxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcblxuICB9XG59XG4iLCIvKiBcbiAqIHRlbXBsYXRlcy9ob21lXG4gKiBcbiAqIEBwYWNrYWdlIHNhc3NraXRcbiAqL1xuXG5cblxuLmFyY2hpdmUtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZV9saW5lX2hlaWdodDtcbiAgXG4gIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuICB9XG59XG5cbiVpdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2VfbGluZV9oZWlnaHQ7XG5cbiAgQGluY2x1ZGUgdXAtdG8obWVkaXVtKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLml0ZW0tYmFyIHtcbiAgd2lkdGg6ICRiYXNlX2xpbmVfaGVpZ2h0O1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGFsZjtcbn1cblxuLnBvc3RzLWxpc3Qge1xuXG4gIG1hcmdpbi1ib3R0b206ICRiYXNlX2xpbmVfaGVpZ2h0ICogMjtcbiAgXG4gIEBpbmNsdWRlIHVwLXRvKG1lZGl1bSkge1xuXG4gIH1cbiAgXG4gIC5wb3N0LWl0ZW0ge1xuICAgIEBleHRlbmQgJWl0ZW07XG4gICAgcGFkZGluZy1yaWdodDogJGJhc2VfbGluZV9oYWxmICogMC41O1xuICB9IFxuXG59XG5cbiAgLnBvc3QtaXRlbS1tZWRpYSB7XG4gICAgbWFyZ2luOiAkYmFzZV9saW5lX2hhbGYgMDtcbiAgfVxuXG5cblxuLmV2ZW50cy1saXN0IHtcblxuICBAaW5jbHVkZSB1cC10byhtZWRpdW0pIHtcblxuICB9XG5cbiAgLmV2ZW50LWl0ZW0ge1xuICAgIEBleHRlbmQgJWl0ZW07XG4gIH0gXG5cbn1cbiJdfQ== */
