/*
  #Ribs
  ## Copyright Information
  Skeleton is Copyright 2011, Dave Gamache

  Ribs is the evolution of Skeleton by Nick Pack
  Free to use under the MIT license.
  http://github.com/nickpack/Ribs
*/
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,700italic|Open+Sans+Condensed:300,300italic,700);
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * 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; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * 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, 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 differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

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

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * 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; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * 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 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

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

/**
 * 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 Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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; }

/**
 * 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 */ }

/**
 * 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 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

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

/*
#Grid System

<div class="one column alpha">One</div>
<div class="fifteen columns omega">Fifteen</div>
<div class="three columns alpha">Three</div>
<div class="thirteen columns omega">Thirteen</div>
<div class="push-by-twelve four columns alpha omega">Four Pushed by Twelve</div>
<div class="seven columns alpha">Seven</div>
<div class="nine columns omega">Nine</div>
<div class="four columns alpha">Four</div>
<div class="twelve columns omega">Twelve</div>
<div class="five columns alpha">Five</div>
<div class="eleven columns omega">Eleven</div>
<div class="eight columns alpha">Eight</div>
<div class="eight columns omega">Eight</div>
<div class="six columns alpha">Six</div>
<div class="ten columns omega">Ten</div>
<div class="push-by-eight eight columns alpha omega">Eight Pushed by Eight</div>
<div class="three columns alpha">Three</div>
<div class="ten columns">Ten</div>
<div class="three columns omega">Three</div>
<div class="eleven columns alpha">Eleven</div>
<div class="five columns omega">Five</div>
*/
.container {
  position: relative;
  margin: 0 auto;
  padding: 0; }
  .container .alpha {
    margin-left: 0; }
  .container .omega {
    margin-right: 0; }

.column, .columns {
  float: left;
  margin-left: 10px;
  margin-right: 10px; }

.alpha-omega {
  margin-right: 0;
  margin-left: 0; }

.row {
  margin-bottom: 0; }

.container {
  width: 960px; 
}
.container .one {
  width: 60px; 
}
.container .two {
  width: 140px;
}
.container .three {
  width: 220px; 
  }
.container .four {
  width: 300px; 
}
.container .five {
  width: 380px; 
}
.container .six {
  width: 460px; 
}
  .container .seven {
    width: 540px; }
  .container .eight {
    width: 620px; }
  .container .nine {
    width: 700px; }
  .container .ten {
    width: 780px; }
  .container .eleven {
    width: 860px; }
  .container .twelve {
    width: 940px; }
  .container .thirteen {
    width: 1020px; }
  .container .fourteen {
    width: 1100px; }
  .container .fifteen {
    width: 1180px; }
  .container .sixteen {
    width: 1260px; }
  .container .one-third {
    width: 300px; }
  .container .two-thirds {
    width: 620px; }
  .container .one-half {
    width: 460px; }
  .container .one-quarter {
    width: 220px; }
  .container .three-quarters {
    width: 700px; }
  .container .offset-by-one {
    padding-left: 80px; }
  .container .offset-by-two {
    padding-left: 160px; }
  .container .offset-by-three {
    padding-left: 240px; }
  .container .offset-by-four {
    padding-left: 320px; }
  .container .offset-by-five {
    padding-left: 400px; }
  .container .offset-by-six {
    padding-left: 480px; }
  .container .offset-by-seven {
    padding-left: 560px; }
  .container .offset-by-eight {
    padding-left: 640px; }
  .container .offset-by-nine {
    padding-left: 720px; }
  .container .offset-by-ten {
    padding-left: 800px; }
  .container .offset-by-eleven {
    padding-left: 880px; }
  .container .offset-by-twelve {
    padding-left: 960px; }
  .container .offset-by-thirteen {
    padding-left: 1040px; }
  .container .offset-by-fourteen {
    padding-left: 1120px; }
  .container .offset-by-fifteen {
    padding-left: 1200px; }
  .container .pull-by-one {
    margin-left: -80px; }
  .container .pull-by-two {
    margin-left: -160px; }
  .container .pull-by-three {
    margin-left: -240px; }
  .container .pull-by-four {
    margin-left: -320px; }
  .container .pull-by-five {
    margin-left: -400px; }
  .container .pull-by-six {
    margin-left: -480px; }
  .container .pull-by-seven {
    margin-left: -560px; }
  .container .pull-by-eight {
    margin-left: -640px; }
  .container .pull-by-nine {
    margin-left: -720px; }
  .container .pull-by-ten {
    margin-left: -800px; }
  .container .pull-by-eleven {
    margin-left: -880px; }
  .container .pull-by-twelve {
    margin-left: -960px; }
  .container .pull-by-thirteen {
    margin-left: -1040px; }
  .container .pull-by-fourteen {
    margin-left: -1120px; }
  .container .pull-by-fifteen {
    margin-left: -1200px; }
  .container .push-by-one {
    margin-left: 80px; }
  .container .push-by-two {
    margin-left: 160px; }
  .container .push-by-three {
    margin-left: 240px; }
  .container .push-by-four {
    margin-left: 320px; }
  .container .push-by-five {
    margin-left: 400px; }
  .container .push-by-six {
    margin-left: 480px; }
  .container .push-by-seven {
    margin-left: 560px; }
  .container .push-by-eight {
    margin-left: 640px; }
  .container .push-by-nine {
    margin-left: 720px; }
  .container .push-by-ten {
    margin-left: 800px; }
  .container .push-by-eleven {
    margin-left: 880px; }
  .container .push-by-twelve {
    margin-left: 960px; }
  .container .push-by-thirteen {
    margin-left: 1040px; }
  .container .push-by-fourteen {
    margin-left: 1120px; }
  .container .push-by-fifteen {
    margin-left: 1200px; }

@media only screen and (max-width: 959px) {
  .container {
    width: 768px; }
    .container .one {
      width: 44px; }
    .container .two {
      width: 108px; }
    .container .three {
      width: 172px; }
    .container .four {
      width: 236px; }
    .container .five {
      width: 300px; }
    .container .six {
      width: 364px; }
    .container .seven {
      width: 428px; }
    .container .eight {
      width: 492px; }
    .container .nine {
      width: 556px; }
    .container .ten {
      width: 620px; }
    .container .eleven {
      width: 684px; }
    .container .twelve {
      width: 748px; }
    .container .thirteen {
      width: 812px; }
    .container .fourteen {
      width: 876px; }
    .container .fifteen {
      width: 940px; }
    .container .sixteen {
      width: 1004px; }
    .container .one-third {
      width: 236px; }
    .container .two-thirds {
      width: 492px; }
    .container .one-half {
      width: 364px; }
    .container .one-quarter {
      width: 172px; }
    .container .three-quarters {
      width: 556px; }
    .container .offset-by-one {
      padding-left: 64px; }
    .container .offset-by-two {
      padding-left: 128px; }
    .container .offset-by-three {
      padding-left: 192px; }
    .container .offset-by-four {
      padding-left: 256px; }
    .container .offset-by-five {
      padding-left: 320px; }
    .container .offset-by-six {
      padding-left: 384px; }
    .container .offset-by-seven {
      padding-left: 448px; }
    .container .offset-by-eight {
      padding-left: 512px; }
    .container .offset-by-nine {
      padding-left: 576px; }
    .container .offset-by-ten {
      padding-left: 640px; }
    .container .offset-by-eleven {
      padding-left: 704px; }
    .container .offset-by-twelve {
      padding-left: 768px; }
    .container .offset-by-thirteen {
      padding-left: 832px; }
    .container .offset-by-fourteen {
      padding-left: 896px; }
    .container .offset-by-fifteen {
      padding-left: 960px; }
    .container .pull-by-one {
      margin-left: -64px; }
    .container .pull-by-two {
      margin-left: -128px; }
    .container .pull-by-three {
      margin-left: -192px; }
    .container .pull-by-four {
      margin-left: -256px; }
    .container .pull-by-five {
      margin-left: -320px; }
    .container .pull-by-six {
      margin-left: -384px; }
    .container .pull-by-seven {
      margin-left: -448px; }
    .container .pull-by-eight {
      margin-left: -512px; }
    .container .pull-by-nine {
      margin-left: -576px; }
    .container .pull-by-ten {
      margin-left: -640px; }
    .container .pull-by-eleven {
      margin-left: -704px; }
    .container .pull-by-twelve {
      margin-left: -768px; }
    .container .pull-by-thirteen {
      margin-left: -832px; }
    .container .pull-by-fourteen {
      margin-left: -896px; }
    .container .pull-by-fifteen {
      margin-left: -960px; }
    .container .push-by-one {
      margin-left: 64px; }
    .container .push-by-two {
      margin-left: 128px; }
    .container .push-by-three {
      margin-left: 192px; }
    .container .push-by-four {
      margin-left: 256px; }
    .container .push-by-five {
      margin-left: 320px; }
    .container .push-by-six {
      margin-left: 384px; }
    .container .push-by-seven {
      margin-left: 448px; }
    .container .push-by-eight {
      margin-left: 512px; }
    .container .push-by-nine {
      margin-left: 576px; }
    .container .push-by-ten {
      margin-left: 640px; }
    .container .push-by-eleven {
      margin-left: 704px; }
    .container .push-by-twelve {
      margin-left: 768px; }
    .container .push-by-thirteen {
      margin-left: 832px; }
    .container .push-by-fourteen {
      margin-left: 896px; }
    .container .push-by-fifteen {
      margin-left: 960px; }
  .container {
    width: 768px; } }

/*
  #Mobile Grid
  Every column element in this grid is the total grid width
*/
@media only screen and (max-width: 767px) {
  .container {
    width: 90%; }
    .container .one,
    .container .two,
    .container .three,
    .container .four,
    .container .five,
    .container .six,
    .container .seven,
    .container .eight,
    .container .nine,
    .container .ten,
    .container .eleven,
    .container .twelve,
    .container .thirteen,
    .container .fourteen,
    .container .fifteen,
    .container .sixteen,
    .container .one-third,
    .container .two-thirds,
    .container .one-half,
    .container .one-quarter,
    .container .three-quarters {
      width: 100%; }
    .container .column, .container .columns {
      margin: 0; }
    .container .offset-by-one,
    .container .offset-by-two,
    .container .offset-by-three,
    .container .offset-by-four,
    .container .offset-by-five,
    .container .offset-by-six,
    .container .offset-by-seven,
    .container .offset-by-eight,
    .container .offset-by-nine,
    .container .offset-by-ten,
    .container .offset-by-eleven,
    .container .offset-by-twelve,
    .container .offset-by-thirteen,
    .container .offset-by-fourteen,
    .container .offset-by-fifteen {
      padding-left: 0; } }

/*
  ##Auto-applied clearfix for .container elements

  ```<div class="container">
    This element has clearfix applied in browsers that support the :after css selector
  </div>```
*/
.container:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

/*
 ##General use clearfix class
 ```<div class="clearfix">This haz clearfix</div>```
 Use this clearfix class on parent to clear nested columns, or:
 wrap each row of columns in a ```<div class="row">...</div>```
*/
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

/*
  ##Auto-applied clearfix for .row elements

  ```<div class="row">
    This element has clearfix applied in browsers that support the :after css selector
  </div>```
*/
.row:after,
.clearfix:after {
  clear: both; }

.row, .clearfix {
  zoom: 1; }

/*
  ##Block level clear
  You can also use a ```<br class="clear">``` to clear columns
*/
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit; }

h1 {
  color: #181818;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 46px;
  line-height: 69px;
  margin: 0 0 14px 0; }

h2 {
  color: #181818;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 35px;
  line-height: 52.5px;
  margin: 0 0 10px 0; }

h3 {
  font-family: "Open Sans", sans-serif;
  font-weight: bold; }

h4 {
  color: #181818;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 21px;
  line-height: 31.5px;
  margin: 0 0 4px 0; }

h5 {
  color: #181818;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 17px;
  line-height: 25.5px; }

h6 {
  color: #181818;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 14px;
  line-height: 21px; }

.subheader {
  color: #777; }

p {
  margin: 0 0 20px 0;
}

p img {
  margin: 0; }

.lead {
  font-size: 21px;
  line-height: 31.5px;
  color: #777; }

em {
  font-style: italic; }

strong {
  font-weight: bold;
}

small {
  font-size: 80%; }

blockquote, blockquote p {
  font-size: 17px;
  line-height: 24px;
  color: #777;
  font-style: italic; }

blockquote {
  margin: 0 0 20px;
  padding: 9px 20px 0 19px;
  border-left: 1px solid #ddd; }

blockquote cite {
  display: block;
  font-size: 12px;
  color: #555; }

blockquote cite:before {
  content: "\2014 \0020"; }


ul, ol {
  margin: 0 0 20px 0; }

ol {
  list-style: decimal; }

ol, ul.square, ul.circle, ul.disc {
  margin: 0 0 0 10px; }

ul.square {
  list-style: square outside; }

ul.circle {
  list-style: circle outside; }

ul.disc {
  list-style: disc outside; }

ul ul, ul ol,
ol ol, ol ul {
  margin: 4px 0 5px 30px;
 }

li {
  margin: 0 0 12px 0; }

.large li {
  line-height: 21px; }

li p {
  line-height: 21px; }

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border: none;
  border-top: none;
  border-left: none;
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
  margin: 0 0 20px 0;
  line-height: normal;
  padding: 8px 10px;
  font-family: "Open Sans", sans-serif; }

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  background-color: #CCC;
  background-color: #367dcd;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#367dcd), to(#367dcd));
  background-image: -webkit-linear-gradient(top, #367dcd, #367dcd);
  background-image: linear-gradient(to bottom, #367dcd, #367dcd);
  background-repeat: repeat-x;
  color: #fff;
  border: none;
  border-top: none;
  border-left: none; }

.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
  background-color: #CCC;
  background-color: #2c6cb4;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2c6cb4), to(#2c6cb4));
  background-image: -webkit-linear-gradient(top, #2c6cb4, #2c6cb4);
  background-image: linear-gradient(to bottom, #2c6cb4, #2c6cb4);
  background-repeat: repeat-x;
  border: none; }

.button .full-width,
button.full-width,
input[type="submit"].full-width,
input[type="reset"].full-width,
input[type="button"].full-width {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  text-align: center; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
  ##General margins (all sides)
  Applied to both form, and fieldset
*/
form {
  margin: 0 0 20px 0; }

fieldset {
  margin: 0 0 20px 0; }

/*
  ##Search/URL fields
  Make these behave as text fields
*/
input[type="search"],
input[type="url"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield; }

/*
  ##General form element styles, border etc.
  Applied to all except checkboxes
*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 4px;
  font: 13px "Open Sans", sans-serif;
  color: #777;
  max-width: 100%;
  display: block; }

/*
  ##Select boxes
  Padding and width applied from settings
*/
select {
  padding: 10px;
  width: 220px; }

/*
  ##Form element focus styles
  Applied to all except checkboxes and selects
*/
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus {
  border: 1px solid #aaa;
  color: #444;
  outline: none;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); }

textarea {
  min-height: 60px; }

label,
legend {
  font-weight: bold;
  font-size: 13px; }

input[type="checkbox"] {
  display: inline; }

/*
  ##Spans inside legends, or labels
  Alters font size, weight and color based on variables
*/
label span,
legend span {
  font-weight: normal;
  font-size: 13px;
  color: #444; }

/*
 ## Scale an image in line with the responsive grid
 ```
 <img src="foo.jpg" title="Scaling image of Foo" class="scale-with-grid">
 ```
*/

/*
##Basic table style

<table>
  <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Nick</td>
      <td>Pack</td>
      <td>@nickpack</td>
    </tr>
  </tbody>
</table>
*/
table {
  max-width: 100%;
  background: #FFF;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 10px 0; }
  table th,
  table td {
    padding: 8px;
    line-height: 21px;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #CCC; }
  table th {
    font-weight: bold; }
  table thead th {
    vertical-align: bottom; }
  table caption thead tr:first-child th,
  table caption thead tr:first-child td,
  table colgroup thead tr:first-child th,
  table colgroup thead tr:first-child td,
  table thead:first-child tr:first-child th,
  table thead:first-child tr:first-child td {
    border-top: 0; }
  table tbody tbody {
    border-top: 2px solid #CCC; }
  table table {
    background: #FFF; }

/*
##Condensed table style

<table class="table-condensed">
  <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Nick</td>
      <td>Pack</td>
      <td>@nickpack</td>
    </tr>
  </tbody>
</table>
*/
.table-condensed th,
.table-condensed td {
  padding: 4px 5px; }

/*
##Bordered table style

<table class="table-bordered">
  <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Nick</td>
      <td>Pack</td>
      <td>@nickpack</td>
    </tr>
  </tbody>
</table>
*/
.table-bordered {
  border: 1px solid #CCC;
  border-collapse: separate;
  border-left: 0;
  border-radius: 3px; }
  .table-bordered th,
  .table-bordered td {
    border-left: 1px solid #CCC; }
  .table-bordered caption thead tr:first-child th,
  .table-bordered caption tbody tr:first-child th,
  .table-bordered caption tbody tr:first-child td,
  .table-bordered colgroup thead tr:first-child th,
  .table-bordered colgroup tbody tr:first-child th,
  .table-bordered colgroup tbody tr:first-child td,
  .table-bordered thead:first-child tr:first-child th,
  .table-bordered tbody:first-child tr:first-child th,
  .table-bordered tbody:first-child tr:first-child td {
    border-top: 0; }
  .table-bordered thead:first-child tr:first-child > th:first-child,
  .table-bordered tbody:first-child tr:first-child > td:first-child,
  .table-bordered tbody:first-child tr:first-child > th:first-child {
    border-top-left-radius: 3px; }
  .table-bordered thead:first-child tr:first-child > th:last-child,
  .table-bordered tbody:first-child tr:first-child > td:last-child,
  .table-bordered tbody:first-child tr:first-child > th:last-child {
    border-top-right-radius: 3px; }
  .table-bordered thead:last-child tr:last-child > th:first-child,
  .table-bordered tbody:last-child tr:last-child > td:first-child,
  .table-bordered tbody:last-child tr:last-child > th:first-child,
  .table-bordered tfoot:last-child tr:last-child > td:first-child,
  .table-bordered tfoot:last-child tr:last-child > th:first-child {
    border-bottom-left-radius: 3px; }
  .table-bordered thead:last-child tr:last-child > th:last-child,
  .table-bordered tbody:last-child tr:last-child > td:last-child,
  .table-bordered tbody:last-child tr:last-child > th:last-child,
  .table-bordered tfoot:last-child tr:last-child > td:last-child,
  .table-bordered tfoot:last-child tr:last-child > th:last-child {
    border-bottom-right-radius: 3px; }
  .table-bordered tfoot tbody:last-child tr:last-child td:first-child {
    border-bottom-left-radius: 0; }
  .table-bordered tfoot tbody:last-child tr:last-child td:last-child {
    border-bottom-right-radius: 0; }
  .table-bordered caption thead tr:first-child th:first-child,
  .table-bordered caption tbody tr:first-child td:first-child,
  .table-bordered colgroup thead tr:first-child th:first-child,
  .table-bordered colgroup tbody tr:first-child td:first-child {
    border-top-left-radius: 3px; }
  .table-bordered caption thead tr:first-child th:last-child,
  .table-bordered caption tbody tr:first-child td:last-child,
  .table-bordered colgroup thead tr:first-child th:last-child,
  .table-bordered colgroup tbody tr:first-child td:last-child {
    border-top-right-radius: 3px; }

/*
##Striped table style

<table class="table-striped">
  <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Nick</td>
      <td>Pack</td>
      <td>@nickpack</td>
    </tr>
  </tbody>
</table>
*/
.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
  background-color: #EFEFEF; }

/*
##Hover table style

<table class="table-hover">
  <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Nick</td>
      <td>Pack</td>
      <td>@nickpack</td>
    </tr>
  </tbody>
</table>
*/
.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: #999; }



hr {
  border: solid #ddd;
  border-width: 1px 0 0;
  clear: both;
  margin: 10px 0 20px 0;
  height: 0; }

.outline-override {
  width: auto !important;
  border: 0 !important;
  box-shadow: none !important; }

.dynamic-section.first-section {
  background-color: #fff; }
  .dynamic-section.first-section .big-container {
    padding-top: 25px; }

/* Layout Styles */

/* Form */
.gform_wrapper .gform_fields {
  padding: 0 !important; }

.gform_wrapper .gsection {
  padding: 25px 0 0 !important;
  border: 0 !important; }
  .gform_wrapper .gsection:first-child {
    padding: 0 !important; }

.gform_wrapper .gsection_title {
  padding-left: 5px !important;
  clear: both !important;
  line-height: normal !important; }

.gform_wrapper li {
  margin: 0 !important;
  border: 0 !important; }

.gform_wrapper label {
  padding: 15px 0 5px;
  clear: both; }

.gform_wrapper .gfield_label {
  display: none;
  padding: 10px 0 5px; }

.gform_wrapper .gfield_radio {
  margin: 0;
  padding: 0;
  clear: both; }
  .gform_wrapper .gfield_radio li {
    float: left;
    display: inline !important; }
  .gform_wrapper .gfield_radio label {
    font-family: arial, sans-serif;
    padding: 0 20px 0 10px; }

.gform_wrapper .left-field {
  float: left !important;
  width: 35%; }
  .gform_wrapper .left-field input[type="text"] {
    width: 90% !important; }

.gform_wrapper .left-field-radio .gfield_label {
  padding-top: 15px;
  clear: both;
  display: block; }

.gform_wrapper .right-field {
  float: left !important;
  width: 60%; }
  .gform_wrapper .right-field input[type="text"] {
    width: 98%; }

.gform_wrapper .right-field-dropdown .gfield_label {
  padding-top: 15px;
  display: block;
  clear: both; }

.gform_wrapper .clear-multi {
  clear: both;
  padding-top: 20px; }

.gform_wrapper h2 {
  margin-top: 20px;
  font-size: 20px !important; }

.gform_wrapper select {
  float: left; }

.gform_wrapper textarea {
  margin: 0;
  width: 95% !important; }

.gform_wrapper input[type="submit"] {
  float: none;
  text-transform: uppercase; }

.gform_wrapper .gform_footer {
  display: block;
  padding: 20px 0 0;
  clear: both; }

.gform_wrapper .other-big-radio label {
  display: block; }

.gform_wrapper .other-big-radio .ginput_container_radio label {
  display: inline !important; }

.gform_wrapper .option-textarea {
  clear: both; }

.gform_wrapper #input_1_17_other {
  display: inline;
  margin-left: 10px; }

.gform_wrapper #input_1_13_1, .gform_wrapper #input_1_13_2, .gform_wrapper #input_1_13_3, .gform_wrapper #input_1_13_4_container, .gform_wrapper #input_1_13_5 {
  margin-bottom: 0 !important;
  margin-top: 20px !important; }

.gform_wrapper #input_1_13_3_container, .gform_wrapper #input_1_13_4_container, .gform_wrapper #input_1_13_5_container, .gform_wrapper #input_1_13_4 {
  display: block;
  clear: both; }

.gform_wrapper #input_1_13_4_label {
  display: block;
  padding: 0 !important; }

.gform_wrapper #input_1_13_4 {
  margin-bottom: 0 !important; }

/* News */
.page-template-page-news .dynamic-section .big-container {
  padding-bottom: 0 !important; }

#footer .big-container {
  padding: 45px 0;
  color: #fff;
  background-color: #235ea0;
  background-image: url(../images/bg_shadow.png);
  background-repeat: repeat-x; }
  #footer .big-container strong {
    color: #fff; }

#footer a {
  color: #f3eba5; }

#footer .menu {
  margin: 0;
  padding: 0; }
  #footer .menu ul {
    margin: 0;
    padding: 0; }
  #footer .menu li {
    display: block !important;
    margin: 0;
    padding: 0px 0 0;
    text-transform: uppercase;
    box-decoration-break: clone; }
    #footer .menu li a {
      font-weight: bold;
      color: #fff; }
      #footer .menu li a:hover {
        color: #f7f0ad; }
    #footer .menu li li {
      padding: 5px 0 0;
      text-transform: none; }
      #footer .menu li li a {
        font-weight: normal; }
  #footer .menu .current_page_item a {
    color: #6091c8; }
  #footer .menu .current_page_item li a {
    color: #fff; }

#footer .footer-social {
  vertical-align: middle;
  padding-left: 5px; }

#accredited .big-container {
  padding: 65px 0 100px;
  background-color: #adb2b9;
  background-image: url(../images/bg_shadow.png);
  background-repeat: repeat-x; }
  #accredited .big-container .left {
    font-size: 18px;
    font-weight: bold; }

/*** ESSENTIAL STYLES ***/


/*** DEMO SKIN ***/
#menu-main-menu {
  margin-bottom: 0; }

#menu-main-menu ul {
  min-width: 12em;
  /* allow long menu items to determine submenu width */
  *width: 12em;
  /* no auto sub width for IE7, see white-space comment below */ }

#menu-main-menu a {
  text-decoration: none;
  zoom: 1;
  /* IE7 */ }

#menu-main-menu li {
  white-space: nowrap;
  /* no need for Supersubs plugin */
  *white-space: normal;
  /* ...unless you support IE7 (let it wrap) */
  -webkit-transition: background 0.2s;
  transition: background 0.2s; }

#menu-main-menu li:hover,
#menu-main-menu li.sfHover {
  /* only transition out, not in */
  -webkit-transition: none;
  transition: none; }

/*** arrows (for all except IE7) **/
.sf-arrows .sf-with-ul {
  padding-right: 2.5em;
  *padding-right: 1em;
  /* no CSS arrows for IE7 (lack pseudo-elements) */ }

/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  height: 0;
  width: 0;
  /* order of following 3 rules important for fallbacks to work */
  border: 5px solid transparent;
  border-top-color: #dFeEFF;
  /* edit this to suit design (no rgba in IE8) */
  border-top-color: rgba(255, 255, 255, 0.5); }

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
  border-top-color: white;
  /* IE8 fallback colour */ }

/* styling for right-facing arrows */
.sf-arrows ul .sf-with-ul:after {
  margin-top: -5px;
  margin-right: -3px;
  border-color: transparent;
  border-left-color: #dFeEFF;
  /* edit this to suit design (no rgba in IE8) */
  border-left-color: rgba(255, 255, 255, 0.5); }

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
  border-left-color: white; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJpYnMuc2NzcyIsIm5vcm1hbGl6ZS9fbm9ybWFsaXplLnNjc3MiLCJSaWJzLmNzcyIsIl9ncmlkLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2xpbmtzLnNjc3MiLCJfbGlzdHMuc2NzcyIsIl9mb3Jtcy5zY3NzIiwiX2ltYWdlcy5zY3NzIiwiX3RhYmxlcy5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiX3N1cGVyZmlzaC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztFQVFFO0FDUkYsNERBQTREO0FBRTVEOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QURVSCxpSUFBWTtBQ0daOzs7Ozs7Ozs7Ozs7RUFDSSxlQUFlLEVBRFY7O0FBSVQ7O0dBRUc7QUFJSDs7O0VBQ0ksc0JBQXNCLEVBRG5COztBQUlQOzs7R0FHRztBQUVpQjtFQUNoQixjQUFjO0VBQ2QsVUFBVSxFQUZTOztBQUt2Qjs7O0dBR0c7QUNHSDs7RURDSSxjQUFjLEVBRFI7O0FBSVY7O2dGQUVnRjtBQUVoRjs7OztHQUlHO0FBRUg7RUFDSSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUh0Qzs7QUFNTjs7R0FFRztBQUVIO0VBQ0ksVUFBVSxFQURSOztBQUlOOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNJLHdCQUF3QixFQUR6Qjs7QUFJSDs7R0FFRztBQUVGO0VBQ0cscUJBQXFCLEVBRGhCOztBQUlUOztHQUVHO0FBR0Y7O0VBQ0csV0FBVyxFQUROOztBQUlUOztnRkFFZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDSSxlQUFlO0VBQ2YsaUJBQWlCLEVBRmpCOztBQUtKOztHQUVHO0FBRU87RUFDTiwwQkFBMEIsRUFEakI7O0FBSWI7O0dBRUc7QUFHSDs7RUFDSSxrQkFBa0IsRUFEZDs7QUFJUjs7R0FFRztBQUVIO0VBQ0ksbUJBQW1CLEVB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eUV1QjtFQ3hFdkIsa0JEeUV3QztFQ3hFeEMsa0JEeUV5QixFQy9FdkI7O0FBU0o7RUFDRSxlRHlEcUI7RUN4RHJCLHFDRG1Eb0M7RUNsRHBDLGtCRG1Ed0I7RUNsRHhCLGdCRG9FdUI7RUNuRXZCLG9CRG9Fd0M7RUNuRXhDLGtCRG9FeUIsRUMxRXZCOztBQVNKO0VBQ0UsZURnRHFCO0VDL0NyQixxQ0QwQ29DO0VDekNwQyxrQkQwQ3dCO0VDekN4QixnQkQrRHVCO0VDOUR2QixvQkQrRHdDLEVDcEV0Qzs7QUFRSjtFQUNFLGVEd0NxQjtFQ3ZDckIscUNEa0NvQztFQ2pDcEMsa0JEa0N3QjtFQ2pDeEIsZ0JEMER1QjtFQ3pEdkIsa0JEMER3QyxFQy9EdEM7O0FBUUo7RUFDRSxZRHlEb0IsRUMxRFY7O0FBSVo7RUFDRSxtQkR3RDJCO0VDdkQzQixrQkR5RHFDLEVDM0RwQzs7QUFLRDtFQUNBLFVEb0R3QixFQ3JEbkI7O0FBSVA7RUFDRSxnQkRtRDZCO0VDbEQ3QixvQkRtRG9EO0VDbERwRCxZRG1EeUIsRUN0RHBCOztBQU1QO0VBQ0UsbUJEa0RvQixFQ25EbEI7O0FBSUo7RUFDRSxrQkFBa0I7RUFDbEIsWURpRGlCLEVDbkRYOztBQUtSO0VBQ0UsZUQyQ21CLEVDNUNkOztBQUlnQjtFQUNyQixnQkRtRHlCO0VDbER6QixrQkRtRDJCO0VDbEQzQixZRDBDcUI7RUN6Q3JCLG1CRGtENEIsRUN0REo7O0FBTzFCO0VBQ0UsaUJEMEMwQjtFQ3pDMUIseUJEMENrQztFQ3pDbEMsNEJEb0NxQyxFQ3ZDM0I7O0FBTUQ7RUFDVCxlQUFlO0VBQ2YsZ0JEa0M4QjtFQ2pDOUIsWUQrQjBCLEVDbENYOztBQU1GO0VBQ2IsdUJBQXVCLEVBREQ7O0FBSXVDO0VBQzdELFlEd0IrQixFQ3pCd0M7O0FDaEhyRTtFQUNGLFlGNkVlO0VFNUVmLHNCRjZFb0IsRUUvRVI7O0FBS0o7RUFDUixZRjJFcUI7RUUxRXJCLHNCRjJFMEI7RUUxRTFCLFdGd0VjLEVFM0VFOztBQU1WO0VBQ04scUJBQXFCLEVBREw7O0FDWGQ7RUFDRixtQkh5SnNCLEVHMUpoQjs7QUFJUjtFQUNFLHlCSHdKMEIsRUd6SnhCOztBQUlKO0VBQ0Usb0JIcUpxQixFR3RKbkI7O0FBSXdCO0VBQzFCLG1CSG1KNkIsRUdwSkk7O0FBSWpDO0VBQ0EsMkJIZ0o0QixFR2pKbkI7O0FBSVQ7RUFDQSwyQkg0STRCLEVHN0luQjs7QUFJVDtFQUNBLHlCSHdJNEIsRUd6SXJCOztBQUtDOztFQUNSLHVCSHFJaUM7RUdwSWpDLGVIcUl5QixFR3ZJYjs7QUFLZDtFQUNFLGtCSG1JMEI7RUdsSTFCLG1CSG1JMkIsRUdySXpCOztBQUtHO0VBQ0wsa0JIbUgyQixFR3BIbEI7O0FBSVI7RUFDRCxrQkg0SG9DLEVHN0hoQzs7QUN0Q2E7Ozs7O0VMK0ZqQix1QkNzRTZCO0VEckU3QiwwQkFBcUI7RUFDckIsb0ZBQWtDO0VBQ2xDLGlFQUF5QztFQUd6QywrREFBaUM7RUFDakMsNEJBQTRCO0VBM0c1QixhQ2tCbUM7RURqQm5DLGlCQ2dCK0I7RURmL0Isa0JDZStCO0VEUy9CLGlCQ1YyQjtFSVAzQixZSlUyQjtFSVQzQixzQkFBc0I7RUFDdEIsZ0JKWTBCO0VJWDFCLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsa0JKTTRCO0VJTDVCLGdCQUFnQjtFQUNoQixtQkorQjRCO0VJOUI1QixvQkpROEI7RUlQOUIsa0JKTTRCO0VJTDVCLHFDSk55QyxFSVJyQjs7QUFzQkY7Ozs7O0VMeUVsQix1QkNzRTZCO0VEckU3QiwwQkFBcUI7RUFDckIsb0ZBQWtDO0VBQ2xDLGlFQUF5QztFQUd6QywrREFBaUM7RUFDakMsNEJBQTRCO0VLOUU1QixZSkdpQztFRGhDakMsYUM2QnlDO0VENUJ6QyxpQkMyQnFDO0VEMUJyQyxrQkMwQnFDLEVJRFg7O0FBV1I7Ozs7O0VMOERsQix1QkNzRTZCO0VEckU3QiwwQkFBcUI7RUFDckIsb0ZBQWtDO0VBQ2xDLGlFQUF5QztFQUd6QywrREFBaUM7RUFDakMsNEJBQTRCO0VLbkU1QixhSkw4QixFSUdIOztBQVVUOzs7OztFQUNsQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hC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Q3JCLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsU0FBUztFQUNULFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsVUFBVTtFQUNWLFNBQVM7RUFDVCxnRUFBZ0U7RUFDaEUsOEJBQThCO0VBQzlCLDBCQUEwQjtFQUFFLCtDQUErQztFQUMzRSwyQ0FBc0IsRUFYTzs7QUFlSzs7O0VBQ2xDLHdCQUF3QjtFQUFFLHlCQUF5QixFQURUOztBQUczQyxxQ0FBcUM7QUFDWjtFQUN4QixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQiwyQkFBMkI7RUFBRSwrQ0FBK0M7RUFDNUUsNENBQXVCLEVBTFM7O0FBU0c7OztFQUNuQyx5QkFBeUIsRUFEa0IiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAjUmlic1xuICAjIyBDb3B5cmlnaHQgSW5mb3JtYXRpb25cbiAgU2tlbGV0b24gaXMgQ29weXJpZ2h0IDIwMTEsIERhdmUgR2FtYWNoZVxuXG4gIFJpYnMgaXMgdGhlIGV2b2x1dGlvbiBvZiBTa2VsZXRvbiBieSBOaWNrIFBhY2tcbiAgRnJlZSB0byB1c2UgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICBodHRwOi8vZ2l0aHViLmNvbS9uaWNrcGFjay9SaWJzXG4qL1xuXG4vLyAjSW1wb3J0IG9mIG5vcm1hbGl6ZSwgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibm9ybWFsaXplL19ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJfbWl4aW5zXCI7XG5cbi8vICNJbXBvcnQgb2YgcmlicyBmdW5jdGlvbmFsaXR5XG5AaW1wb3J0IFwiX2dyaWRcIjtcbkBpbXBvcnQgXCJfdHlwb2dyYXBoeVwiO1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsNDAwaXRhbGljLDcwMCw3MDBpdGFsaWN8T3BlbitTYW5zK0NvbmRlbnNlZDozMDAsMzAwaXRhbGljLDcwMCk7XG5AaW1wb3J0IFwiX2xpbmtzXCI7XG5AaW1wb3J0IFwiX2xpc3RzXCI7XG5AaW1wb3J0IFwiX2Zvcm1zXCI7XG5AaW1wb3J0IFwiX2ltYWdlc1wiO1xuQGltcG9ydCBcIl90YWJsZXNcIjtcbkBpbXBvcnQgXCJfZ2xvYmFsXCI7XG5AaW1wb3J0IFwiX3N1cGVyZmlzaFwiO1xuXG5cbi8vICNFeGFtcGxlIE1lZGlhIFF1ZXJpZXNcbi8vICMjTWVkaWEgUXVlcnkgLSBTbWFsbGVyIHRoYW4gc3RhbmRhcmQgOTYwIChkZXZpY2VzIGFuZCBicm93c2VycylcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHt9XG5cbi8vICMjTWVkaWEgUXVlcnkgLSBUYWJsZXQgUG9ydHJhaXQgc2l6ZSB0byBzdGFuZGFyZCA5NjAgKGRldmljZXMgYW5kIGJyb3dzZXJzKVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7fVxuXG4vLyAjI01lZGlhIFF1ZXJ5IC0gQWxsIE1vYmlsZSBTaXplcyAoZGV2aWNlcyBhbmQgYnJvd3NlcilcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHt9XG5cbi8vICMjTWVkaWEgUXVlcnkgLSBNb2JpbGUgTGFuZHNjYXBlIFNpemUgdG8gVGFibGV0IFBvcnRyYWl0IChkZXZpY2VzIGFuZCBicm93c2VycylcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge31cblxuLy8gIyNNZWRpYSBRdWVyeSAtIE1vYmlsZSBQb3J0cmFpdCBTaXplIHRvIE1vYmlsZSBMYW5kc2NhcGUgU2l6ZSAoZGV2aWNlcyBhbmQgYnJvd3NlcnMpXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7fVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4zIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLyoqXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuIiwiLypcbiAgI1JpYnNcbiAgIyMgQ29weXJpZ2h0IEluZm9ybWF0aW9uXG4gIFNrZWxldG9uIGlzIENvcHlyaWdodCAyMDExLCBEYXZlIEdhbWFjaGVcblxuICBSaWJzIGlzIHRoZSBldm9sdXRpb24gb2YgU2tlbGV0b24gYnkgTmljayBQYWNrXG4gIEZyZWUgdG8gdXNlIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAgaHR0cDovL2dpdGh1Yi5jb20vbmlja3BhY2svUmlic1xuKi9cbi8qISBub3JtYWxpemUuY3NzIHYyLjEuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsNDAwaXRhbGljLDcwMCw3MDBpdGFsaWN8T3BlbitTYW5zK0NvbmRlbnNlZDozMDAsMzAwaXRhbGljLDcwMCk7XG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cblxuLyoqXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xucSB7XG4gIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLyogMiAqLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vKlxuI0dyaWQgU3lzdGVtXG5cbjxkaXYgY2xhc3M9XCJvbmUgY29sdW1uIGFscGhhXCI+T25lPC9kaXY+XG48ZGl2IGNsYXNzPVwiZmlmdGVlbiBjb2x1bW5zIG9tZWdhXCI+RmlmdGVlbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRocmVlIGNvbHVtbnMgYWxwaGFcIj5UaHJlZTwvZGl2PlxuPGRpdiBjbGFzcz1cInRoaXJ0ZWVuIGNvbHVtbnMgb21lZ2FcIj5UaGlydGVlbjwvZGl2PlxuPGRpdiBjbGFzcz1cInB1c2gtYnktdHdlbHZlIGZvdXIgY29sdW1ucyBhbHBoYSBvbWVnYVwiPkZvdXIgUHVzaGVkIGJ5IFR3ZWx2ZTwvZGl2PlxuPGRpdiBjbGFzcz1cInNldmVuIGNvbHVtbnMgYWxwaGFcIj5TZXZlbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm5pbmUgY29sdW1ucyBvbWVnYVwiPk5pbmU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3VyIGNvbHVtbnMgYWxwaGFcIj5Gb3VyPC9kaXY+XG48ZGl2IGNsYXNzPVwidHdlbHZlIGNvbHVtbnMgb21lZ2FcIj5Ud2VsdmU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJmaXZlIGNvbHVtbnMgYWxwaGFcIj5GaXZlPC9kaXY+XG48ZGl2IGNsYXNzPVwiZWxldmVuIGNvbHVtbnMgb21lZ2FcIj5FbGV2ZW48L2Rpdj5cbjxkaXYgY2xhc3M9XCJlaWdodCBjb2x1bW5zIGFscGhhXCI+RWlnaHQ8L2Rpdj5cbjxkaXYgY2xhc3M9XCJlaWdodCBjb2x1bW5zIG9tZWdhXCI+RWlnaHQ8L2Rpdj5cbjxkaXYgY2xhc3M9XCJzaXggY29sdW1ucyBhbHBoYVwiPlNpeDwvZGl2PlxuPGRpdiBjbGFzcz1cInRlbiBjb2x1bW5zIG9tZWdhXCI+VGVuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHVzaC1ieS1laWdodCBlaWdodCBjb2x1bW5zIGFscGhhIG9tZWdhXCI+RWlnaHQgUHVzaGVkIGJ5IEVpZ2h0PC9kaXY+XG48ZGl2IGNsYXNzPVwidGhyZWUgY29sdW1ucyBhbHBoYVwiPlRocmVlPC9kaXY+XG48ZGl2IGNsYXNzPVwidGVuIGNvbHVtbnNcIj5UZW48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHJlZSBjb2x1bW5zIG9tZWdhXCI+VGhyZWU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJlbGV2ZW4gY29sdW1ucyBhbHBoYVwiPkVsZXZlbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZpdmUgY29sdW1ucyBvbWVnYVwiPkZpdmU8L2Rpdj5cbiovXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDsgfVxuICAuY29udGFpbmVyIC5hbHBoYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmNvbnRhaW5lciAub21lZ2Ege1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5hbHBoYS1vbWVnYSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiA5NjBweDsgfVxuICAuY29udGFpbmVyIC5vbmUge1xuICAgIHdpZHRoOiA2MHB4OyB9XG4gIC5jb250YWluZXIgLnR3byB7XG4gICAgd2lkdGg6IDE0MHB4OyB9XG4gIC5jb250YWluZXIgLnRocmVlIHtcbiAgICB3aWR0aDogMjIwcHg7IH1cbiAgLmNvbnRhaW5lciAuZm91ciB7XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gIC5jb250YWluZXIgLmZpdmUge1xuICAgIHdpZHRoOiAzODBweDsgfVxuICAuY29udGFpbmVyIC5zaXgge1xuICAgIHdpZHRoOiA0NjBweDsgfVxuICAuY29udGFpbmVyIC5zZXZlbiB7XG4gICAgd2lkdGg6IDU0MHB4OyB9XG4gIC5jb250YWluZXIgLmVpZ2h0IHtcbiAgICB3aWR0aDogNjIwcHg7IH1cbiAgLmNvbnRhaW5lciAubmluZSB7XG4gICAgd2lkdGg6IDcwMHB4OyB9XG4gIC5jb250YWluZXIgLnRlbiB7XG4gICAgd2lkdGg6IDc4MHB4OyB9XG4gIC5jb250YWluZXIgLmVsZXZlbiB7XG4gICAgd2lkdGg6IDg2MHB4OyB9XG4gIC5jb250YWluZXIgLnR3ZWx2ZSB7XG4gICAgd2lkdGg6IDk0MHB4OyB9XG4gIC5jb250YWluZXIgLnRoaXJ0ZWVuIHtcbiAgICB3aWR0aDogMTAyMHB4OyB9XG4gIC5jb250YWluZXIgLmZvdXJ0ZWVuIHtcbiAgICB3aWR0aDogMTEwMHB4OyB9XG4gIC5jb250YWluZXIgLmZpZnRlZW4ge1xuICAgIHdpZHRoOiAxMTgwcHg7IH1cbiAgLmNvbnRhaW5lciAuc2l4dGVlbiB7XG4gICAgd2lkdGg6IDEyNjBweDsgfVxuICAuY29udGFpbmVyIC5vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAuY29udGFpbmVyIC50d28tdGhpcmRzIHtcbiAgICB3aWR0aDogNjIwcHg7IH1cbiAgLmNvbnRhaW5lciAub25lLWhhbGYge1xuICAgIHdpZHRoOiA0NjBweDsgfVxuICAuY29udGFpbmVyIC5vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDIyMHB4OyB9XG4gIC5jb250YWluZXIgLnRocmVlLXF1YXJ0ZXJzIHtcbiAgICB3aWR0aDogNzAwcHg7IH1cbiAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LW9uZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS10d28ge1xuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cbiAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXRocmVlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1mb3VyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1maXZlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1zaXgge1xuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cbiAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXNldmVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1laWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxuICAuY29udGFpbmVyIC5vZmZzZXQtYnktbmluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxuICAuY29udGFpbmVyIC5vZmZzZXQtYnktdGVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwMHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1lbGV2ZW4ge1xuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cbiAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXR3ZWx2ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxuICAuY29udGFpbmVyIC5vZmZzZXQtYnktdGhpcnRlZW4ge1xuICAgIHBhZGRpbmctbGVmdDogMTA0MHB4OyB9XG4gIC5jb250YWluZXIgLm9mZnNldC1ieS1mb3VydGVlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cbiAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LWZpZnRlZW4ge1xuICAgIHBhZGRpbmctbGVmdDogMTIwMHB4OyB9XG4gIC5jb250YWluZXIgLnB1bGwtYnktb25lIHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS10d28ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTYwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS10aHJlZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNDBweDsgfVxuICAuY29udGFpbmVyIC5wdWxsLWJ5LWZvdXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzIwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS1maXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTQwMHB4OyB9XG4gIC5jb250YWluZXIgLnB1bGwtYnktc2l4IHtcbiAgICBtYXJnaW4tbGVmdDogLTQ4MHB4OyB9XG4gIC5jb250YWluZXIgLnB1bGwtYnktc2V2ZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtNTYwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS1laWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC02NDBweDsgfVxuICAuY29udGFpbmVyIC5wdWxsLWJ5LW5pbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzIwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS10ZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtODAwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS1lbGV2ZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtODgwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS10d2VsdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtOTYwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS10aGlydGVlbiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDQwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS1mb3VydGVlbiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMTIwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVsbC1ieS1maWZ0ZWVuIHtcbiAgICBtYXJnaW4tbGVmdDogLTEyMDBweDsgfVxuICAuY29udGFpbmVyIC5wdXNoLWJ5LW9uZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS10d28ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNjBweDsgfVxuICAuY29udGFpbmVyIC5wdXNoLWJ5LXRocmVlIHtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1mb3VyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1maXZlIHtcbiAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1zaXgge1xuICAgIG1hcmdpbi1sZWZ0OiA0ODBweDsgfVxuICAuY29udGFpbmVyIC5wdXNoLWJ5LXNldmVuIHtcbiAgICBtYXJnaW4tbGVmdDogNTYwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1laWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY0MHB4OyB9XG4gIC5jb250YWluZXIgLnB1c2gtYnktbmluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDcyMHB4OyB9XG4gIC5jb250YWluZXIgLnB1c2gtYnktdGVuIHtcbiAgICBtYXJnaW4tbGVmdDogODAwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1lbGV2ZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA4ODBweDsgfVxuICAuY29udGFpbmVyIC5wdXNoLWJ5LXR3ZWx2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDk2MHB4OyB9XG4gIC5jb250YWluZXIgLnB1c2gtYnktdGhpcnRlZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDQwcHg7IH1cbiAgLmNvbnRhaW5lciAucHVzaC1ieS1mb3VydGVlbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDExMjBweDsgfVxuICAuY29udGFpbmVyIC5wdXNoLWJ5LWZpZnRlZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMjAwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzY4cHg7IH1cbiAgICAuY29udGFpbmVyIC5vbmUge1xuICAgICAgd2lkdGg6IDQ0cHg7IH1cbiAgICAuY29udGFpbmVyIC50d28ge1xuICAgICAgd2lkdGg6IDEwOHB4OyB9XG4gICAgLmNvbnRhaW5lciAudGhyZWUge1xuICAgICAgd2lkdGg6IDE3MnB4OyB9XG4gICAgLmNvbnRhaW5lciAuZm91ciB7XG4gICAgICB3aWR0aDogMjM2cHg7IH1cbiAgICAuY29udGFpbmVyIC5maXZlIHtcbiAgICAgIHdpZHRoOiAzMDBweDsgfVxuICAgIC5jb250YWluZXIgLnNpeCB7XG4gICAgICB3aWR0aDogMzY0cHg7IH1cbiAgICAuY29udGFpbmVyIC5zZXZlbiB7XG4gICAgICB3aWR0aDogNDI4cHg7IH1cbiAgICAuY29udGFpbmVyIC5laWdodCB7XG4gICAgICB3aWR0aDogNDkycHg7IH1cbiAgICAuY29udGFpbmVyIC5uaW5lIHtcbiAgICAgIHdpZHRoOiA1NTZweDsgfVxuICAgIC5jb250YWluZXIgLnRlbiB7XG4gICAgICB3aWR0aDogNjIwcHg7IH1cbiAgICAuY29udGFpbmVyIC5lbGV2ZW4ge1xuICAgICAgd2lkdGg6IDY4NHB4OyB9XG4gICAgLmNvbnRhaW5lciAudHdlbHZlIHtcbiAgICAgIHdpZHRoOiA3NDhweDsgfVxuICAgIC5jb250YWluZXIgLnRoaXJ0ZWVuIHtcbiAgICAgIHdpZHRoOiA4MTJweDsgfVxuICAgIC5jb250YWluZXIgLmZvdXJ0ZWVuIHtcbiAgICAgIHdpZHRoOiA4NzZweDsgfVxuICAgIC5jb250YWluZXIgLmZpZnRlZW4ge1xuICAgICAgd2lkdGg6IDk0MHB4OyB9XG4gICAgLmNvbnRhaW5lciAuc2l4dGVlbiB7XG4gICAgICB3aWR0aDogMTAwNHB4OyB9XG4gICAgLmNvbnRhaW5lciAub25lLXRoaXJkIHtcbiAgICAgIHdpZHRoOiAyMzZweDsgfVxuICAgIC5jb250YWluZXIgLnR3by10aGlyZHMge1xuICAgICAgd2lkdGg6IDQ5MnB4OyB9XG4gICAgLmNvbnRhaW5lciAub25lLWhhbGYge1xuICAgICAgd2lkdGg6IDM2NHB4OyB9XG4gICAgLmNvbnRhaW5lciAub25lLXF1YXJ0ZXIge1xuICAgICAgd2lkdGg6IDE3MnB4OyB9XG4gICAgLmNvbnRhaW5lciAudGhyZWUtcXVhcnRlcnMge1xuICAgICAgd2lkdGg6IDU1NnB4OyB9XG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LW9uZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdHdvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdGhyZWUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS1mb3VyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZml2ZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXNpeCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXNldmVuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZWlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS1uaW5lIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdGVuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZWxldmVuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdHdlbHZlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdGhpcnRlZW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MzJweDsgfVxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS1mb3VydGVlbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LWZpZnRlZW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktb25lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNjRweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktdHdvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTI4cHg7IH1cbiAgICAuY29udGFpbmVyIC5wdWxsLWJ5LXRocmVlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTkycHg7IH1cbiAgICAuY29udGFpbmVyIC5wdWxsLWJ5LWZvdXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yNTZweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktZml2ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTMyMHB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVsbC1ieS1zaXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zODRweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktc2V2ZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00NDhweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktZWlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MTJweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktbmluZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTU3NnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVsbC1ieS10ZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC02NDBweDsgfVxuICAgIC5jb250YWluZXIgLnB1bGwtYnktZWxldmVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNzA0cHg7IH1cbiAgICAuY29udGFpbmVyIC5wdWxsLWJ5LXR3ZWx2ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTc2OHB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVsbC1ieS10aGlydGVlbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTgzMnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVsbC1ieS1mb3VydGVlbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTg5NnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVsbC1ieS1maWZ0ZWVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOTYwcHg7IH1cbiAgICAuY29udGFpbmVyIC5wdXNoLWJ5LW9uZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNjRweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktdHdvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMjhweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktdGhyZWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE5MnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVzaC1ieS1mb3VyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTZweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktZml2ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAuY29udGFpbmVyIC5wdXNoLWJ5LXNpeCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzg0cHg7IH1cbiAgICAuY29udGFpbmVyIC5wdXNoLWJ5LXNldmVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0NDhweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktZWlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUxMnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVzaC1ieS1uaW5lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1NzZweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktdGVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2NDBweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktZWxldmVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3MDRweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktdHdlbHZlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NjhweDsgfVxuICAgIC5jb250YWluZXIgLnB1c2gtYnktdGhpcnRlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDgzMnB4OyB9XG4gICAgLmNvbnRhaW5lciAucHVzaC1ieS1mb3VydGVlbiB7XG4gICAgICBtYXJnaW4tbGVmdDogODk2cHg7IH1cbiAgICAuY29udGFpbmVyIC5wdXNoLWJ5LWZpZnRlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDk2MHB4OyB9XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA3NjhweDsgfSB9XG5cbi8qXG4gICNNb2JpbGUgR3JpZFxuICBFdmVyeSBjb2x1bW4gZWxlbWVudCBpbiB0aGlzIGdyaWQgaXMgdGhlIHRvdGFsIGdyaWQgd2lkdGhcbiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgICAuY29udGFpbmVyIC5vbmUsXG4gICAgLmNvbnRhaW5lciAudHdvLFxuICAgIC5jb250YWluZXIgLnRocmVlLFxuICAgIC5jb250YWluZXIgLmZvdXIsXG4gICAgLmNvbnRhaW5lciAuZml2ZSxcbiAgICAuY29udGFpbmVyIC5zaXgsXG4gICAgLmNvbnRhaW5lciAuc2V2ZW4sXG4gICAgLmNvbnRhaW5lciAuZWlnaHQsXG4gICAgLmNvbnRhaW5lciAubmluZSxcbiAgICAuY29udGFpbmVyIC50ZW4sXG4gICAgLmNvbnRhaW5lciAuZWxldmVuLFxuICAgIC5jb250YWluZXIgLnR3ZWx2ZSxcbiAgICAuY29udGFpbmVyIC50aGlydGVlbixcbiAgICAuY29udGFpbmVyIC5mb3VydGVlbixcbiAgICAuY29udGFpbmVyIC5maWZ0ZWVuLFxuICAgIC5jb250YWluZXIgLnNpeHRlZW4sXG4gICAgLmNvbnRhaW5lciAub25lLXRoaXJkLFxuICAgIC5jb250YWluZXIgLnR3by10aGlyZHMsXG4gICAgLmNvbnRhaW5lciAub25lLWhhbGYsXG4gICAgLmNvbnRhaW5lciAub25lLXF1YXJ0ZXIsXG4gICAgLmNvbnRhaW5lciAudGhyZWUtcXVhcnRlcnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udGFpbmVyIC5jb2x1bW4sIC5jb250YWluZXIgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LW9uZSxcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktdHdvLFxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS10aHJlZSxcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZm91cixcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZml2ZSxcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktc2l4LFxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS1zZXZlbixcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZWlnaHQsXG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LW5pbmUsXG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXRlbixcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZWxldmVuLFxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS10d2VsdmUsXG4gICAgLmNvbnRhaW5lciAub2Zmc2V0LWJ5LXRoaXJ0ZWVuLFxuICAgIC5jb250YWluZXIgLm9mZnNldC1ieS1mb3VydGVlbixcbiAgICAuY29udGFpbmVyIC5vZmZzZXQtYnktZmlmdGVlbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4vKlxuICAjI0F1dG8tYXBwbGllZCBjbGVhcmZpeCBmb3IgLmNvbnRhaW5lciBlbGVtZW50c1xuXG4gIGBgYDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICBUaGlzIGVsZW1lbnQgaGFzIGNsZWFyZml4IGFwcGxpZWQgaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IHRoZSA6YWZ0ZXIgY3NzIHNlbGVjdG9yXG4gIDwvZGl2PmBgYFxuKi9cbi5jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gIyNHZW5lcmFsIHVzZSBjbGVhcmZpeCBjbGFzc1xuIGBgYDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPlRoaXMgaGF6IGNsZWFyZml4PC9kaXY+YGBgXG4gVXNlIHRoaXMgY2xlYXJmaXggY2xhc3Mgb24gcGFyZW50IHRvIGNsZWFyIG5lc3RlZCBjb2x1bW5zLCBvcjpcbiB3cmFwIGVhY2ggcm93IG9mIGNvbHVtbnMgaW4gYSBgYGA8ZGl2IGNsYXNzPVwicm93XCI+Li4uPC9kaXY+YGBgXG4qL1xuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5yb3c6YmVmb3JlLFxuLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwMjAnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qXG4gICMjQXV0by1hcHBsaWVkIGNsZWFyZml4IGZvciAucm93IGVsZW1lbnRzXG5cbiAgYGBgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIFRoaXMgZWxlbWVudCBoYXMgY2xlYXJmaXggYXBwbGllZCBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgdGhlIDphZnRlciBjc3Mgc2VsZWN0b3JcbiAgPC9kaXY+YGBgXG4qL1xuLnJvdzphZnRlcixcbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5yb3csIC5jbGVhcmZpeCB7XG4gIHpvb206IDE7IH1cblxuLypcbiAgIyNCbG9jayBsZXZlbCBjbGVhclxuICBZb3UgY2FuIGFsc28gdXNlIGEgYGBgPGJyIGNsYXNzPVwiY2xlYXJcIj5gYGAgdG8gY2xlYXIgY29sdW1uc1xuKi9cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbmgxIGEsIGgyIGEsIGgzIGEsIGg0IGEsIGg1IGEsIGg2IGEge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5oMSB7XG4gIGNvbG9yOiAjMTgxODE4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDY5cHg7XG4gIG1hcmdpbjogMCAwIDE0cHggMDsgfVxuXG5oMiB7XG4gIGNvbG9yOiAjMTgxODE4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDUyLjVweDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG5cbmgzIHtcbiAgY29sb3I6ICMxODE4MTg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogNDJweDtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7IH1cblxuaDQge1xuICBjb2xvcjogIzE4MTgxODtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMS41cHg7XG4gIG1hcmdpbjogMCAwIDRweCAwOyB9XG5cbmg1IHtcbiAgY29sb3I6ICMxODE4MTg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMjUuNXB4OyB9XG5cbmg2IHtcbiAgY29sb3I6ICMxODE4MTg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjFweDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgY29sb3I6ICM3Nzc7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxucCBpbWcge1xuICBtYXJnaW46IDA7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMS41cHg7XG4gIGNvbG9yOiAjNzc3OyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMzsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDlweCAyMHB4IDAgMTlweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkOyB9XG5cbmJsb2NrcXVvdGUgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNTU1OyB9XG5cbmJsb2NrcXVvdGUgY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxNCBcXDAwMjBcIjsgfVxuXG5ibG9ja3F1b3RlIGNpdGUgYSwgYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCwgYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTU1OyB9XG5cbmEsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7IH1cblxucCBhLCBwIGE6dmlzaXRlZCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnVsLCBvbCB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cblxub2wsIHVsLnNxdWFyZSwgdWwuY2lyY2xlLCB1bC5kaXNjIHtcbiAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG5cbnVsLnNxdWFyZSB7XG4gIGxpc3Qtc3R5bGU6IHNxdWFyZSBvdXRzaWRlOyB9XG5cbnVsLmNpcmNsZSB7XG4gIGxpc3Qtc3R5bGU6IGNpcmNsZSBvdXRzaWRlOyB9XG5cbnVsLmRpc2Mge1xuICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7IH1cblxudWwgdWwsIHVsIG9sLFxub2wgb2wsIG9sIHVsIHtcbiAgbWFyZ2luOiA0cHggMCA1cHggMzBweDtcbiAgZm9udC1zaXplOiA5MCU7IH1cblxubGkge1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luOiAwIDAgMTJweCAwOyB9XG5cbi5sYXJnZSBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4OyB9XG5cbmxpIHAge1xuICBsaW5lLWhlaWdodDogMjFweDsgfVxuXG4uYnV0dG9uLFxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY3ZGNkO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oIzM2N2RjZCksIHRvKCMzNjdkY2QpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMzY3ZGNkLCAjMzY3ZGNkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMzY3ZGNkLCAjMzY3ZGNkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzM2N2RjZCwgIzM2N2RjZCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMzNjdkY2QsICMzNjdkY2QpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmOyB9XG5cbi5idXR0b246aG92ZXIsXG5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0M7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjdkY2Q7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjMzY3ZGNkKSwgdG8oIzM2N2RjZCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMzNjdkY2QsICMzNjdkY2QpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMzNjdkY2QsICMzNjdkY2QpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMzY3ZGNkLCAjMzY3ZGNkKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzM2N2RjZCwgIzM2N2RjZCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLmJ1dHRvbjphY3RpdmUsXG5idXR0b246YWN0aXZlLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM2Y2I0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oIzJjNmNiNCksIHRvKCMyYzZjYjQpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMmM2Y2I0LCAjMmM2Y2I0KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMmM2Y2I0LCAjMmM2Y2I0KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzJjNmNiNCwgIzJjNmNiNCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMyYzZjYjQsICMyYzZjYjQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uYnV0dG9uIC5mdWxsLXdpZHRoLFxuYnV0dG9uLmZ1bGwtd2lkdGgsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmZ1bGwtd2lkdGgsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uZnVsbC13aWR0aCxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKlxuICAjI0dlbmVyYWwgbWFyZ2lucyAoYWxsIHNpZGVzKVxuICBBcHBsaWVkIHRvIGJvdGggZm9ybSwgYW5kIGZpZWxkc2V0XG4qL1xuZm9ybSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG4vKlxuICAjI1NlYXJjaC9VUkwgZmllbGRzXG4gIE1ha2UgdGhlc2UgYmVoYXZlIGFzIHRleHQgZmllbGRzXG4qL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuLypcbiAgIyNHZW5lcmFsIGZvcm0gZWxlbWVudCBzdHlsZXMsIGJvcmRlciBldGMuXG4gIEFwcGxpZWQgdG8gYWxsIGV4Y2VwdCBjaGVja2JveGVzXG4qL1xuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZm9udDogMTNweCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzc3NztcbiAgd2lkdGg6IDIxMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLypcbiAgIyNTZWxlY3QgYm94ZXNcbiAgUGFkZGluZyBhbmQgd2lkdGggYXBwbGllZCBmcm9tIHNldHRpbmdzXG4qL1xuc2VsZWN0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDIyMHB4OyB9XG5cbi8qXG4gICMjRm9ybSBlbGVtZW50IGZvY3VzIHN0eWxlc1xuICBBcHBsaWVkIHRvIGFsbCBleGNlcHQgY2hlY2tib3hlcyBhbmQgc2VsZWN0c1xuKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgY29sb3I6ICM0NDQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbnRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogNjBweDsgfVxuXG5sYWJlbCxcbmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi8qXG4gICMjU3BhbnMgaW5zaWRlIGxlZ2VuZHMsIG9yIGxhYmVsc1xuICBBbHRlcnMgZm9udCBzaXplLCB3ZWlnaHQgYW5kIGNvbG9yIGJhc2VkIG9uIHZhcmlhYmxlc1xuKi9cbmxhYmVsIHNwYW4sXG5sZWdlbmQgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM0NDQ7IH1cblxuLypcbiAjIyBTY2FsZSBhbiBpbWFnZSBpbiBsaW5lIHdpdGggdGhlIHJlc3BvbnNpdmUgZ3JpZFxuIGBgYFxuIDxpbWcgc3JjPVwiZm9vLmpwZ1wiIHRpdGxlPVwiU2NhbGluZyBpbWFnZSBvZiBGb29cIiBjbGFzcz1cInNjYWxlLXdpdGgtZ3JpZFwiPlxuIGBgYFxuKi9cbi5zY2FsZS13aXRoLWdyaWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKlxuIyNCYXNpYyB0YWJsZSBzdHlsZVxuXG48dGFibGU+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGg+IzwvdGg+XG4gICAgICA8dGg+Rmlyc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+TGFzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5Vc2VybmFtZTwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0cj5cbiAgICAgIDx0ZD4xPC90ZD5cbiAgICAgIDx0ZD5OaWNrPC90ZD5cbiAgICAgIDx0ZD5QYWNrPC90ZD5cbiAgICAgIDx0ZD5Abmlja3BhY2s8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuKi9cbnRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwOyB9XG4gIHRhYmxlIHRoLFxuICB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQzsgfVxuICB0YWJsZSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgdGFibGUgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdGFibGUgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgdGFibGUgY29sZ3JvdXAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRhYmxlIGNvbGdyb3VwIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkLFxuICB0YWJsZSB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdGFibGUgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgdGFibGUgdGJvZHkgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQ0NDOyB9XG4gIHRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGOyB9XG5cbi8qXG4jI0NvbmRlbnNlZCB0YWJsZSBzdHlsZVxuXG48dGFibGUgY2xhc3M9XCJ0YWJsZS1jb25kZW5zZWRcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aD4jPC90aD5cbiAgICAgIDx0aD5GaXJzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5MYXN0IE5hbWU8L3RoPlxuICAgICAgPHRoPlVzZXJuYW1lPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyPlxuICAgICAgPHRkPjE8L3RkPlxuICAgICAgPHRkPk5pY2s8L3RkPlxuICAgICAgPHRkPlBhY2s8L3RkPlxuICAgICAgPHRkPkBuaWNrcGFjazwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4qL1xuLnRhYmxlLWNvbmRlbnNlZCB0aCxcbi50YWJsZS1jb25kZW5zZWQgdGQge1xuICBwYWRkaW5nOiA0cHggNXB4OyB9XG5cbi8qXG4jI0JvcmRlcmVkIHRhYmxlIHN0eWxlXG5cbjx0YWJsZSBjbGFzcz1cInRhYmxlLWJvcmRlcmVkXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGg+IzwvdGg+XG4gICAgICA8dGg+Rmlyc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+TGFzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5Vc2VybmFtZTwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0cj5cbiAgICAgIDx0ZD4xPC90ZD5cbiAgICAgIDx0ZD5OaWNrPC90ZD5cbiAgICAgIDx0ZD5QYWNrPC90ZD5cbiAgICAgIDx0ZD5Abmlja3BhY2s8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuKi9cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQ0NDOyB9XG4gIC50YWJsZS1ib3JkZXJlZCBjYXB0aW9uIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgY2FwdGlvbiB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkIGNhcHRpb24gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgY29sZ3JvdXAgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIC50YWJsZS1ib3JkZXJlZCB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1ib3JkZXJlZCB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDNweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogM3B4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1ib3JkZXJlZCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4OyB9XG4gIC50YWJsZS1ib3JkZXJlZCB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQsXG4gIC50YWJsZS1ib3JkZXJlZCB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRmb290IHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRmb290IHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAudGFibGUtYm9yZGVyZWQgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIGNhcHRpb24gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4gIC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogM3B4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuICAudGFibGUtYm9yZGVyZWQgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgY2FwdGlvbiB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuICAudGFibGUtYm9yZGVyZWQgY29sZ3JvdXAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDNweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbi8qXG4jI1N0cmlwZWQgdGFibGUgc3R5bGVcblxuPHRhYmxlIGNsYXNzPVwidGFibGUtc3RyaXBlZFwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoPiM8L3RoPlxuICAgICAgPHRoPkZpcnN0IE5hbWU8L3RoPlxuICAgICAgPHRoPkxhc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+VXNlcm5hbWU8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQ+MTwvdGQ+XG4gICAgICA8dGQ+TmljazwvdGQ+XG4gICAgICA8dGQ+UGFjazwvdGQ+XG4gICAgICA8dGQ+QG5pY2twYWNrPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiovXG4udGFibGUtc3RyaXBlZCB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpID4gdGQsXG4udGFibGUtc3RyaXBlZCB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGOyB9XG5cbi8qXG4jI0hvdmVyIHRhYmxlIHN0eWxlXG5cbjx0YWJsZSBjbGFzcz1cInRhYmxlLWhvdmVyXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGg+IzwvdGg+XG4gICAgICA8dGg+Rmlyc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+TGFzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5Vc2VybmFtZTwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0cj5cbiAgICAgIDx0ZD4xPC90ZD5cbiAgICAgIDx0ZD5OaWNrPC90ZD5cbiAgICAgIDx0ZD5QYWNrPC90ZD5cbiAgICAgIDx0ZD5Abmlja3BhY2s8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuKi9cbi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250OiAxNHB4LzIxcHggXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkICNkZGQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMTBweCAwIDMwcHg7XG4gIGhlaWdodDogMDsgfVxuXG4ub3V0bGluZS1vdmVycmlkZSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmR5bmFtaWMtc2VjdGlvbiAuYmlnLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDk1cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uZHluYW1pYy1zZWN0aW9uLmZpcnN0LXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5keW5hbWljLXNlY3Rpb24uZmlyc3Qtc2VjdGlvbiAuYmlnLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7IH1cblxuLyogTmF2ICovXG4ubmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NXB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCA0NywgODAsIDAuOSk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC5uYXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk1OXB4KSB7XG4gICAgLm5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLmxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MTJweDsgfVxuICAubG9nbyBhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA1M3B4O1xuICAgIHdpZHRoOiAzMTFweDtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICAubG9nbyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2dvIGEge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2dvIGEge1xuICAgICAgICB3aWR0aDogMjU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NTlweCkge1xuICAgICAgLmxvZ28gYSB7XG4gICAgICAgIHdpZHRoOiAzMTFweDsgfSB9XG4gIC5sb2dvIGltZyB7XG4gICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICBwYWRkaW5nOiAzNXB4IDQwcHggMzVweCA0MHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIyZjUwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC5sb2dvIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9nbyB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5sb2dvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTU5cHgpIHtcbiAgICAubG9nbyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTUxMnB4OyB9IH1cblxuLm1lbnUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuI21lbnUtdXRpbGl0eS1tZW51IHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNtZW51LXV0aWxpdHktbWVudSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAjbWVudS11dGlsaXR5LW1lbnUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgI21lbnUtdXRpbGl0eS1tZW51IGxpIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAgICNtZW51LXV0aWxpdHktbWVudSBsaS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgICBjb2xvcjogI2E5YzVlNDsgfVxuICAgICNtZW51LXV0aWxpdHktbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjYTljNWU0OyB9XG4gICAgI21lbnUtdXRpbGl0eS1tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgI21lbnUtdXRpbGl0eS1tZW51IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDNweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNtZW51LXV0aWxpdHktbWVudSBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAjbWVudS11dGlsaXR5LW1lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk1OXB4KSB7XG4gICAgICAjbWVudS11dGlsaXR5LW1lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAxMnB4OyB9IH1cbiAgI21lbnUtdXRpbGl0eS1tZW51IGEge1xuICAgIGNvbG9yOiAjNDE4ZGUyOyB9XG4gICAgI21lbnUtdXRpbGl0eS1tZW51IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNhOWM1ZTQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgI21lbnUtdXRpbGl0eS1tZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI21lbnUtdXRpbGl0eS1tZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG5cbiNtZW51LW1haW4tbWVudSB7XG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAjbWVudS1tYWluLW1lbnUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNtZW51LW1haW4tbWVudSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfSB9XG4gICNtZW51LW1haW4tbWVudSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBwYWRkaW5nOiA1cHggMTJweCA2cHg7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gICAgI21lbnUtbWFpbi1tZW51IGxpLmN1cnJlbnQtcGFnZS1hbmNlc3RvciBhIHtcbiAgICAgIGNvbG9yOiAjYTljNWU0OyB9XG4gICAgI21lbnUtbWFpbi1tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgY29sb3I6ICNhOWM1ZTQ7IH1cbiAgICAjbWVudS1tYWluLW1lbnUgbGkgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICNtZW51LW1haW4tbWVudSBsaSBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgI21lbnUtbWFpbi1tZW51IGxpIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIyNjdiNSAhaW1wb3J0YW50OyB9XG4gICAgICAjbWVudS1tYWluLW1lbnUgbGkgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICNtZW51LW1haW4tbWVudSBsaSB7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMHB4IDJweCA2cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjbWVudS1tYWluLW1lbnUgbGkge1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCA3cHggNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICNtZW51LW1haW4tbWVudSBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NTlweCkge1xuICAgICAgI21lbnUtbWFpbi1tZW51IGxpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEycHggNnB4O1xuICAgICAgICBmb250LXNpemU6IDE3cHg7IH0gfVxuICAjbWVudS1tYWluLW1lbnUgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICNtZW51LW1haW4tbWVudSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuI3VuZGVyLW5hdi10ZXh0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogODRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgei1pbmRleDogOTk5ODsgfVxuICAjdW5kZXItbmF2LXRleHQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDlweCAwIDVweCA2MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC8qXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0Zm9udC1zaXplOjEwcHg7XG5cdFx0XHRwYWRkaW5nOjlweCAwIDVweCA1NXB4O1xuXHRcdH1cbiovIH1cbiAgICAjdW5kZXItbmF2LXRleHQgcCBhIHtcbiAgICAgIGNvbG9yOiAjNDE4ZGUyOyB9XG4gICAgICAjdW5kZXItbmF2LXRleHQgcCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhOWM1ZTQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICN1bmRlci1uYXYtdGV4dCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMCA1cHggNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk1OXB4KSB7XG4gICAgICAjdW5kZXItbmF2LXRleHQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogOXB4IDAgNXB4IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAjdW5kZXItbmF2LXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3VuZGVyLW5hdi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBIZXJvIFN0eWxlcyAqL1xuLmJpZy1oZXJvIHtcbiAgaGVpZ2h0OiA3MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjsgfVxuICAuYmlnLWhlcm8gLnNsaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgei1pbmRleDogOTUwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLmJpZy1oZXJvIC5zbGlkZSB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYmlnLWhlcm8gLnNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDsgfSB9XG4gIC5iaWctaGVybyAjaGVyby1kb3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5ODA7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgLmJpZy1oZXJvICNoZXJvLWRvdCBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgdGV4dC1zaGFkb3c6IDBweCA0cHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KSwgMHB4IDhweCAxM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMHB4IDE4cHggMjNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuYmlnLWhlcm8gI2hlcm8tZG90IC5jeWNsZS1wYWdlci1hY3RpdmUge1xuICAgICAgY29sb3I6ICM1N2FjZGE7IH1cbiAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmOyB9XG4gICAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2UgaDEge1xuICAgICAgd2lkdGg6IDUxNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDRweCBibGFjayAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2UgaDEge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHggMCAxNXB4IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5iaWctaGVybyAuaGVyby1tZXNzYWdlIGgxIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDAgMTVweCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2UgaDEge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAwIDE1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgICAuYmlnLWhlcm8gLmhlcm8tbWVzc2FnZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuYmlnLWhlcm8gLmhlcm8tbWVzc2FnZSBwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICAgIC5iaWctaGVybyAuaGVyby1tZXNzYWdlIHAge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG4gICAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2UgYSB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggYmxhY2sgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLmJpZy1oZXJvIC5oZXJvLW1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYmlnLWhlcm8gLmhlcm8tbWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC5iaWctaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGhlaWdodDogMzgzcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5iaWctaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGhlaWdodDogMzgzcHg7IH0gfVxuXG4uc21hbGwtaGVybyB7XG4gIGhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgei1pbmRleDogOTUwMDsgfVxuICAgIC5zbWFsbC1oZXJvIC5zbWFsbC1zbGlkZSAuaGVyby1tZXNzYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUgLmhlcm8tbWVzc2FnZSBoMSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNHB4IGJsYWNrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUgLmhlcm8tbWVzc2FnZSBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUgLmhlcm8tbWVzc2FnZSBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICAgIC5zbWFsbC1oZXJvIC5zbWFsbC1zbGlkZSAuaGVyby1tZXNzYWdlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUgLmhlcm8tbWVzc2FnZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIC5zbWFsbC1oZXJvIC5zbWFsbC1zbGlkZSAuaGVyby1xdWljay1pbWFnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjg1cHg7IH1cbiAgICAgIC5zbWFsbC1oZXJvIC5zbWFsbC1zbGlkZSAuaGVyby1xdWljay1pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCAwcHggIzhjODc3YzsgfVxuICAgIC5zbWFsbC1oZXJvIC5zbWFsbC1zbGlkZSAuaGVyby1xdWljay1pbWFnZS1jYXB0aW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUgLmhlcm8tcXVpY2staW1hZ2UtY2FwdGlvbiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnNtYWxsLWhlcm8gLnNtYWxsLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAyMTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICAuc21hbGwtaGVybyAuc21hbGwtc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDE4MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLnNtYWxsLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc21hbGwtaGVybyB7XG4gICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4vKiBMYXlvdXQgU3R5bGVzICovXG4uZnVsbHdpZHRoIGgxLCAudGFiYmVkY29udGVudCBoMSwgLnR3by1jb2x1bW4gaDEsIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIGgxLCAudHdvLWNvbHVtbi1zbWFsbC1sYXJnZSBoMSwgLnRocmVlLWNvbHVtbnMgaDEsIC5mb3VyLWNvbHVtbnMgaDEge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBmb250LXNpemU6IDMwcHg7XG4gIGNvbG9yOiAjMDQ0MzY2O1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi5mdWxsd2lkdGggaDIsIC50YWJiZWRjb250ZW50IGgyLCAudHdvLWNvbHVtbiBoMiwgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaDIsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGgyLCAudGhyZWUtY29sdW1ucyBoMiwgLmZvdXItY29sdW1ucyBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjNmY2ZjZlO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5mdWxsd2lkdGggaDMsIC50YWJiZWRjb250ZW50IGgzLCAudHdvLWNvbHVtbiBoMywgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaDMsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGgzLCAudGhyZWUtY29sdW1ucyBoMywgLmZvdXItY29sdW1ucyBoMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGNvbG9yOiAjMDQ0MzY2OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC5mdWxsd2lkdGggaDMsIC50YWJiZWRjb250ZW50IGgzLCAudHdvLWNvbHVtbiBoMywgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaDMsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGgzLCAudGhyZWUtY29sdW1ucyBoMywgLmZvdXItY29sdW1ucyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZnVsbHdpZHRoIGgzLCAudGFiYmVkY29udGVudCBoMywgLnR3by1jb2x1bW4gaDMsIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIGgzLCAudHdvLWNvbHVtbi1zbWFsbC1sYXJnZSBoMywgLnRocmVlLWNvbHVtbnMgaDMsIC5mb3VyLWNvbHVtbnMgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5mdWxsd2lkdGggaDYsIC50YWJiZWRjb250ZW50IGg2LCAudHdvLWNvbHVtbiBoNiwgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaDYsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGg2LCAudGhyZWUtY29sdW1ucyBoNiwgLmZvdXItY29sdW1ucyBoNiB7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4uZnVsbHdpZHRoIHAsIC50YWJiZWRjb250ZW50IHAsIC50d28tY29sdW1uIHAsIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIHAsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIHAsIC50aHJlZS1jb2x1bW5zIHAsIC5mb3VyLWNvbHVtbnMgcCB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZnVsbHdpZHRoIGEsIC50YWJiZWRjb250ZW50IGEsIC50d28tY29sdW1uIGEsIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIGEsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGEsIC50aHJlZS1jb2x1bW5zIGEsIC5mb3VyLWNvbHVtbnMgYSB7XG4gIGNvbG9yOiAjMzY3ZGNkICFpbXBvcnRhbnQ7IH1cbiAgLmZ1bGx3aWR0aCBhOmhvdmVyLCAudGFiYmVkY29udGVudCBhOmhvdmVyLCAudHdvLWNvbHVtbiBhOmhvdmVyLCAudHdvLWNvbHVtbi1sYXJnZS1zbWFsbCBhOmhvdmVyLCAudHdvLWNvbHVtbi1zbWFsbC1sYXJnZSBhOmhvdmVyLCAudGhyZWUtY29sdW1ucyBhOmhvdmVyLCAuZm91ci1jb2x1bW5zIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMTIyZjUwOyB9XG5cbi5mdWxsd2lkdGggaW1nLCAudGFiYmVkY29udGVudCBpbWcsIC50d28tY29sdW1uIGltZywgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaW1nLCAudHdvLWNvbHVtbi1zbWFsbC1sYXJnZSBpbWcsIC50aHJlZS1jb2x1bW5zIGltZywgLmZvdXItY29sdW1ucyBpbWcge1xuICB3aWR0aDogOTUlO1xuICBib3JkZXI6IDZweCBzb2xpZCAjZGRkO1xuICBib3gtc2hhZG93OiAycHggMnB4IDVweCAwcHggIzhjODc3YzsgfVxuXG4uZnVsbHdpZHRoIC5yb3csIC50YWJiZWRjb250ZW50IC5yb3csIC50d28tY29sdW1uIC5yb3csIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIC5yb3csIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIC5yb3csIC50aHJlZS1jb2x1bW5zIC5yb3csIC5mb3VyLWNvbHVtbnMgLnJvdyB7XG4gIHBhZGRpbmc6IDI1cHggMDsgfVxuXG4uaG9tZSBhOmhvdmVyIHtcbiAgY29sb3I6ICMxMjJmNTA7IH1cblxuLmhvbWUgLmZpcnN0LXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAtNDhweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5ob21lIC5maXJzdC1zZWN0aW9uIC5iaWctY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5ob21lIC5maXJzdCB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7IH1cblxuLmhvbWUgLm90aGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyB9XG5cbi5ob21lIC5tZXRhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2FlYWRhOTsgfVxuXG4uaG9tZSAuZW50cnktY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmhvbWUgLmNhbGVuZGFyLWV2ZW50cyB7XG4gIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50OyB9XG4gIC5ob21lIC5jYWxlbmRhci1ldmVudHMgcCB7XG4gICAgcGFkZGluZzogNXB4IDAgIWltcG9ydGFudDsgfVxuICAuaG9tZSAuY2FsZW5kYXItZXZlbnRzIGg0IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM2ZjZmNmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAuaG9tZSAuY2FsZW5kYXItZXZlbnRzIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLmhvbWUgLmNhbGVuZGFyLWV2ZW50cyAubWV0YSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG5cbi5ob21lIC5yb3cge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zdWItbWVudS1pbi1jb250ZW50IGxpIGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zdWItbWVudS1pbi1jb250ZW50IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICBjb2xvcjogI2E5YzVlNCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zdWItbWVudS1pbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5zdWItbWVudS1pbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9IH1cblxuLm1ldGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjYWVhZGE5OyB9XG5cbi50YWJiZWRjb250ZW50IC50YWItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NywgMjQ3LCAyNDcsIDAuOSk7XG4gIHotaW5kZXg6IDk5OTg7IH1cblxuLnRhYmJlZGNvbnRlbnQgLnRhYnMge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIFszXSAqLyB9XG4gIC50YWJiZWRjb250ZW50IC50YWJzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjNmY2ZjZlO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAudGFiYmVkY29udGVudCAudGFicyBsaS5jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogIzM2N2RjZDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLnRhYmJlZGNvbnRlbnQgLnRhYnMgbGkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfSB9XG5cbi50YWJiZWRjb250ZW50IC50YWItY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDk1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLnRhYmJlZGNvbnRlbnQgLnRhYi1jb250ZW50LmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cblxuLnRhYmJlZGNvbnRlbnQgLnRhYi1zdWJuYXYgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgLnRhYmJlZGNvbnRlbnQgLnRhYi1zdWJuYXYgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi50YWJiZWRjb250ZW50IC50YWItc3VibmF2IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMzY3ZGNkOyB9XG4gIC50YWJiZWRjb250ZW50IC50YWItc3VibmF2IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMTIyZjUwOyB9XG5cbi50d28tY29sdW1uIHAge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgfVxuXG4udHdvLWNvbHVtbiBmaWdjYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTEsIDE2OSwgMjUsIDAuODUpOyB9XG5cbi50d28tY29sdW1uIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbi50d28tY29sdW1uLWxhcmdlLXNtYWxsIC50aHJlZSBoMSwgLnR3by1jb2x1bW4tc21hbGwtbGFyZ2UgLnRocmVlIGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzEyMmY1MCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzEyMmY1MDsgfVxuXG4udHdvLWNvbHVtbi1sYXJnZS1zbWFsbCAudGhyZWUgcCwgLnR3by1jb2x1bW4tc21hbGwtbGFyZ2UgLnRocmVlIHAge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgaDMsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzEyMmY1MDsgfVxuXG4udHdvLWNvbHVtbi1sYXJnZS1zbWFsbCB1bCwgLnR3by1jb2x1bW4tc21hbGwtbGFyZ2UgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgdWwgbGksIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIHVsIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgdWwgbGk6bGFzdC1jaGlsZCwgLnR3by1jb2x1bW4tc21hbGwtbGFyZ2UgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnR3by1jb2x1bW4tbGFyZ2Utc21hbGwgdWwgYSwgLnR3by1jb2x1bW4tc21hbGwtbGFyZ2UgdWwgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzM2N2RjZDsgfVxuICAgIC50d28tY29sdW1uLWxhcmdlLXNtYWxsIHVsIGE6aG92ZXIsIC50d28tY29sdW1uLXNtYWxsLWxhcmdlIHVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMxMjJmNTA7IH1cblxuLnRocmVlLWNvbHVtbnMgcCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyB9XG5cbi50aHJlZS1jb2x1bW5zIGltZyB7XG4gIHdpZHRoOiA5NSU7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNkZGQ7XG4gIGJveC1zaGFkb3c6IDJweCAycHggNXB4IDBweCAjNjY2OyB9XG5cbi5zcGFjZSBociB7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5zcGFjZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zcGFjZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5nYWxsZXJ5IHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5nYWxsZXJ5IGltZyB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBib3JkZXI6IDZweCBzb2xpZCAjZGRkO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IDBweCAjOGM4NzdjOyB9XG5cbi8qIEZvcm0gKi9cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uIHtcbiAgcGFkZGluZzogMjVweCAwIDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uX3RpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxhYmVsIHtcbiAgcGFkZGluZzogMTVweCAwIDVweDtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMCA1cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmxlZnQtZmllbGQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB3aWR0aDogMzUlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5sZWZ0LWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmxlZnQtZmllbGQtcmFkaW8gLmdmaWVsZF9sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdmb3JtX3dyYXBwZXIgLnJpZ2h0LWZpZWxkIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgd2lkdGg6IDYwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAucmlnaHQtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiA5OCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLnJpZ2h0LWZpZWxkLWRyb3Bkb3duIC5nZmllbGRfbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jbGVhci1tdWx0aSB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBoMiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIHNlbGVjdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGZsb2F0OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweCAwIDA7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5vdGhlci1iaWctcmFkaW8gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAub3RoZXItYmlnLXJhZGlvIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLm9wdGlvbi10ZXh0YXJlYSB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nZm9ybV93cmFwcGVyICNpbnB1dF8xXzE3X290aGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAjaW5wdXRfMV8xM18xLCAuZ2Zvcm1fd3JhcHBlciAjaW5wdXRfMV8xM18yLCAuZ2Zvcm1fd3JhcHBlciAjaW5wdXRfMV8xM18zLCAuZ2Zvcm1fd3JhcHBlciAjaW5wdXRfMV8xM180X2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgI2lucHV0XzFfMTNfNSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyICNpbnB1dF8xXzEzXzNfY29udGFpbmVyLCAuZ2Zvcm1fd3JhcHBlciAjaW5wdXRfMV8xM180X2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgI2lucHV0XzFfMTNfNV9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyICNpbnB1dF8xXzEzXzQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmdmb3JtX3dyYXBwZXIgI2lucHV0XzFfMTNfNF9sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgI2lucHV0XzFfMTNfNCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiBOZXdzICovXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLW5ld3MgLmR5bmFtaWMtc2VjdGlvbiAuYmlnLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuI2Zvb3RlciAuYmlnLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDQ1cHggMDtcbiAgY29sb3I6ICNlMGVlZjM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzVlYTA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmdfc2hhZG93LnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgfVxuICAjZm9vdGVyIC5iaWctY29udGFpbmVyIHN0cm9uZyB7XG4gICAgY29sb3I6ICNlMGVlZjM7IH1cblxuI2Zvb3RlciBhIHtcbiAgY29sb3I6ICNmM2ViYTU7IH1cblxuI2Zvb3RlciAubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAjZm9vdGVyIC5tZW51IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAjZm9vdGVyIC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI2Zvb3RlciAubWVudSBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICNmb290ZXIgLm1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZjdmMGFkOyB9XG4gICAgI2Zvb3RlciAubWVudSBsaSBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICNmb290ZXIgLm1lbnUgbGkgbGkgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gICNmb290ZXIgLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgIGNvbG9yOiAjNjA5MWM4OyB9XG4gICNmb290ZXIgLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtIGxpIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbiNmb290ZXIgLmZvb3Rlci1zb2NpYWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4jYWNjcmVkaXRlZCAuYmlnLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDY1cHggMCAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjJiOTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iZ19zaGFkb3cucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG4gICNhY2NyZWRpdGVkIC5iaWctY29udGFpbmVyIC5sZWZ0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqKiBFU1NFTlRJQUwgU1RZTEVTICoqKi9cbiNtZW51LW1haW4tbWVudSwgI21lbnUtbWFpbi1tZW51ICoge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiNtZW51LW1haW4tbWVudSBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbWVudS1tYWluLW1lbnUgdWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk7IH1cblxuI21lbnUtbWFpbi1tZW51ID4gbGkge1xuICBmbG9hdDogbGVmdDsgfVxuXG4jbWVudS1tYWluLW1lbnUgbGk6aG92ZXIgPiB1bCxcbiNtZW51LW1haW4tbWVudSBsaS5zZkhvdmVyID4gdWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jbWVudS1tYWluLW1lbnUgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbWVudS1tYWluLW1lbnUgdWwgdWwge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLyoqKiBERU1PIFNLSU4gKioqL1xuI21lbnUtbWFpbi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jbWVudS1tYWluLW1lbnUgdWwge1xuICBtaW4td2lkdGg6IDEyZW07XG4gIC8qIGFsbG93IGxvbmcgbWVudSBpdGVtcyB0byBkZXRlcm1pbmUgc3VibWVudSB3aWR0aCAqL1xuICAqd2lkdGg6IDEyZW07XG4gIC8qIG5vIGF1dG8gc3ViIHdpZHRoIGZvciBJRTcsIHNlZSB3aGl0ZS1zcGFjZSBjb21tZW50IGJlbG93ICovIH1cblxuI21lbnUtbWFpbi1tZW51IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHpvb206IDE7XG4gIC8qIElFNyAqLyB9XG5cbiNtZW51LW1haW4tbWVudSBsaSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIG5vIG5lZWQgZm9yIFN1cGVyc3VicyBwbHVnaW4gKi9cbiAgKndoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIC4uLnVubGVzcyB5b3Ugc3VwcG9ydCBJRTcgKGxldCBpdCB3cmFwKSAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOyB9XG5cbiNtZW51LW1haW4tbWVudSB1bCBsaSB7XG4gIGJhY2tncm91bmQ6ICMzNjdkY2Q7IH1cblxuI21lbnUtbWFpbi1tZW51IHVsIHVsIGxpIHtcbiAgYmFja2dyb3VuZDogIzM2N2RjZDsgfVxuXG4jbWVudS1tYWluLW1lbnUgbGk6aG92ZXIsXG4jbWVudS1tYWluLW1lbnUgbGkuc2ZIb3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzNjdkY2Q7XG4gIC8qIG9ubHkgdHJhbnNpdGlvbiBvdXQsIG5vdCBpbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLyoqKiBhcnJvd3MgKGZvciBhbGwgZXhjZXB0IElFNykgKiovXG4uc2YtYXJyb3dzIC5zZi13aXRoLXVsIHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gICpwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIC8qIG5vIENTUyBhcnJvd3MgZm9yIElFNyAobGFjayBwc2V1ZG8tZWxlbWVudHMpICovIH1cblxuLyogc3R5bGluZyBmb3IgYm90aCBjc3MgYW5kIGdlbmVyYXRlZCBhcnJvd3MgKi9cbi5zZi1hcnJvd3MgLnNmLXdpdGgtdWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgLyogb3JkZXIgb2YgZm9sbG93aW5nIDMgcnVsZXMgaW1wb3J0YW50IGZvciBmYWxsYmFja3MgdG8gd29yayAqL1xuICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2RGZUVGRjtcbiAgLyogZWRpdCB0aGlzIHRvIHN1aXQgZGVzaWduIChubyByZ2JhIGluIElFOCkgKi9cbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5zZi1hcnJvd3MgPiBsaSA+IC5zZi13aXRoLXVsOmZvY3VzOmFmdGVyLFxuLnNmLWFycm93cyA+IGxpOmhvdmVyID4gLnNmLXdpdGgtdWw6YWZ0ZXIsXG4uc2YtYXJyb3dzID4gLnNmSG92ZXIgPiAuc2Ytd2l0aC11bDphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHdoaXRlO1xuICAvKiBJRTggZmFsbGJhY2sgY29sb3VyICovIH1cblxuLyogc3R5bGluZyBmb3IgcmlnaHQtZmFjaW5nIGFycm93cyAqL1xuLnNmLWFycm93cyB1bCAuc2Ytd2l0aC11bDphZnRlciB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1yaWdodDogLTNweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNkRmVFRkY7XG4gIC8qIGVkaXQgdGhpcyB0byBzdWl0IGRlc2lnbiAobm8gcmdiYSBpbiBJRTgpICovXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnNmLWFycm93cyB1bCBsaSA+IC5zZi13aXRoLXVsOmZvY3VzOmFmdGVyLFxuLnNmLWFycm93cyB1bCBsaTpob3ZlciA+IC5zZi13aXRoLXVsOmFmdGVyLFxuLnNmLWFycm93cyB1bCAuc2ZIb3ZlciA+IC5zZi13aXRoLXVsOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlOyB9XG4iLCIvKlxuI0dyaWQgU3lzdGVtXG5cbjxkaXYgY2xhc3M9XCJvbmUgY29sdW1uIGFscGhhXCI+T25lPC9kaXY+XG48ZGl2IGNsYXNzPVwiZmlmdGVlbiBjb2x1bW5zIG9tZWdhXCI+RmlmdGVlbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRocmVlIGNvbHVtbnMgYWxwaGFcIj5UaHJlZTwvZGl2PlxuPGRpdiBjbGFzcz1cInRoaXJ0ZWVuIGNvbHVtbnMgb21lZ2FcIj5UaGlydGVlbjwvZGl2PlxuPGRpdiBjbGFzcz1cInB1c2gtYnktdHdlbHZlIGZvdXIgY29sdW1ucyBhbHBoYSBvbWVnYVwiPkZvdXIgUHVzaGVkIGJ5IFR3ZWx2ZTwvZGl2PlxuPGRpdiBjbGFzcz1cInNldmVuIGNvbHVtbnMgYWxwaGFcIj5TZXZlbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm5pbmUgY29sdW1ucyBvbWVnYVwiPk5pbmU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3VyIGNvbHVtbnMgYWxwaGFcIj5Gb3VyPC9kaXY+XG48ZGl2IGNsYXNzPVwidHdlbHZlIGNvbHVtbnMgb21lZ2FcIj5Ud2VsdmU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJmaXZlIGNvbHVtbnMgYWxwaGFcIj5GaXZlPC9kaXY+XG48ZGl2IGNsYXNzPVwiZWxldmVuIGNvbHVtbnMgb21lZ2FcIj5FbGV2ZW48L2Rpdj5cbjxkaXYgY2xhc3M9XCJlaWdodCBjb2x1bW5zIGFscGhhXCI+RWlnaHQ8L2Rpdj5cbjxkaXYgY2xhc3M9XCJlaWdodCBjb2x1bW5zIG9tZWdhXCI+RWlnaHQ8L2Rpdj5cbjxkaXYgY2xhc3M9XCJzaXggY29sdW1ucyBhbHBoYVwiPlNpeDwvZGl2PlxuPGRpdiBjbGFzcz1cInRlbiBjb2x1bW5zIG9tZWdhXCI+VGVuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHVzaC1ieS1laWdodCBlaWdodCBjb2x1bW5zIGFscGhhIG9tZWdhXCI+RWlnaHQgUHVzaGVkIGJ5IEVpZ2h0PC9kaXY+XG48ZGl2IGNsYXNzPVwidGhyZWUgY29sdW1ucyBhbHBoYVwiPlRocmVlPC9kaXY+XG48ZGl2IGNsYXNzPVwidGVuIGNvbHVtbnNcIj5UZW48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHJlZSBjb2x1bW5zIG9tZWdhXCI+VGhyZWU8L2Rpdj5cbjxkaXYgY2xhc3M9XCJlbGV2ZW4gY29sdW1ucyBhbHBoYVwiPkVsZXZlbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZpdmUgY29sdW1ucyBvbWVnYVwiPkZpdmU8L2Rpdj5cbiovXG5cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICAmIC5hbHBoYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgJiAub21lZ2Ege1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogJGd1dHRlci8yO1xuICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXIvMjtcbn1cblxuLmFscGhhLW9tZWdhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gI0Rlc2t0b3AgR3JpZFxuQGluY2x1ZGUgZ3JpZCgkZGVza3RvcC1jb250YWluZXItd2lkdGgsICRjb2x1bW4tY291bnQsICRndXR0ZXIpO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAjVGFibGV0IEdyaWRcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1tYXgtYnJlYWtwb2ludCkge1xuICBAaW5jbHVkZSBncmlkKCR0YWJsZXQtY29udGFpbmVyLXdpZHRoLCAkY29sdW1uLWNvdW50LCAkZ3V0dGVyKTtcblxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogJHRhYmxldC1jb250YWluZXItd2lkdGg7XG4gIH1cbn1cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qXG4gICNNb2JpbGUgR3JpZFxuICBFdmVyeSBjb2x1bW4gZWxlbWVudCBpbiB0aGlzIGdyaWQgaXMgdGhlIHRvdGFsIGdyaWQgd2lkdGhcbiovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS1tYXgtYnJlYWtwb2ludCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogJG1vYmlsZS1jb250YWluZXItd2lkdGg7XG4gICAgJiAub25lLFxuICAgICYgLnR3byxcbiAgICAmIC50aHJlZSxcbiAgICAmIC5mb3VyLFxuICAgICYgLmZpdmUsXG4gICAgJiAuc2l4LFxuICAgICYgLnNldmVuLFxuICAgICYgLmVpZ2h0LFxuICAgICYgLm5pbmUsXG4gICAgJiAudGVuLFxuICAgICYgLmVsZXZlbixcbiAgICAmIC50d2VsdmUsXG4gICAgJiAudGhpcnRlZW4sXG4gICAgJiAuZm91cnRlZW4sXG4gICAgJiAuZmlmdGVlbixcbiAgICAmIC5zaXh0ZWVuLFxuICAgICYgLm9uZS10aGlyZCxcbiAgICAmIC50d28tdGhpcmRzLFxuICAgICYgLm9uZS1oYWxmLFxuICAgICYgLm9uZS1xdWFydGVyLFxuICAgICYgLnRocmVlLXF1YXJ0ZXJzXG4gICAgeyB3aWR0aDogJG1vYmlsZS1jb2x1bW4td2lkdGg7IH1cblxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAub2Zmc2V0LWJ5LW9uZSxcbiAgICAub2Zmc2V0LWJ5LXR3byxcbiAgICAub2Zmc2V0LWJ5LXRocmVlLFxuICAgIC5vZmZzZXQtYnktZm91cixcbiAgICAub2Zmc2V0LWJ5LWZpdmUsXG4gICAgLm9mZnNldC1ieS1zaXgsXG4gICAgLm9mZnNldC1ieS1zZXZlbixcbiAgICAub2Zmc2V0LWJ5LWVpZ2h0LFxuICAgIC5vZmZzZXQtYnktbmluZSxcbiAgICAub2Zmc2V0LWJ5LXRlbixcbiAgICAub2Zmc2V0LWJ5LWVsZXZlbixcbiAgICAub2Zmc2V0LWJ5LXR3ZWx2ZSxcbiAgICAub2Zmc2V0LWJ5LXRoaXJ0ZWVuLFxuICAgIC5vZmZzZXQtYnktZm91cnRlZW4sXG4gICAgLm9mZnNldC1ieS1maWZ0ZWVuIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIH1cbn1cblxuLy8gI0NsZWFyaW5nXG5cbi8qXG4gICMjQXV0by1hcHBsaWVkIGNsZWFyZml4IGZvciAuY29udGFpbmVyIGVsZW1lbnRzXG5cbiAgYGBgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIFRoaXMgZWxlbWVudCBoYXMgY2xlYXJmaXggYXBwbGllZCBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgdGhlIDphZnRlciBjc3Mgc2VsZWN0b3JcbiAgPC9kaXY+YGBgXG4qL1xuLmNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gIyNHZW5lcmFsIHVzZSBjbGVhcmZpeCBjbGFzc1xuIGBgYDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPlRoaXMgaGF6IGNsZWFyZml4PC9kaXY+YGBgXG4gVXNlIHRoaXMgY2xlYXJmaXggY2xhc3Mgb24gcGFyZW50IHRvIGNsZWFyIG5lc3RlZCBjb2x1bW5zLCBvcjpcbiB3cmFwIGVhY2ggcm93IG9mIGNvbHVtbnMgaW4gYSBgYGA8ZGl2IGNsYXNzPVwicm93XCI+Li4uPC9kaXY+YGBgXG4qL1xuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5yb3c6YmVmb3JlLFxuLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwMjAnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuLypcbiAgIyNBdXRvLWFwcGxpZWQgY2xlYXJmaXggZm9yIC5yb3cgZWxlbWVudHNcblxuICBgYGA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgVGhpcyBlbGVtZW50IGhhcyBjbGVhcmZpeCBhcHBsaWVkIGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCB0aGUgOmFmdGVyIGNzcyBzZWxlY3RvclxuICA8L2Rpdj5gYGBcbiovXG4ucm93OmFmdGVyLFxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3csIC5jbGVhcmZpeCB7XG4gIHpvb206IDE7XG59XG5cbi8qXG4gICMjQmxvY2sgbGV2ZWwgY2xlYXJcbiAgWW91IGNhbiBhbHNvIHVzZSBhIGBgYDxiciBjbGFzcz1cImNsZWFyXCI+YGBgIHRvIGNsZWFyIGNvbHVtbnNcbiovXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cbiIsIkBtaXhpbiBidXR0b25fYm9yZGVyKCRyaWdodGJvdHRvbSwgJHRvcGxlZnQpIHtcbiAgYm9yZGVyOiAkcmlnaHRib3R0b207XG4gIGJvcmRlci10b3A6ICR0b3BsZWZ0O1xuICBib3JkZXItbGVmdDogJHRvcGxlZnQ7XG59XG5cbkBtaXhpbiBjb2wtY291bnQoJGNvbENvdW50LCAkY29sU3BhY2luZykge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbENvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2xTcGFjaW5nO1xuICAtbW96LWNvbHVtbi1jb3VudDogJGNvbENvdW50O1xuICAtbW96LWNvbHVtbi1nYXA6ICRjb2xTcGFjaW5nO1xuICBjb2x1bW4tY291bnQ6ICRjb2xDb3VudDtcbiAgY29sdW1uLWdhcDogJGNvbFNwYWNpbmc7XG59XG5cbkBtaXhpbiBzaXplKCRoZWlnaHQsICR3aWR0aCkge1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogJHJhZGl1cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHNpemUpe1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJHNpemU7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveHNpemUpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94c2l6ZTtcbiAgLW1vei1ib3gtc2l6aW5nOiAkYm94c2l6ZTtcbiAgLW1zLWJveC1zaXppbmc6ICRib3hzaXplO1xuICAtby1ib3gtc2l6aW5nOiAkYm94c2l6ZTtcbiAgLWtodG1sLWJveC1zaXppbmc6ICRib3hzaXplO1xuICBib3gtc2l6aW5nOiAkYm94c2l6ZTtcbn1cblxuQG1peGluIGhvcml6b250YWwtZ3JhZGllbnQoJHN0YXJ0Y29sb3IsICRlbmRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2tfaGV4X2dyYWRpZW50X2JnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydGNvbG9yLCAkZW5kY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAxMDAlIDAsIGZyb20oJHN0YXJ0Y29sb3IpLCB0bygkZW5kY29sb3IpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0Y29sb3IsICRlbmRjb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydGNvbG9yLCAkZW5kY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0Y29sb3IsICRlbmRjb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIHZlcnRpY2FsLWdyYWRpZW50KCRzdGFydGNvbG9yLCAkZW5kY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrX2hleF9ncmFkaWVudF9iZztcbiAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRzdGFydGNvbG9yLCAkZW5kY29sb3IsIDYwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgkc3RhcnRjb2xvciksIHRvKCRlbmRjb2xvcikpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydGNvbG9yLCAkZW5kY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydGNvbG9yLCAkZW5kY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRjb2xvciwgJGVuZGNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0Y29sb3IsICRlbmRjb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGJveC1zaGFkb3coJGEsICRiLCAkYywgJGNvbG9yKSB7XG4gIC1tb3otYm94LXNoYWRvdzogJGEgJGIgJGMgJGNvbG9yO1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRhICRiICRjICRjb2xvcjtcbiAgYm94LXNoYWRvdzogJGEgJGIgJGMgJGNvbG9yO1xufVxuXG5AbWl4aW4gZ3JpZCgkZ3JpZC1jb250YWluZXItd2lkdGgsICRncmlkLWNvbHVtbi1jb3VudDokY29sdW1uLWNvdW50LCAkZ3JpZC1ndXR0ZXI6JGd1dHRlcikge1xuXG4gICRncmlkLWNvbHVtbi13aWR0aDogJGdyaWQtY29udGFpbmVyLXdpZHRoLyRncmlkLWNvbHVtbi1jb3VudDtcblxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogJGdyaWQtY29udGFpbmVyLXdpZHRoO1xuXG4gICAgLm9uZSAgICAgICAgIHsgd2lkdGg6ICgxKiRncmlkLWNvbHVtbi13aWR0aCAtICRncmlkLWd1dHRlcik7IH1cbiAgICAudHdvICAgICAgICAgeyB3aWR0aDogKDIqJGdyaWQtY29sdW1uLXdpZHRoIC0gJGdyaWQtZ3V0dGVyKTsgfVxuICAgIC50aHJlZSAgICAgICB7IHdpZHRoOiAoMyokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLmZvdXIgICAgICAgIHsgd2lkdGg6ICg0KiRncmlkLWNvbHVtbi13aWR0aCAtICRncmlkLWd1dHRlcik7IH1cbiAgICAuZml2ZSAgICAgICAgeyB3aWR0aDogKDUqJGdyaWQtY29sdW1uLXdpZHRoIC0gJGdyaWQtZ3V0dGVyKTsgfVxuICAgIC5zaXggICAgICAgICB7IHdpZHRoOiAoNiokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLnNldmVuICAgICAgIHsgd2lkdGg6ICg3KiRncmlkLWNvbHVtbi13aWR0aCAtICRncmlkLWd1dHRlcik7IH1cbiAgICAuZWlnaHQgICAgICAgeyB3aWR0aDogKDgqJGdyaWQtY29sdW1uLXdpZHRoIC0gJGdyaWQtZ3V0dGVyKTsgfVxuICAgIC5uaW5lICAgICAgICB7IHdpZHRoOiAoOSokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLnRlbiAgICAgICAgIHsgd2lkdGg6ICgxMCokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLmVsZXZlbiAgICAgIHsgd2lkdGg6ICgxMSokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLnR3ZWx2ZSAgICAgIHsgd2lkdGg6ICgxMiokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLnRoaXJ0ZWVuICAgIHsgd2lkdGg6ICgxMyokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLmZvdXJ0ZWVuICAgIHsgd2lkdGg6ICgxNCokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLmZpZnRlZW4gICAgIHsgd2lkdGg6ICgxNSokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLnNpeHRlZW4gICAgIHsgd2lkdGg6ICgxNiokZ3JpZC1jb2x1bW4td2lkdGggLSAkZ3JpZC1ndXR0ZXIpOyB9XG4gICAgLm9uZS10aGlyZCAgIHsgd2lkdGg6ICgkZ3JpZC1jb250YWluZXItd2lkdGgvMykgLSAkZ3JpZC1ndXR0ZXI7IH1cbiAgICAudHdvLXRoaXJkcyAgeyB3aWR0aDogKCgkZ3JpZC1jb250YWluZXItd2lkdGgvMykqMikgLSAkZ3JpZC1ndXR0ZXI7IH1cbiAgICAub25lLWhhbGYgICAgeyB3aWR0aDogKCRncmlkLWNvbnRhaW5lci13aWR0aC8yKSAtICRncmlkLWd1dHRlcjsgfVxuICAgIC5vbmUtcXVhcnRlciB7IHdpZHRoOiAoJGdyaWQtY29udGFpbmVyLXdpZHRoLzQpIC0gJGdyaWQtZ3V0dGVyOyB9XG4gICAgLnRocmVlLXF1YXJ0ZXJzIHsgd2lkdGg6ICgoJGdyaWQtY29udGFpbmVyLXdpZHRoLzQpKjMpIC0gJGdyaWQtZ3V0dGVyOyB9XG5cbiAgICAub2Zmc2V0LWJ5LW9uZSAgICAgIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGg7IH1cbiAgICAub2Zmc2V0LWJ5LXR3byAgICAgIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqMjsgfVxuICAgIC5vZmZzZXQtYnktdGhyZWUgICAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCozOyB9XG4gICAgLm9mZnNldC1ieS1mb3VyICAgICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjQ7IH1cbiAgICAub2Zmc2V0LWJ5LWZpdmUgICAgIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqNTsgfVxuICAgIC5vZmZzZXQtYnktc2l4ICAgICAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCo2OyB9XG4gICAgLm9mZnNldC1ieS1zZXZlbiAgICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjc7IH1cbiAgICAub2Zmc2V0LWJ5LWVpZ2h0ICAgIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqODsgfVxuICAgIC5vZmZzZXQtYnktbmluZSAgICAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCo5OyB9XG4gICAgLm9mZnNldC1ieS10ZW4gICAgICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEwOyB9XG4gICAgLm9mZnNldC1ieS1lbGV2ZW4gICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjExOyB9XG4gICAgLm9mZnNldC1ieS10d2VsdmUgICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEyOyB9XG4gICAgLm9mZnNldC1ieS10aGlydGVlbiB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEzOyB9XG4gICAgLm9mZnNldC1ieS1mb3VydGVlbiB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjE0OyB9XG4gICAgLm9mZnNldC1ieS1maWZ0ZWVuICB7IHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjE1OyB9XG5cbiAgICAucHVsbC1ieS1vbmUgICAgICB7IG1hcmdpbi1sZWZ0OiAtJGdyaWQtY29sdW1uLXdpZHRoOyB9XG4gICAgLnB1bGwtYnktdHdvICAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCoyOyB9XG4gICAgLnB1bGwtYnktdGhyZWUgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCozOyB9XG4gICAgLnB1bGwtYnktZm91ciAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo0OyB9XG4gICAgLnB1bGwtYnktZml2ZSAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo1OyB9XG4gICAgLnB1bGwtYnktc2l4ICAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo2OyB9XG4gICAgLnB1bGwtYnktc2V2ZW4gICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo3OyB9XG4gICAgLnB1bGwtYnktZWlnaHQgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo4OyB9XG4gICAgLnB1bGwtYnktbmluZSAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCo5OyB9XG4gICAgLnB1bGwtYnktdGVuICAgICAgeyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCoxMDsgfVxuICAgIC5wdWxsLWJ5LWVsZXZlbiAgIHsgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1jb2x1bW4td2lkdGgqMTE7IH1cbiAgICAucHVsbC1ieS10d2VsdmUgICB7IG1hcmdpbi1sZWZ0OiAtJGdyaWQtY29sdW1uLXdpZHRoKjEyOyB9XG4gICAgLnB1bGwtYnktdGhpcnRlZW4geyBtYXJnaW4tbGVmdDogLSRncmlkLWNvbHVtbi13aWR0aCoxMzsgfVxuICAgIC5wdWxsLWJ5LWZvdXJ0ZWVuIHsgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1jb2x1bW4td2lkdGgqMTQ7IH1cbiAgICAucHVsbC1ieS1maWZ0ZWVuICB7IG1hcmdpbi1sZWZ0OiAtJGdyaWQtY29sdW1uLXdpZHRoKjE1OyB9XG5cbiAgICAucHVzaC1ieS1vbmUgICAgICB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGg7IH1cbiAgICAucHVzaC1ieS10d28gICAgICB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqMjsgfVxuICAgIC5wdXNoLWJ5LXRocmVlICAgIHsgbWFyZ2luLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCozOyB9XG4gICAgLnB1c2gtYnktZm91ciAgICAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjQ7IH1cbiAgICAucHVzaC1ieS1maXZlICAgICB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqNTsgfVxuICAgIC5wdXNoLWJ5LXNpeCAgICAgIHsgbWFyZ2luLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCo2OyB9XG4gICAgLnB1c2gtYnktc2V2ZW4gICAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjc7IH1cbiAgICAucHVzaC1ieS1laWdodCAgICB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1jb2x1bW4td2lkdGgqODsgfVxuICAgIC5wdXNoLWJ5LW5pbmUgICAgIHsgbWFyZ2luLWxlZnQ6ICRncmlkLWNvbHVtbi13aWR0aCo5OyB9XG4gICAgLnB1c2gtYnktdGVuICAgICAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEwOyB9XG4gICAgLnB1c2gtYnktZWxldmVuICAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjExOyB9XG4gICAgLnB1c2gtYnktdHdlbHZlICAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEyOyB9XG4gICAgLnB1c2gtYnktdGhpcnRlZW4geyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjEzOyB9XG4gICAgLnB1c2gtYnktZm91cnRlZW4geyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjE0OyB9XG4gICAgLnB1c2gtYnktZmlmdGVlbiAgeyBtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLXdpZHRoKjE1OyB9XG4gIH1cbn1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB2aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1peGluIGhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludCgkY2xhc3MpIHtcbiAgQGlmICRjbGFzcyA9PSB4cyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiBcbiAgQGVsc2UgaWYgJGNsYXNzID09IHNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzID09IG1kIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG4gICBAZWxzZSBpZiAkY2xhc3MgPT0gbWR0YWJwb3J0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkgeyBAY29udGVudDsgfVxuICB9XG4gXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBsZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk1OXB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiBcbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCBtaXhpbiBzdXBwb3J0czogeHMsIHNtLCBtZCwgbGdcIjtcbiAgfVxufVxuXG5AbWl4aW4gc3Vja2VyZmlzaCgkdG9wTGV2ZWxXaWR0aCwgJGxvd2VyTGV2ZWxXaWR0aCkge1xuICAmIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b3BMZXZlbFdpZHRoO1xuICB9XG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogJHRvcExldmVsV2lkdGg7XG4gICAgJjpob3ZlciB7XG4gICAgICB1bCB7XG4gICAgICAgIGxlZnQ6YXV0bztcbiAgICAgICAgbGkge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGk6aG92ZXIge1xuICAgICAgdWwge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogJGxvd2VyTGV2ZWxXaWR0aDtcbiAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAtMWVtIDAgMCAkbG93ZXJMZXZlbFdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuIiwiLy8gI0dyaWQgU3lzdGVtIFZhcmlhYmxlc1xuJGd1dHRlcjogMjBweCAhZGVmYXVsdDtcbiRjb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuJGRlc2t0b3AtY29udGFpbmVyLXdpZHRoOiA5NjBweCAhZGVmYXVsdDtcbiR0YWJsZXQtY29udGFpbmVyLXdpZHRoOiA3NjhweCAhZGVmYXVsdDtcbiRtb2JpbGUtY29udGFpbmVyLXdpZHRoOiA5MCUgIWRlZmF1bHQ7XG4kbW9iaWxlLWNvbHVtbi13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRiYXNlX2ZvbnRfc2l6ZTogMTJweCAhZGVmYXVsdDtcblxuLy8gI0JyZWFrcG9pbnQgbWF4IHdpZHRocyAtIHlvdSBwcm9iYWJseSBkb250IG5lZWQgdG8gY2hhbmdlIHRoZXNlXG4kdGFibGV0LW1heC1icmVha3BvaW50OiAkZGVza3RvcC1jb250YWluZXItd2lkdGggLSAxICFkZWZhdWx0O1xuJG1vYmlsZS1tYXgtYnJlYWtwb2ludDogJHRhYmxldC1jb250YWluZXItd2lkdGggLSAxICFkZWZhdWx0O1xuXG4vLyAjRm9ybSBWYXJpYWJsZXNcbiRmb3JtX2VsZW1lbnRfZm9udDogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gIyNidXR0b25cbiRmb3JtX2J1dHRvbl9ib3JkZXJfcmFkaXVzOiAwICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2JvcmRlcl90b3BsZWZ0OiBub25lICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2JvcmRlcl9yaWdodGJvdHRvbTogbm9uZSAhZGVmYXVsdDtcbiRmb3JtX2J1dHRvbl90ZXh0X2NvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX3RleHRfc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2dyYWRpZW50X3N0YXJ0OiAjMzY3ZGNkICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2dyYWRpZW50X2VuZDogIzM2N2RjZCAhZGVmYXVsdDtcbiRmb3JtX2J1dHRvbl9mb250X3NpemU6IDEycHggIWRlZmF1bHQ7XG4kZm9ybV9idXR0b25fcGFkZGluZzogOHB4IDEwcHggIWRlZmF1bHQ7XG4kZm9ybV9idXR0b25fbGluZV9oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gIyNidXR0b24gaG92ZXJcbiRmb3JtX2J1dHRvbl9ob3Zlcl9ib3JkZXJfdG9wbGVmdDogbm9uZSAhZGVmYXVsdDtcbiRmb3JtX2J1dHRvbl9ob3Zlcl9ib3JkZXJfcmlnaHRib3R0b206IG5vbmUgIWRlZmF1bHQ7XG4kZm9ybV9idXR0b25faG92ZXJfZ3JhZGllbnRfc3RhcnQ6ICMzNjdkY2QgIWRlZmF1bHQ7XG4kZm9ybV9idXR0b25faG92ZXJfZ3JhZGllbnRfZW5kOiAjMzY3ZGNkICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2hvdmVyX3RleHRfY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vICMjQnV0dG9uIGFjdGl2ZVxuJGZvcm1fYnV0dG9uX2FjdGl2ZV9ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kZm9ybV9idXR0b25fYWN0aXZlX2dyYWRpZW50X3N0YXJ0OiAjMmM2Y2I0ICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uX2FjdGl2ZV9ncmFkaWVudF9lbmQ6ICMyYzZjYjQgIWRlZmF1bHQ7XG5cbi8vICMjRm9ybSBpbnB1dFxuJGZvcm1faW5wdXRfYm9yZGVyOiAxcHggc29saWQgI2NjYyAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X3RleHRfY29sb3I6ICM3NzcgIWRlZmF1bHQ7XG4kZm9ybV9pbnB1dF9iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGZvcm1faW5wdXRfcGFkZGluZzogNnB4IDRweCAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X3dpZHRoOiAyMTBweCAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X21heF93aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X3NlbGVjdF93aWR0aDogMjIwcHggIWRlZmF1bHQ7XG4kZm9ybV9pbnB1dF9tYXJnaW46IDAgMCAyMHB4IDAgIWRlZmF1bHQ7XG4kZm9ybV9pbnB1dF9mb250X3NpemU6IDEzcHggIWRlZmF1bHQ7XG4kZm9ybV9pbnB1dF9ib3JkZXJfcmFkaXVzOiAycHggIWRlZmF1bHQ7XG5cbi8vICMjRm9ybSBjaGVja2JveFxuJGZvcm1faW5wdXRfY2hlY2tib3hfZGlzcGxheTogaW5saW5lICFkZWZhdWx0O1xuXG4vLyAjI0Zvcm0gaW5wdXQgZm9jdXNcbiRmb3JtX2lucHV0X2ZvY3VzX2JvcmRlcjogMXB4IHNvbGlkICNhYWEgIWRlZmF1bHQ7XG4kZm9ybV9pbnB1dF9mb2N1c190ZXh0X2NvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJGZvcm1faW5wdXRfZm9jdXNfb3V0bGluZTogbm9uZSAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X2ZvY3VzX2JveF9zaGFkb3dfeDogMCAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X2ZvY3VzX2JveF9zaGFkb3dfeTogMCAhZGVmYXVsdDtcbiRmb3JtX2lucHV0X2ZvY3VzX2JveF9zaGFkb3dfYmx1cjogM3B4ICFkZWZhdWx0O1xuJGZvcm1faW5wdXRfZm9jdXNfYm94X3NoYWRvd19jb2xvcjogcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vICMjc2VsZWN0XG4kZm9ybV9pbnB1dF9zZWxlY3RfcGFkZGluZzogMTBweCAhZGVmYXVsdDtcblxuLy8gIyNmaWVsZHNldC9sYWJlbC9sZWdlbmRcbiRmb3JtX2xhYmVsX2xlZ2VuZF9jb2xvcjogIzQ0NCAhZGVmYXVsdDtcbiRmb3JtX2xhYmVsX2xlZ2VuZF9mb250X3dlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGZvcm1fZmllbGRzZXRfbWFyZ2luOiAwIDAgMjBweCAwICFkZWZhdWx0O1xuXG4kbGVnZW5kX2ZvbnRfd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJGxlZ2VuZF9mb250X3NpemU6ICRmb3JtX2lucHV0X2ZvbnRfc2l6ZSAhZGVmYXVsdDtcblxuLy8gIyNUZXh0YXJlYVxuJGZvcm1fdGV4dGFyZWFfbWluX2hlaWdodDogNjBweCAhZGVmYXVsdDtcblxuLy8gI0xpbmtzXG4kbGlua19jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRsaW5rX2RlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kbGlua19vdXRsaW5lOiAwICFkZWZhdWx0O1xuJGxpbmtfaG92ZXJfY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kbGlua19ob3Zlcl9kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLyAjSGVhZGluZ3NcbiRoZWFkaW5nX2ZvbnQ6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGhlYWRpbmdfZm9udF93ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kaGVhZGluZ19mb250MjogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGhlYWRpbmdfZm9udF93ZWlnaHQyOiBub3JtYWwgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nX2NvbG9yOiAjMTgxODE4ICFkZWZhdWx0O1xuXG4kaGVhZGluZzFfZm9udF9zaXplOiA0NnB4ICFkZWZhdWx0O1xuJGhlYWRpbmcxX2xpbmVfaGVpZ2h0OiAkaGVhZGluZzFfZm9udF9zaXplICogMS41ICFkZWZhdWx0O1xuJGhlYWRpbmcxX21hcmdpbjogMCAwIDE0cHggMCAhZGVmYXVsdDtcblxuJGhlYWRpbmcyX2ZvbnRfc2l6ZTogMzVweCAhZGVmYXVsdDtcbiRoZWFkaW5nMl9saW5lX2hlaWdodDogJGhlYWRpbmcyX2ZvbnRfc2l6ZSAqIDEuNSAhZGVmYXVsdDtcbiRoZWFkaW5nMl9tYXJnaW46IDAgMCAxMHB4IDAgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nM19mb250X3NpemU6IDI4cHggIWRlZmF1bHQ7XG4kaGVhZGluZzNfbGluZV9oZWlnaHQ6ICRoZWFkaW5nM19mb250X3NpemUgKiAxLjUgIWRlZmF1bHQ7XG4kaGVhZGluZzNfbWFyZ2luOiAwIDAgOHB4IDAgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nNF9mb250X3NpemU6IDIxcHggIWRlZmF1bHQ7XG4kaGVhZGluZzRfbGluZV9oZWlnaHQ6ICRoZWFkaW5nNF9mb250X3NpemUgKiAxLjUgIWRlZmF1bHQ7XG4kaGVhZGluZzRfbWFyZ2luOiAwIDAgNHB4IDAgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nNV9mb250X3NpemU6IDE3cHggIWRlZmF1bHQ7XG4kaGVhZGluZzVfbGluZV9oZWlnaHQ6ICRoZWFkaW5nNV9mb250X3NpemUgKiAxLjUgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nNl9mb250X3NpemU6IDE0cHggIWRlZmF1bHQ7XG4kaGVhZGluZzZfbGluZV9oZWlnaHQ6ICRoZWFkaW5nNl9mb250X3NpemUgKiAxLjUgIWRlZmF1bHQ7XG5cbi8vICNTdWJoZWFkaW5nXG4kc3ViaGVhZGVyX2NvbG9yOiAjNzc3ICFkZWZhdWx0O1xuXG4vLyAjUGFyYWdyYXBoc1xuJHBhcmFncmFwaF9tYXJnaW46IDAgMCAyMHB4IDAgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoX2ltYWdlX21hcmdpbjogMCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGhfbGluZV9oZWlnaHQ6ICRiYXNlX2ZvbnRfc2l6ZSAqIDIgIWRlZmF1bHQ7XG5cbiRwYXJhZ3JhcGhfbGVhZF9mb250X3NpemU6IDIxcHggIWRlZmF1bHQ7XG4kcGFyYWdyYXBoX2xlYWRfbGluZV9oZWlnaHQ6ICRwYXJhZ3JhcGhfbGVhZF9mb250X3NpemUgKiAxLjUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoX2xlYWRfY29sb3I6ICM3NzcgIWRlZmF1bHQ7XG5cbi8vICNHZW5lcmFsIFRleHRcbiRlbV9mb250X3N0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbiRzbWFsbF9mb250X3NpemU6IDgwJSAhZGVmYXVsdDtcblxuJHN0cm9uZ19jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuLy8gI0Jsb2NrcXVvdGVzXG4kYmxvY2txdW90ZV9jb2xvcjogIzc3NyAhZGVmYXVsdDtcbiRibG9ja3F1b3RlX2JvcmRlcl9sZWZ0OiAxcHggc29saWQgI2RkZCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlX2NpdGVfY29sb3I6ICM1NTUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9jaXRlX2xpbmtfY29sb3I6ICM1NTUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9jaXRlX2ZvbnRfc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlX21hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9wYWRkaW5nOiA5cHggMjBweCAwIDE5cHggIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9mb250X3NpemU6IDE3cHggIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9saW5lX2hlaWdodDogMjRweCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlX2ZvbnRfc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuLy8gI0hvcml6b250YWwgcnVsZXNcbiRocl9ib3JkZXI6IHNvbGlkICNkZGQgIWRlZmF1bHQ7XG4kaHJfYm9yZGVyX3dpZHRoOiAxcHggMCAwICFkZWZhdWx0O1xuJGhyX21hcmdpbjogMTBweCAwIDMwcHggIWRlZmF1bHQ7XG5cbi8vICNNYWluIGZvbnRcbiRib2R5X2ZvbnRfZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gI0xpc3RzXG4kbGlzdF9tYXJnaW46IDAgMCAyMHB4IDAgIWRlZmF1bHQ7XG4kbGlzdF9sYXJnZV9saW5lX2hlaWdodDogMjFweCAhZGVmYXVsdDtcblxuJHVsX2xpc3Rfc3R5bGU6IG5vbmUgb3V0c2lkZSAhZGVmYXVsdDtcbiRvbF9saXN0X3N0eWxlOiBkZWNpbWFsICFkZWZhdWx0O1xuXG4kbGlzdF9zdHlsZWRfbWFyZ2luOiAwIDAgMCAxMHB4ICFkZWZhdWx0OyAvLyB1bCwgb2wgd2l0aCBkaXNjLCBzcXVhcmUgZXRjLlxuJGxpc3Rfc3R5bGVkX3Bvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0OyAgLy8gTGlzdCBpdGVtIGJ1bGxldCBwb3NpdGlvblxuXG4kbmVzdGVkX2xpc3RfbWFyZ2luOiA0cHggMCA1cHggMzBweCAhZGVmYXVsdDtcbiRuZXN0ZWRfbGlzdF9mb250X3NpemU6IDkwJSAhZGVmYXVsdDtcblxuJGxpc3RfaXRlbV9saW5lX2hlaWdodDogMThweCAhZGVmYXVsdDtcbiRsaXN0X2l0ZW1fbWFyZ2luOiAwIDAgMTJweCAwICFkZWZhdWx0O1xuJGxpc3RfaXRlbV9wYXJhZ3JhcGhfbGluZV9oZWlnaHQ6IDIxcHggIWRlZmF1bHQ7XG5cbiRmYWxsYmFja19oZXhfZ3JhZGllbnRfYmc6ICNDQ0MgIWRlZmF1bHQ7XG5cbi8vICNUYWJsZXNcbiR0YWJsZV9iYWNrZ3JvdW5kOiAjRkZGICFkZWZhdWx0O1xuJHRhYmxlX21hcmdpbjogMTBweCAwICFkZWZhdWx0O1xuJHRhYmxlX3RkX3RoX3BhZGRpbmc6IDhweCAhZGVmYXVsdDtcbiR0YWJsZV90ZF90aF9saW5lX2hlaWdodDogMjFweCAhZGVmYXVsdDtcbiR0YWJsZV9ib3JkZXJfY29sb3I6ICNDQ0MgIWRlZmF1bHQ7XG4kdGFibGVfYm9yZGVyX3JhZGl1czogM3B4ICFkZWZhdWx0O1xuJHRhYmxlX2FsdF9jb2xvcjogI0VGRUZFRiAhZGVmYXVsdDtcbiR0YWJsZV9ob3Zlcl9jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiR0YWJsZV9jb25kZW5zZWRfcGFkZGluZzogNHB4IDVweCAhZGVmYXVsdDtcblxuXG4iLCIvLyAjVHlwb2dyYXBoeVxuXG5oMSBhLCBoMiBhLCBoMyBhLCBoNCBhLCBoNSBhLCBoNiBhIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxIHtcbiAgY29sb3I6ICRoZWFkaW5nX2NvbG9yO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdfZm9udDtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5nX2ZvbnRfd2VpZ2h0O1xuICBmb250LXNpemU6ICRoZWFkaW5nMV9mb250X3NpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZzFfbGluZV9oZWlnaHQ7XG4gIG1hcmdpbjogJGhlYWRpbmcxX21hcmdpbjtcbn1cblxuaDIge1xuICBjb2xvcjogJGhlYWRpbmdfY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdfZm9udF93ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGhlYWRpbmcyX2ZvbnRfc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nMl9saW5lX2hlaWdodDtcbiAgbWFyZ2luOiAkaGVhZGluZzJfbWFyZ2luO1xufVxuXG5oMyB7XG4gIGNvbG9yOiAkaGVhZGluZ19jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5nX2ZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ19mb250X3dlaWdodDtcbiAgZm9udC1zaXplOiAkaGVhZGluZzNfZm9udF9zaXplO1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmczX2xpbmVfaGVpZ2h0O1xuICBtYXJnaW46ICRoZWFkaW5nM19tYXJnaW47XG59XG5cbmg0IHtcbiAgY29sb3I6ICRoZWFkaW5nX2NvbG9yO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdfZm9udDtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5nX2ZvbnRfd2VpZ2h0O1xuICBmb250LXNpemU6ICRoZWFkaW5nNF9mb250X3NpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZzRfbGluZV9oZWlnaHQ7XG4gIG1hcmdpbjogJGhlYWRpbmc0X21hcmdpbjtcbn1cblxuaDUge1xuICBjb2xvcjogJGhlYWRpbmdfY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdfZm9udF93ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGhlYWRpbmc1X2ZvbnRfc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nNV9saW5lX2hlaWdodDtcbn1cblxuaDYge1xuICBjb2xvcjogJGhlYWRpbmdfY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdfZm9udF93ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGhlYWRpbmc2X2ZvbnRfc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nNl9saW5lX2hlaWdodDtcbn1cblxuLnN1YmhlYWRlciB7XG4gIGNvbG9yOiAkc3ViaGVhZGVyX2NvbG9yO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAkcGFyYWdyYXBoX21hcmdpbjtcbiAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGhfbGluZV9oZWlnaHQ7XG59XG5cbnAgaW1nIHtcbiAgbWFyZ2luOiAkcGFyYWdyYXBoX2ltYWdlX21hcmdpbjtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGhfbGVhZF9mb250X3NpemU7XG4gIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoX2xlYWRfbGluZV9oZWlnaHQ7XG4gIGNvbG9yOiAkcGFyYWdyYXBoX2xlYWRfY29sb3I7XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogJGVtX2ZvbnRfc3R5bGU7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHN0cm9uZ19jb2xvcjtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbF9mb250X3NpemU7XG59XG5cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGVfZm9udF9zaXplO1xuICBsaW5lLWhlaWdodDogJGJsb2NrcXVvdGVfbGluZV9oZWlnaHQ7XG4gIGNvbG9yOiAkYmxvY2txdW90ZV9jb2xvcjtcbiAgZm9udC1zdHlsZTogJGJsb2NrcXVvdGVfZm9udF9zdHlsZTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogJGJsb2NrcXVvdGVfbWFyZ2luO1xuICBwYWRkaW5nOiAkYmxvY2txdW90ZV9wYWRkaW5nO1xuICBib3JkZXItbGVmdDogJGJsb2NrcXVvdGVfYm9yZGVyX2xlZnQ7XG59XG5cbmJsb2NrcXVvdGUgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlX2NpdGVfZm9udF9zaXplO1xuICBjb2xvcjogJGJsb2NrcXVvdGVfY2l0ZV9jb2xvcjtcbn1cblxuYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xufVxuXG5ibG9ja3F1b3RlIGNpdGUgYSwgYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCwgYmxvY2txdW90ZSBjaXRlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAkYmxvY2txdW90ZV9jaXRlX2xpbmtfY29sb3I7XG59XG4iLCIvLyAjTGlua3NcbmEsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAkbGlua19jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGlua19kZWNvcmF0aW9uO1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICRsaW5rX2hvdmVyX2NvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rX2hvdmVyX2RlY29yYXRpb247XG4gIG91dGxpbmU6ICRsaW5rX291dGxpbmU7XG59XG5cbnAgYSwgcCBhOnZpc2l0ZWQge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vICNMaXN0c1xudWwsIG9sIHtcbiAgbWFyZ2luOiAkbGlzdF9tYXJnaW47XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogJHVsX2xpc3Rfc3R5bGU7XG59XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogJG9sX2xpc3Rfc3R5bGU7XG59XG5cbm9sLCB1bC5zcXVhcmUsIHVsLmNpcmNsZSwgdWwuZGlzYyB7XG4gIG1hcmdpbjogJGxpc3Rfc3R5bGVkX21hcmdpbjtcbn1cblxudWwuc3F1YXJlIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlICRsaXN0X3N0eWxlZF9wb3NpdGlvbjtcbn1cblxudWwuY2lyY2xlIHtcbiAgbGlzdC1zdHlsZTogY2lyY2xlICRsaXN0X3N0eWxlZF9wb3NpdGlvbjtcbn1cblxudWwuZGlzYyB7XG4gIGxpc3Qtc3R5bGU6IGRpc2MgJGxpc3Rfc3R5bGVkX3Bvc2l0aW9uO1xufVxuXG51bCB1bCwgdWwgb2wsXG5vbCBvbCwgb2wgdWwge1xuICBtYXJnaW46ICRuZXN0ZWRfbGlzdF9tYXJnaW47XG4gIGZvbnQtc2l6ZTogJG5lc3RlZF9saXN0X2ZvbnRfc2l6ZTtcbn1cblxubGkge1xuICBsaW5lLWhlaWdodDogJGxpc3RfaXRlbV9saW5lX2hlaWdodDtcbiAgbWFyZ2luOiAkbGlzdF9pdGVtX21hcmdpbjtcbn1cblxuLmxhcmdlIGxpIHtcbiAgbGluZS1oZWlnaHQ6ICRsaXN0X2xhcmdlX2xpbmVfaGVpZ2h0O1xufVxuXG5saSBwIHtcbiAgbGluZS1oZWlnaHQ6ICRsaXN0X2l0ZW1fcGFyYWdyYXBoX2xpbmVfaGVpZ2h0O1xufVxuIiwiLy8gI0J1dHRvbnNcbi8vICMjTm9ybWFsXG4uYnV0dG9uLFxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1ncmFkaWVudCgkZm9ybV9idXR0b25fZ3JhZGllbnRfc3RhcnQsICRmb3JtX2J1dHRvbl9ncmFkaWVudF9lbmQpO1xuICBAaW5jbHVkZSBidXR0b25fYm9yZGVyKCRmb3JtX2J1dHRvbl9ib3JkZXJfcmlnaHRib3R0b20sICRmb3JtX2J1dHRvbl9ib3JkZXJfdG9wbGVmdCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm1fYnV0dG9uX2JvcmRlcl9yYWRpdXMpO1xuICBjb2xvcjogJGZvcm1fYnV0dG9uX3RleHRfY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybV9idXR0b25fZm9udF9zaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogJGZvcm1fYnV0dG9uX3RleHRfc2hhZG93O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogJGZvcm1faW5wdXRfbWFyZ2luO1xuICBsaW5lLWhlaWdodDogJGZvcm1fYnV0dG9uX2xpbmVfaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybV9idXR0b25fcGFkZGluZztcbiAgZm9udC1mYW1pbHk6ICRmb3JtX2VsZW1lbnRfZm9udDtcbn1cblxuLy8gIyNIb3ZlclxuLmJ1dHRvbjpob3ZlcixcbmJ1dHRvbjpob3ZlcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyIHtcbiAgQGluY2x1ZGUgdmVydGljYWwtZ3JhZGllbnQoJGZvcm1fYnV0dG9uX2hvdmVyX2dyYWRpZW50X3N0YXJ0LCAkZm9ybV9idXR0b25faG92ZXJfZ3JhZGllbnRfZW5kKTtcbiAgY29sb3I6ICRmb3JtX2J1dHRvbl9ob3Zlcl90ZXh0X2NvbG9yO1xuICBAaW5jbHVkZSBidXR0b25fYm9yZGVyKCRmb3JtX2J1dHRvbl9ob3Zlcl9ib3JkZXJfcmlnaHRib3R0b20sICRmb3JtX2J1dHRvbl9ob3Zlcl9ib3JkZXJfdG9wbGVmdCk7XG59XG5cbi8vICMjQWN0aXZlXG4uYnV0dG9uOmFjdGl2ZSxcbmJ1dHRvbjphY3RpdmUsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSB7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWdyYWRpZW50KCRmb3JtX2J1dHRvbl9hY3RpdmVfZ3JhZGllbnRfc3RhcnQsICRmb3JtX2J1dHRvbl9hY3RpdmVfZ3JhZGllbnRfZW5kKTtcbiAgYm9yZGVyOiAkZm9ybV9idXR0b25fYWN0aXZlX2JvcmRlcjtcbn1cblxuLy8gIyNGdWxsIHdpZHRoXG4uYnV0dG9uIC5mdWxsLXdpZHRoLFxuYnV0dG9uLmZ1bGwtd2lkdGgsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmZ1bGwtd2lkdGgsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uZnVsbC13aWR0aCxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gIyNGaXggZm9yIG9kZCBNb3ppbGxhIGJvcmRlciAmIHBhZGRpbmcgaXNzdWVzXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gI0Zvcm1zXG5cbi8qXG4gICMjR2VuZXJhbCBtYXJnaW5zIChhbGwgc2lkZXMpXG4gIEFwcGxpZWQgdG8gYm90aCBmb3JtLCBhbmQgZmllbGRzZXRcbiovXG5mb3JtIHtcbiAgbWFyZ2luOiAkZm9ybV9maWVsZHNldF9tYXJnaW47XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZm9ybV9maWVsZHNldF9tYXJnaW47XG59XG5cbi8qXG4gICMjU2VhcmNoL1VSTCBmaWVsZHNcbiAgTWFrZSB0aGVzZSBiZWhhdmUgYXMgdGV4dCBmaWVsZHNcbiovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLypcbiAgIyNHZW5lcmFsIGZvcm0gZWxlbWVudCBzdHlsZXMsIGJvcmRlciBldGMuXG4gIEFwcGxpZWQgdG8gYWxsIGV4Y2VwdCBjaGVja2JveGVzXG4qL1xuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBib3JkZXI6ICRmb3JtX2lucHV0X2JvcmRlcjtcbiAgcGFkZGluZzogJGZvcm1faW5wdXRfcGFkZGluZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybV9pbnB1dF9ib3JkZXJfcmFkaXVzKTtcbiAgZm9udDogJGZvcm1faW5wdXRfZm9udF9zaXplICRmb3JtX2VsZW1lbnRfZm9udDtcbiAgY29sb3I6ICRmb3JtX2lucHV0X3RleHRfY29sb3I7XG4gIHdpZHRoOiAkZm9ybV9pbnB1dF93aWR0aDtcbiAgbWF4LXdpZHRoOiAkZm9ybV9pbnB1dF9tYXhfd2lkdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRmb3JtX2lucHV0X21hcmdpbjtcbiAgYmFja2dyb3VuZDogJGZvcm1faW5wdXRfYmFja2dyb3VuZDtcbn1cblxuLypcbiAgIyNTZWxlY3QgYm94ZXNcbiAgUGFkZGluZyBhbmQgd2lkdGggYXBwbGllZCBmcm9tIHNldHRpbmdzXG4qL1xuc2VsZWN0IHtcbiAgcGFkZGluZzogJGZvcm1faW5wdXRfc2VsZWN0X3BhZGRpbmc7XG4gIHdpZHRoOiAkZm9ybV9pbnB1dF9zZWxlY3Rfd2lkdGg7XG59XG5cbi8qXG4gICMjRm9ybSBlbGVtZW50IGZvY3VzIHN0eWxlc1xuICBBcHBsaWVkIHRvIGFsbCBleGNlcHQgY2hlY2tib3hlcyBhbmQgc2VsZWN0c1xuKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiAkZm9ybV9pbnB1dF9mb2N1c19ib3JkZXI7XG4gIGNvbG9yOiAkZm9ybV9pbnB1dF9mb2N1c190ZXh0X2NvbG9yO1xuICBvdXRsaW5lOiAkZm9ybV9pbnB1dF9mb2N1c19vdXRsaW5lO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtX2lucHV0X2ZvY3VzX2JveF9zaGFkb3dfeCwgJGZvcm1faW5wdXRfZm9jdXNfYm94X3NoYWRvd195LCAkZm9ybV9pbnB1dF9mb2N1c19ib3hfc2hhZG93X2JsdXIsICRmb3JtX2lucHV0X2ZvY3VzX2JveF9zaGFkb3dfY29sb3IpXG59XG5cbi8vICMjVGV4dGFyZWEgbWluIGhlaWdodFxudGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAkZm9ybV90ZXh0YXJlYV9taW5faGVpZ2h0O1xufVxuXG4vLyAjI0xhYmVsL2xlZ2VuZCBmb250IHNldHRpbmdzXG5sYWJlbCxcbmxlZ2VuZCB7XG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogJGxlZ2VuZF9mb250X3dlaWdodDtcbiAgZm9udC1zaXplOiAkbGVnZW5kX2ZvbnRfc2l6ZTtcbn1cblxuLy8gIyNDaGVja2JveCBkaXNwbGF5XG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiAkZm9ybV9pbnB1dF9jaGVja2JveF9kaXNwbGF5O1xufVxuXG4vKlxuICAjI1NwYW5zIGluc2lkZSBsZWdlbmRzLCBvciBsYWJlbHNcbiAgQWx0ZXJzIGZvbnQgc2l6ZSwgd2VpZ2h0IGFuZCBjb2xvciBiYXNlZCBvbiB2YXJpYWJsZXNcbiovXG5sYWJlbCBzcGFuLFxubGVnZW5kIHNwYW4ge1xuICBmb250LXdlaWdodDogJGZvcm1fbGFiZWxfbGVnZW5kX2ZvbnRfd2VpZ2h0O1xuICBmb250LXNpemU6ICRmb3JtX2lucHV0X2ZvbnRfc2l6ZTtcbiAgY29sb3I6ICRmb3JtX2xhYmVsX2xlZ2VuZF9jb2xvcjtcbn1cbiIsIi8vICNJbWFnZXNcbi8qXG4gIyMgU2NhbGUgYW4gaW1hZ2UgaW4gbGluZSB3aXRoIHRoZSByZXNwb25zaXZlIGdyaWRcbiBgYGBcbiA8aW1nIHNyYz1cImZvby5qcGdcIiB0aXRsZT1cIlNjYWxpbmcgaW1hZ2Ugb2YgRm9vXCIgY2xhc3M9XCJzY2FsZS13aXRoLWdyaWRcIj5cbiBgYGBcbiovXG4uc2NhbGUtd2l0aC1ncmlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4iLCIvL1xuLy8gI1RhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBtYWpvcml0eSBvZiBjb25jZXB0cyBoZXJlIGFyZSBzaGFtZWxlc3NseSBib3Jyb3dlZCBmcm9tIEJvb3RzdHJhcCBhbmQgYW1lbmRlZCB0byBmaXRcbi8vIGh0dHBzOi8vcmF3LmdpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvbWFzdGVyL2xlc3MvdGFibGVzLmxlc3NcblxuLypcbiMjQmFzaWMgdGFibGUgc3R5bGVcblxuPHRhYmxlPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoPiM8L3RoPlxuICAgICAgPHRoPkZpcnN0IE5hbWU8L3RoPlxuICAgICAgPHRoPkxhc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+VXNlcm5hbWU8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQ+MTwvdGQ+XG4gICAgICA8dGQ+TmljazwvdGQ+XG4gICAgICA8dGQ+UGFjazwvdGQ+XG4gICAgICA8dGQ+QG5pY2twYWNrPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiovXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHRhYmxlX2JhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAkdGFibGVfbWFyZ2luO1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZV90ZF90aF9wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGVfdGRfdGhfbGluZV9oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGVfYm9yZGVyX2NvbG9yO1xuICB9XG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG5cbiAgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgY29sZ3JvdXAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNvbGdyb3VwIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkLFxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICB0Ym9keSB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZV9ib3JkZXJfY29sb3I7XG4gIH1cblxuICB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlX2JhY2tncm91bmQ7XG4gIH1cbn1cblxuLypcbiMjQ29uZGVuc2VkIHRhYmxlIHN0eWxlXG5cbjx0YWJsZSBjbGFzcz1cInRhYmxlLWNvbmRlbnNlZFwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoPiM8L3RoPlxuICAgICAgPHRoPkZpcnN0IE5hbWU8L3RoPlxuICAgICAgPHRoPkxhc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+VXNlcm5hbWU8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQ+MTwvdGQ+XG4gICAgICA8dGQ+TmljazwvdGQ+XG4gICAgICA8dGQ+UGFjazwvdGQ+XG4gICAgICA8dGQ+QG5pY2twYWNrPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiovXG4udGFibGUtY29uZGVuc2VkIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGVfY29uZGVuc2VkX3BhZGRpbmc7XG4gIH1cbn1cblxuLypcbiMjQm9yZGVyZWQgdGFibGUgc3R5bGVcblxuPHRhYmxlIGNsYXNzPVwidGFibGUtYm9yZGVyZWRcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aD4jPC90aD5cbiAgICAgIDx0aD5GaXJzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5MYXN0IE5hbWU8L3RoPlxuICAgICAgPHRoPlVzZXJuYW1lPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyPlxuICAgICAgPHRkPjE8L3RkPlxuICAgICAgPHRkPk5pY2s8L3RkPlxuICAgICAgPHRkPlBhY2s8L3RkPlxuICAgICAgPHRkPkBuaWNrcGFjazwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4qL1xuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlX2JvcmRlcl9jb2xvcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRhYmxlX2JvcmRlcl9yYWRpdXMpO1xuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHRhYmxlX2JvcmRlcl9jb2xvcjtcbiAgfVxuXG4gIGNhcHRpb24gdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNhcHRpb24gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNhcHRpb24gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIGNvbGdyb3VwIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICBjb2xncm91cCB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY29sZ3JvdXAgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCR0YWJsZV9ib3JkZXJfcmFkaXVzKTtcbiAgfVxuXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCR0YWJsZV9ib3JkZXJfcmFkaXVzKTtcbiAgfVxuXG4gIHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXG4gIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkdGFibGVfYm9yZGVyX3JhZGl1cyk7XG4gIH1cblxuICB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkdGFibGVfYm9yZGVyX3JhZGl1cyk7XG4gIH1cblxuICB0Zm9vdCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gIH1cbiAgdGZvb3QgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgY2FwdGlvbiB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgY2FwdGlvbiB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbiAgY29sZ3JvdXAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4gIGNvbGdyb3VwIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCR0YWJsZV9ib3JkZXJfcmFkaXVzKTtcbiAgfVxuICBjYXB0aW9uIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4gIGNhcHRpb24gdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgY29sZ3JvdXAgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgY29sZ3JvdXAgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHRhYmxlX2JvcmRlcl9yYWRpdXMpO1xuICB9XG5cbn1cblxuLypcbiMjU3RyaXBlZCB0YWJsZSBzdHlsZVxuXG48dGFibGUgY2xhc3M9XCJ0YWJsZS1zdHJpcGVkXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGg+IzwvdGg+XG4gICAgICA8dGg+Rmlyc3QgTmFtZTwvdGg+XG4gICAgICA8dGg+TGFzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5Vc2VybmFtZTwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0cj5cbiAgICAgIDx0ZD4xPC90ZD5cbiAgICAgIDx0ZD5OaWNrPC90ZD5cbiAgICAgIDx0ZD5QYWNrPC90ZD5cbiAgICAgIDx0ZD5Abmlja3BhY2s8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuKi9cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkge1xuICAgID4gdHI6bnRoLWNoaWxkKG9kZCkgPiB0ZCxcbiAgICA+IHRyOm50aC1jaGlsZChvZGQpID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlX2FsdF9jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLypcbiMjSG92ZXIgdGFibGUgc3R5bGVcblxuPHRhYmxlIGNsYXNzPVwidGFibGUtaG92ZXJcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aD4jPC90aD5cbiAgICAgIDx0aD5GaXJzdCBOYW1lPC90aD5cbiAgICAgIDx0aD5MYXN0IE5hbWU8L3RoPlxuICAgICAgPHRoPlVzZXJuYW1lPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPHRyPlxuICAgICAgPHRkPjE8L3RkPlxuICAgICAgPHRkPk5pY2s8L3RkPlxuICAgICAgPHRkPlBhY2s8L3RkPlxuICAgICAgPHRkPkBuaWNrcGFjazwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4qL1xuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkge1xuICAgIHRyOmhvdmVyID4gdGQsXG4gICAgdHI6aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVfaG92ZXJfY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjR2VuZXJhbCBib2R5IHN0eWxlXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udDogMTRweC8yMXB4ICRib2R5X2ZvbnRfZmFtaWx5O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuLy8gI0dlbmVyYWwgaG9yaXpvbnRhbCBydWxlIHN0eWxlXG5ociB7XG4gIGJvcmRlcjogJGhyX2JvcmRlcjtcbiAgYm9yZGVyLXdpZHRoOiAkaHJfYm9yZGVyX3dpZHRoO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAkaHJfbWFyZ2luO1xuICBoZWlnaHQ6IDA7XG59XG5cbi5vdXRsaW5lLW92ZXJyaWRle1xuXHR3aWR0aDphdXRvICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjowICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmR5bmFtaWMtc2VjdGlvbntcblx0LmJpZy1jb250YWluZXJ7XG5cdFx0cGFkZGluZzo5NXB4IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0fVxuXHQmLmZpcnN0LXNlY3Rpb257XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHQuYmlnLWNvbnRhaW5lcntcblx0XHRcdHBhZGRpbmctdG9wOjI1cHg7XG5cdFx0fVxuXHR9XG59XG5cbi8qIE5hdiAqL1xuXG4ubmF2e1xuXHRwb3NpdGlvbjpmaXhlZDtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjY1cHg7XG5cdG1hcmdpbi10b3A6MjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4LDQ3LDgwLC45KTtcblx0ei1pbmRleDogOTk5OTtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLDAsMCwuNik7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLDAsMCwuNik7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggNXB4IHJnYmEoMCwwLDAsLjYpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDowO1xuXHRcdGhlaWdodDphdXRvO1xuXHQgfVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDowO1xuXHRcdGhlaWdodDphdXRvO1xuXHQgfVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdG1hcmdpbi10b3A6MjBweDtcblx0XHRcblx0fVxuXHRcbn1cblxuLmxvZ297XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdG1hcmdpbi1sZWZ0Oi01MTJweDtcblx0YXtcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRoZWlnaHQ6NTNweDtcblx0XHR3aWR0aDozMTFweDtcblx0XHR6LWluZGV4Ojk5OTk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0bWFyZ2luOjAgYXV0bztcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdGhlaWdodDphdXRvO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0bWFyZ2luOjAgYXV0bztcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdGhlaWdodDphdXRvO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHR3aWR0aDoyNTVweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdFx0d2lkdGg6MzExcHg7XG5cdFx0fVxuXG5cdH1cblx0aW1ne1xuXHRcdG1hcmdpbi10b3A6LTlweDtcblx0XHRwYWRkaW5nOjM1cHggNDBweCAzNXB4IDQwcHg7IFxuXHRcdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggNXB4IHJnYmEoMCwwLDAsLjYpO1xuXHQgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLDAsMCwuNik7XG5cdCAgICBib3gtc2hhZG93OiAwcHggMHB4IDhweCA1cHggcmdiYSgwLDAsMCwuNik7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjojMTIyZjUwO1xuXG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdGxlZnQ6YXV0bztcblx0XHRtYXJnaW4tbGVmdDowcHg7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0bWFyZ2luOmF1dG87XG5cdCB9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRsZWZ0OmF1dG87XG5cdFx0bWFyZ2luLWxlZnQ6MHB4O1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdG1hcmdpbjphdXRvO1xuXHQgfVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0bWFyZ2luLWxlZnQ6LTQxNXB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHtcblx0XHRtYXJnaW4tbGVmdDotNTEycHg7XG5cdH1cblxufVxuXG4ubWVudXtcblx0bGl7XG5cdFx0ZGlzcGxheTppbmxpbmU7XHRcdFxuXHR9XG59XG5cbiNtZW51LXV0aWxpdHktbWVudXtcblx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdG1hcmdpbjo1cHggMCAxMHB4ICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdH1cblx0bGl7XG5cdFx0Zm9udC1zaXplOjE1cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nOjAgMTVweCAwIDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcblx0XHRmb250LXdlaWdodDpib2xkO1xuXHRcdGxldHRlci1zcGFjaW5nOjFweDtcblx0XHQmLmN1cnJlbnQtcGFnZS1hbmNlc3Rvcntcblx0XHRcdGF7XG5cdFx0XHRcdGNvbG9yOiNhOWM1ZTQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY3VycmVudF9wYWdlX2l0ZW17XG5cdFx0XHRhe1xuXHRcdFx0XHRjb2xvcjojYTljNWU0O1xuXHRcdFx0fVx0XHRcdFxuXHRcdH1cblx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRcdGZvbnQtc2l6ZToxMXB4O1xuXHRcdFx0cGFkZGluZzowIDNweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0Zm9udC1zaXplOjEycHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRcdHBhZGRpbmc6IDAgNXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0XHRwYWRkaW5nOjAgMTVweCAwIDEycHg7XG5cdFx0fVxuXHR9XG5cdGF7XG5cdFx0Y29sb3I6IzQxOGRlMjtcblx0XHQmOmhvdmVye1xuXHRcdFx0Y29sb3I6I2E5YzVlNFx0XHRcdFxuXHRcdH1cblx0XHRcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0cGFkZGluZy1sZWZ0OjEwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdHBhZGRpbmctbGVmdDoxMHB4O1xuXHR9XG59XG5cbiNtZW51LW1haW4tbWVudXtcblx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRwYWRkaW5nLWxlZnQ6MTBweDtcblx0XHRwYWRkaW5nLWJvdHRvbToyMHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRwYWRkaW5nLWxlZnQ6MTBweDtcblx0XHRwYWRkaW5nLWJvdHRvbToxMHB4O1xuXHR9XG5cdGxpe1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LXNpemU6MTdweDtcblx0XHRwYWRkaW5nOjVweCAxMnB4IDZweDtcblx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuXHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6MXB4O1xuXHRcdCYuY3VycmVudC1wYWdlLWFuY2VzdG9ye1xuXHRcdFx0YXtcblx0XHRcdFx0Y29sb3I6I2E5YzVlNDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5jdXJyZW50X3BhZ2VfaXRlbXtcblx0XHRcdGF7XG5cdFx0XHRcdGNvbG9yOiNhOWM1ZTQ7XG5cdFx0XHR9XHRcdFx0XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZHtcblx0XHRcdC8vcGFkZGluZy1yaWdodDowO1xuXHRcdH1cblx0XHR1bHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdH1cblx0XHRsaXtcblx0XHRcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzowIDEycHg7XG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRhe1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOjEwcHggMDtcblx0XHRcdFx0Y29sb3I6I2ZmZiAhaW1wb3J0YW50O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjI2N2I1ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdGF7XG5cdFx0XHRcdFx0Ym9yZGVyOjAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0ZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0cGFkZGluZzogMHB4IDJweCA2cHg7XHRcdFxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRmbG9hdDpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRwYWRkaW5nOiA1cHggN3B4IDZweDtcdFx0XG4gICAgXHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHRcdGZvbnQtc2l6ZToxNHB4O1xuXHRcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdFx0cGFkZGluZzo1cHggMTJweCA2cHg7XG5cdFx0XHRmb250LXNpemU6MTdweDtcblx0XG5cdFx0fVxuXHR9XG5cdGF7XG5cdFx0Y29sb3I6I2ZmZjtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdCY6aG92ZXJ7XG5cdFx0XHRjb2xvcjojZmZmICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblxuXG59XG5cbiN1bmRlci1uYXYtdGV4dHtcblx0cG9zaXRpb246Zml4ZWQ7XG5cdHdpZHRoOjEwMCU7XG5cdG1hcmdpbi10b3A6ODRweDtcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSk7XG5cdHotaW5kZXg6IDk5OTg7XG5cdHB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzo5cHggMCA1cHggNjBweDtcblx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuXHRcdGZvbnQtc2l6ZToxNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdFx0YXtcblx0XHRcdGNvbG9yOiM0MThkZTI7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRjb2xvcjojYTljNWU0O1xuXHRcdFx0fVxuXHRcdH1cbi8qXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0Zm9udC1zaXplOjEwcHg7XG5cdFx0XHRwYWRkaW5nOjlweCAwIDVweCA1NXB4O1xuXHRcdH1cbiovXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuXHRcdFx0Zm9udC1zaXplOjEycHg7XG5cdFx0XHRwYWRkaW5nOjlweCAwIDVweCA1NXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0XHRmb250LXNpemU6MTRweDtcblx0XHRcdHBhZGRpbmc6OXB4IDAgNXB4IDYwcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxufVxuXG4vKiBIZXJvIFN0eWxlcyAqL1xuXG4uYmlnLWhlcm97XG5cdGhlaWdodDo3MDBweDtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuXHRcdFxuXG5cdC5zbGlkZXtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0aGVpZ2h0OjcwMHB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgXG5cdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdFx0ei1pbmRleDo5NTAwO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRcdGhlaWdodDo0MDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0aGVpZ2h0OjQwMHB4O1xuXHRcdH1cblx0fVxuXHQjaGVyby1kb3R7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRib3R0b206MDtcblx0XHRjb2xvcjojZmZmO1xuXHRcdHBvc2l0aW9uOmFic29sdXRlOyBcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHR6LWluZGV4OiA5OTgwO1xuXHRcdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRzcGFue1xuXHRcdFx0cGFkZGluZzowIDJweDtcblx0XHRcdGZvbnQtc2l6ZTo1MHB4O1xuXHRcdFx0dGV4dC1zaGFkb3c6IDBweCA0cHggM3B4IHJnYmEoMCwwLDAsMC40KSxcbiAgICAgICAgICAgICAwcHggOHB4IDEzcHggcmdiYSgwLDAsMCwwLjEpLFxuICAgICAgICAgICAgIDBweCAxOHB4IDIzcHggcmdiYSgwLDAsMCwwLjEpO1xuICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0LmN5Y2xlLXBhZ2VyLWFjdGl2ZXtcblx0XHRcdGNvbG9yOiM1N2FjZGE7XG5cdFx0fVxuXHR9XG5cdC5oZXJvLW1lc3NhZ2V7XG5cdFx0cGFkZGluZy10b3A6MzUwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpub25lO1xuXHRcdGNvbG9yOiNmZmY7XG5cdFx0Zm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG5cdFx0aDF7XG5cdFx0XHR3aWR0aDo1MTVweDtcblx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRmb250LXNpemU6NTBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OjQ2cHg7XG5cdFx0XHRmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblx0XHRcdHRleHQtc2hhZG93OiAxcHggMXB4IDRweCBibGFjayAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0XHRwYWRkaW5nOjI1cHggMCAxNXB4IDA7XHRcblx0XHRcdFx0Zm9udC1zaXplOjI2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjI4cHg7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRcdHBhZGRpbmc6MjVweCAwIDE1cHggMDtcdFxuXHRcdFx0XHRmb250LXNpemU6MjZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MjhweDtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRcdFx0cGFkZGluZzoxNXB4IDE1cHggMCAxNXB4O1x0XG5cdFx0XHRcdGZvbnQtc2l6ZToyNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDoyOHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRwe1xuXHRcdFx0Zm9udC1zaXplOjIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDoyOHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0XHRwYWRkaW5nOjAgMTVweCAxNXB4O1x0XG5cdFx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDoyMnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0XHRwYWRkaW5nOjAgMTVweCAxNXB4O1x0XG5cdFx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDoyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRhe1xuXHRcdFx0bWFyZ2luLXRvcDo1cHg7XG5cdFx0XHRjb2xvcjojZmZmICFpbXBvcnRhbnQ7XG5cdFx0XHRib3gtc2hhZG93OiAxcHggMXB4IDRweCBibGFjayAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR0b3A6YXV0bztcblx0XHRcdGJvdHRvbTowO1xuXHRcdFx0cmlnaHQ6YXV0bztcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0dG9wOmF1dG87XG5cdFx0XHRib3R0b206MDtcblx0XHRcdHJpZ2h0OmF1dG87XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdHBhZGRpbmctdG9wOjA7XG5cdFx0aGVpZ2h0OjM4M3B4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdGhlaWdodDozODNweDtcblx0fVxuXG59XG4uc21hbGwtaGVyb3tcblx0aGVpZ2h0OjUwMHB4O1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0LnNtYWxsLXNsaWRle1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0aGVpZ2h0OjUwMHB4O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgXG5cdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdFx0ei1pbmRleDo5NTAwO1xuXG5cblx0XHQuaGVyby1tZXNzYWdle1xuXHRcdFx0cGFkZGluZy10b3A6MzUwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOm5vbmU7XG5cdFx0XHRjb2xvcjojZmZmO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG5cdFx0XHRoMXtcblx0XHRcdFx0Y29sb3I6I2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOjUwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjQ2cHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAxcHggMXB4IDRweCBibGFjayAhaW1wb3J0YW50O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRcdFx0cGFkZGluZzoxNXB4IDE1cHggMCAxNXB4O1x0XG5cdFx0XHRcdFx0Zm9udC1zaXplOjI2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MjhweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0XHRcdFx0cGFkZGluZzoxNXB4IDE1cHggMCAxNXB4O1x0XG5cdFx0XHRcdFx0Zm9udC1zaXplOjI2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MjhweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Lmhlcm8tcXVpY2staW1hZ2V7XG5cdFx0XHRwYWRkaW5nLXRvcDoyODVweDtcblx0XHRcdGltZ3tcblx0XHRcdFx0aGVpZ2h0OjE2MHB4O1xuXHRcdFx0XHRib3JkZXI6NnB4IHNvbGlkICNkZGQ7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDJweCAycHggNXB4IDBweCAjOGM4NzdjO1x0XHRcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tcXVpY2staW1hZ2UtY2FwdGlvbntcblx0XHRcdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG5cdFx0XHRmb250LXNpemU6MTRweDtcblx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRmb250LXdlaWdodDpib2xkO1xuXHRcdFx0YXtcblx0XHRcdFx0Y29sb3I6I2ZmZjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRoZWlnaHQ6MjEwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRcdGhlaWdodDoxODBweDtcblx0XHR9XG5cdFx0XHRcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0aGVpZ2h0OjE4MHB4O1xuXHRcdHBhZGRpbmctdG9wOjA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuXHRcdGhlaWdodDoyMTBweDtcblx0XHRwYWRkaW5nLXRvcDowO1xuXHR9XG59XG5cblxuLyogTGF5b3V0IFN0eWxlcyAqL1xuXG4lZHluYW1pYy1sYXlvdXR7XG5cdGgxe1xuXHRcdHBhZGRpbmctdG9wOjVweDtcblx0XHRmb250LXNpemU6MzBweDtcblx0XHRjb2xvcjojMDQ0MzY2O1xuXHRcdGxpbmUtaGVpZ2h0Om5vcm1hbDtcblx0fVxuXHRoMntcblx0XHRtYXJnaW4tYm90dG9tOjEwcHg7XG5cdFx0Zm9udC1zaXplOjIycHg7XG5cdFx0bGluZS1oZWlnaHQ6MzBweDtcblx0XHRjb2xvcjojNmY2ZjZlO1xuXHRcdGZvbnQtd2VpZ2h0OjMwMDtcblx0fVxuXHRoM3tcblx0XHRmb250LXNpemU6MjBweDtcblx0XHRsaW5lLWhlaWdodDoyMnB4O1xuXHRcdGNvbG9yOiMwNDQzNjY7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdFx0bWFyZ2luLXRvcDoyMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOjIwcHg7XG5cblx0XHR9XG5cdH1cblx0aDR7XG5cdFx0XG5cdH1cblx0aDV7XG5cdFx0XG5cdH1cblx0aDZ7XG5cdFx0Zm9udC1zaXplOjE1cHg7XHRcdFxuXHR9XG5cdHB7XG5cdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXHRcdG1hcmdpbi1ib3R0b206MTBweDtcblx0fVxuXHRhe1xuXHRcdGNvbG9yOiMzNjdkY2QgIWltcG9ydGFudDtcblx0XHQmOmhvdmVye1xuXHRcdFx0Y29sb3I6IzEyMmY1MDtcblx0XHR9XG5cdH1cblx0aW1ne1xuXHRcdHdpZHRoOjk1JTtcblx0XHRib3JkZXI6NnB4IHNvbGlkICNkZGQ7XG5cdFx0Ym94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4ICM4Yzg3N2M7XHRcdFxuXHRcdFxuXHR9XG5cdC5yb3d7XG5cdFx0cGFkZGluZzoyNXB4IDA7XG5cdH1cbn1cblxuLmhvbWV7XG5cdGF7XG5cdFx0Jjpob3Zlcntcblx0XHRcdGNvbG9yOiMxMjJmNTAgO1xuXHRcdH1cblx0fVxuXHQuZmlyc3Qtc2VjdGlvbntcblxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cdCAgICB6LWluZGV4OiA5OTk4ICFpbXBvcnRhbnQ7XG5cdCAgICBtYXJnaW4tdG9wOiAtNDhweCAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHQuYmlnLWNvbnRhaW5lcntcblx0XHRcdHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0fVxuXHR9XG5cdC5maXJzdHtcblx0XHRmb250LXNpemU6NDhweDtcblx0XHRsaW5lLWhlaWdodDo1NHB4O1xuXHRcdGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcblx0fVxuXHQub3RoZXJ7XG5cdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdGZvbnQtc2l6ZToxNXB4O1xuXHRcdGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcblx0fVxuXHQubWV0YXtcblx0XHRmb250LXNpemU6MTJweDtcblx0XHRjb2xvcjojYWVhZGE5O1xuXHR9XG5cdC5lbnRyeS1jb250ZW50e1xuXHRcdG1hcmdpbi1ib3R0b206MjBweDtcblx0fVxuXHQuY2FsZW5kYXItZXZlbnRze1xuXHRcdHBhZGRpbmc6NXB4ICFpbXBvcnRhbnQ7XG5cdFx0cHtcblx0XHRcdHBhZGRpbmc6NXB4IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0aDR7XG5cdFx0XHRmb250LXNpemU6MTVweDtcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdFx0XHRjb2xvcjojNmY2ZjZlO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7XG5cdFx0fVxuXHRcdGg1e1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRmb250LXNpemU6MTVweDtcblx0XHR9XG5cdFx0Lm1ldGF7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdGxpbmUtaGVpZ2h0OjE0cHg7XG5cdFx0fVxuXHR9XG5cdC5yb3d7XG5cdFx0cGFkZGluZzowO1xuXHR9XG5cdFxufVxuXG4uc3ViLW1lbnUtaW4tY29udGVudHtcblx0bGl7XG5cdFx0YXtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdCYuY3VycmVudF9wYWdlX2l0ZW17XG5cdFx0XHRhe1xuXHRcdFx0XHRjb2xvcjojYTljNWU0ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRwYWRkaW5nLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cykge1xuXHRcdHBhZGRpbmctYm90dG9tOjIwcHggIWltcG9ydGFudDtcblx0fVxufVxuXG4ubWV0YXtcblx0Zm9udC1zaXplOjEycHg7XG5cdGNvbG9yOiNhZWFkYTk7XG59XG5cblxuLmZ1bGx3aWR0aHtcblx0QGV4dGVuZCAlZHluYW1pYy1sYXlvdXQ7XG59XG5cbi50YWJiZWRjb250ZW50e1xuXHRAZXh0ZW5kICVkeW5hbWljLWxheW91dDtcblx0LnRhYi1jb250YWluZXJ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LDI0NywyNDcsLjkpO1xuXHRcdHotaW5kZXg6IDk5OTg7XG5cdH1cblx0LnRhYnN7XG5cdFx0bWFyZ2luOiAwcHg7XG5cdFx0cGFkZGluZzogMHB4O1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0ZGlzcGxheTp0YWJsZTtcblx0XHR0YWJsZS1sYXlvdXQ6Zml4ZWQ7XG5cdFx0d2lkdGg6IDEwMCU7IC8qIFszXSAqL1xuXHRcdGxpe1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGNvbG9yOiAjNmY2ZjZlO1xuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdHBhZGRpbmc6IDE1cHggMTVweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcblx0XHRcdGZvbnQtc2l6ZToxN3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0XHRcdCYuY3VycmVudHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0Y29sb3I6ICMzNjdkY2Q7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZToxMnB4O1xuXHRcdFx0XHRwYWRkaW5nOjE1cHggMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdH1cblx0LnRhYi1jb250ZW50e1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDo5NXB4O1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0Ji5jdXJyZW50e1xuXHRcdFx0ZGlzcGxheTogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQudGFiLXN1Ym5hdntcblx0XHRsaXtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO1x0XG5cdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdGJvcmRlcjowO1xuXHRcdFx0fVx0XHRcblx0XHR9XG5cdFx0YXtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuXHRcdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0XHRcdGNvbG9yOiMzNjdkY2Q7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRjb2xvcjojMTIyZjUwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxuXHRcbn1cblxuLnR3by1jb2x1bW57XG5cdEBleHRlbmQgJWR5bmFtaWMtbGF5b3V0O1xuXHRwe1xuXHRcdGZvbnQtc2l6ZToxNXB4O1xuXHRcdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblx0fVxuXHRmaWdjYXB0aW9ue1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTEsMTY5LDI1LC44NSk7XG5cdH1cblx0dWx7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXHR9XG59XG5cbi50d28tY29sdW1uLWxhcmdlLXNtYWxse1xuXHRAZXh0ZW5kICVkeW5hbWljLWxheW91dDtcblxuXHQudGhyZWV7XG5cdFx0aDF7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHRwYWRkaW5nOjVweCAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1zaXplOjE3cHggIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiMxMjJmNTAgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxMjJmNTA7XG5cdFx0fVxuXHRcdHB7XG5cdFx0XHRwYWRkaW5nOjVweDtcblx0XHR9XG5cdH1cblxuXHRoMntcblx0fVxuXHRoM3tcblx0XHRmb250LXNpemU6MThweDtcblx0XHRjb2xvcjogIzEyMmY1MDtcblx0fVxuXG5cdHVse1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRsaXtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO1x0XG5cdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdGJvcmRlcjowO1xuXHRcdFx0fVx0XHRcblx0XHR9XG5cdFx0YXtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogJ09wZW4gU2FucyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuXHRcdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0XHRcdGNvbG9yOiMzNjdkY2Q7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRjb2xvcjojMTIyZjUwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxufVxuXG4udHdvLWNvbHVtbi1zbWFsbC1sYXJnZXtcblx0QGV4dGVuZCAudHdvLWNvbHVtbi1sYXJnZS1zbWFsbDtcbn1cblxuXG4udGhyZWUtY29sdW1uc3tcblx0QGV4dGVuZCAlZHluYW1pYy1sYXlvdXQ7XG5cdHB7XG5cdFx0Zm9udC1zaXplOjE1cHg7XG5cdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXHR9XG5cdGltZ3tcblx0XHR3aWR0aDo5NSU7XG5cdFx0Ym9yZGVyOjZweCBzb2xpZCAjZGRkO1xuXHRcdGJveC1zaGFkb3c6IDJweCAycHggNXB4IDBweCAjNjY2O1x0XHRcblx0XHRcblx0fVxufVxuXG4uZm91ci1jb2x1bW5ze1xuXHRAZXh0ZW5kICVkeW5hbWljLWxheW91dDtcbn1cblxuLnNwYWNle1xuXHRocntcblx0XHQgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHMpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbn1cblxuLmdhbGxlcnl7XG5cdHBhZGRpbmc6MjBweCAwO1xuXHRhe1xuXHR9XG5cdGltZ3tcblx0XHRtYXJnaW46MTBweCAwO1xuXHRcdHdpZHRoOjk1JTtcblx0XHRib3JkZXI6NnB4IHNvbGlkICNkZGQ7XG5cdFx0Ym94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4ICM4Yzg3N2M7XG5cdH1cbn1cblxuLyogRm9ybSAqL1xuLmdmb3JtX3dyYXBwZXIge1xuXHQuZ2Zvcm1fZmllbGRze1xuXHRcdHBhZGRpbmc6MCAhaW1wb3J0YW50O1x0XG5cdH1cblx0LmdzZWN0aW9ue1xuXHRcdHBhZGRpbmc6MjVweCAwIDAgIWltcG9ydGFudDtcblx0XHRib3JkZXI6MCAhaW1wb3J0YW50O1x0XG5cdFx0JjpmaXJzdC1jaGlsZHtcblx0XHRcdHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuXHRcdH1cdFxuXHR9XG5cdC5nc2VjdGlvbl90aXRsZXtcblx0XHRwYWRkaW5nLWxlZnQ6NXB4ICFpbXBvcnRhbnQ7XHRcdFxuXHRcdGNsZWFyOmJvdGggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDpub3JtYWwgIWltcG9ydGFudDtcblx0fVxuXHRsaXtcblx0XHRtYXJnaW46MCAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjowICFpbXBvcnRhbnQ7XG5cdH1cblx0bGFiZWx7XG4vLyBcdFx0ZGlzcGxheTpibG9jaztcblx0XHRwYWRkaW5nOiAxNXB4IDAgNXB4O1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0LmdmaWVsZF9sYWJlbHtcblx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0cGFkZGluZzogMTBweCAwIDVweDtcblx0fVxuXHRcblx0LmdmaWVsZF9yYWRpb3tcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0Y2xlYXI6Ym90aDtcblx0XHRsaXtcblx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHRsYWJlbHtcblx0XHRcdGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRcdHBhZGRpbmc6MCAyMHB4IDAgMTBweDtcblx0XHR9XG5cdH1cblx0LmxlZnQtZmllbGR7XG5cdFx0ZmxvYXQ6bGVmdCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOjM1JTtcblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXXtcblx0XHRcdHdpZHRoOjkwJSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQubGVmdC1maWVsZC1yYWRpbyB7XG5cdFx0LmdmaWVsZF9sYWJlbHtcblx0XHRcdHBhZGRpbmctdG9wOjE1cHg7XG5cdFx0XHRjbGVhcjpcdGJvdGg7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdH1cblx0XHRcblx0fVxuXHQucmlnaHQtZmllbGR7XG5cdFx0ZmxvYXQ6bGVmdCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOjYwJTtcblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXXtcblx0XHRcdHdpZHRoOjk4JTtcblx0XHRcdFxuXHRcdH1cblx0fVxuXHQucmlnaHQtZmllbGQtZHJvcGRvd257XG5cdFx0LmdmaWVsZF9sYWJlbHtcblx0XHRcdHBhZGRpbmctdG9wOjE1cHg7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0Y2xlYXI6Ym90aDtcblx0XHR9XG5cdH1cblx0LmNsZWFyLW11bHRpe1xuXHRcdGNsZWFyOmJvdGg7XG5cdFx0cGFkZGluZy10b3A6MjBweDtcblx0fVxuXHRoMntcblx0XHRtYXJnaW4tdG9wOjIwcHg7XG5cdFx0Zm9udC1zaXplOjIwcHggIWltcG9ydGFudDtcblx0fVxuXHRzZWxlY3R7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0fVxuXHR0ZXh0YXJlYXtcblx0XHRtYXJnaW46MDtcblx0XHR3aWR0aDo5NSUgIWltcG9ydGFudDtcblx0fVxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXHQuZ2Zvcm1fZm9vdGVye1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0cGFkZGluZzoyMHB4IDAgMDtcblx0XHRjbGVhcjpib3RoO1xuXHR9XG5cdC5vdGhlci1yYWRpb3tcblx0XHRsYWJlbHtcblx0XHRcdFxuXHRcdH1cblx0fVxuXHQub3RoZXItYmlnLXJhZGlve1xuXHRcdGxhYmVse1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdFx0LmdpbnB1dF9jb250YWluZXJfcmFkaW97XG5cdFx0XHRsYWJlbHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdH1cblx0Lm9wdGlvbi10ZXh0YXJlYXtcblx0XHRjbGVhcjpib3RoO1xuXHR9XG5cdCNpbnB1dF8xXzE3X290aGVye1xuXHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdG1hcmdpbi1sZWZ0OjEwcHg7XG5cdH1cblx0I2lucHV0XzFfMTNfMSwgI2lucHV0XzFfMTNfMiwgI2lucHV0XzFfMTNfMywgI2lucHV0XzFfMTNfNF9jb250YWluZXIsICNpbnB1dF8xXzEzXzV7XG5cdFx0bWFyZ2luLWJvdHRvbTowICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXRvcDoyMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0I2lucHV0XzFfMTNfM19jb250YWluZXIsICNpbnB1dF8xXzEzXzRfY29udGFpbmVyLCAjaW5wdXRfMV8xM181X2NvbnRhaW5lciwgI2lucHV0XzFfMTNfNHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0I2lucHV0XzFfMTNfNF9sYWJlbHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuXHR9XG5cdCNpbnB1dF8xXzEzXzR7XG5cdFx0bWFyZ2luLWJvdHRvbTowICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyogTmV3cyAqL1xuLnBhZ2UtdGVtcGxhdGUtcGFnZS1uZXdze1xuXHQuZHluYW1pYy1zZWN0aW9ue1xuXHRcdC5iaWctY29udGFpbmVye1xuXHRcdFx0cGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG5cbiNmb290ZXJ7XG5cdC5iaWctY29udGFpbmVye1xuXHRcdHBhZGRpbmc6NDVweCAwO1xuXHRcdGNvbG9yOiNlMGVlZjM7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzUsOTQsMTYwKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvYmdfc2hhZG93LnBuZyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7XG5cdFx0c3Ryb25ne1xuXHRcdFx0Y29sb3I6I2UwZWVmM1xuXHRcdH1cblx0fVxuXHRhe1xuXHRcdGNvbG9yOiNmM2ViYTU7XG5cdH1cblx0Lm1lbnV7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowO1xuXHRcdHVse1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHRcdGxpe1xuXHRcdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjE1cHggMCAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGF7XG5cdFx0XHRcdGZvbnQtc2l6ZToxM3B4O1xuXHRcdFx0XHRmb250LXdlaWdodDpib2xkO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0Y29sb3I6I2Y3ZjBhZDtcblx0XHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRsaXtcblx0XHRcdFx0cGFkZGluZzo1cHggMCAwO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0YXtcblx0XHRcdFx0XHRmb250LXdlaWdodDpub3JtYWw7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuY3VycmVudF9wYWdlX2l0ZW17XG5cdFx0XHRhe1xuXHRcdFx0XHRjb2xvcjojNjA5MWM4O1xuXHRcdFx0fVxuXHRcdFx0bGl7XG5cdFx0XHRcdGF7XG5cdFx0XHRcdFx0Y29sb3I6I2ZmZjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZm9vdGVyLXNvY2lhbHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHBhZGRpbmctbGVmdDo1cHg7XG5cdH1cbn1cblxuI2FjY3JlZGl0ZWR7XG5cdC5iaWctY29udGFpbmVye1xuXHRcdHBhZGRpbmc6NjVweCAwIDEwMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6I2FkYjJiOTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWFnZXMvYmdfc2hhZG93LnBuZyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7XG5cdFx0LmxlZnR7XG5cdFx0XHRmb250LXNpemU6MThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdFx0fVxuXHRcdFxuXHR9XG59XG5cblxuIiwiLyoqKiBFU1NFTlRJQUwgU1RZTEVTICoqKi9cbiNtZW51LW1haW4tbWVudSwgI21lbnUtbWFpbi1tZW51ICoge1xuLy8gXHRtYXJnaW46IDA7XG4vLyBcdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4jbWVudS1tYWluLW1lbnUgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jbWVudS1tYWluLW1lbnUgdWwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHRvcDogMTAwJTtcblx0bGVmdDogMDtcblx0ei1pbmRleDogOTk7XG59XG4jbWVudS1tYWluLW1lbnUgPiBsaSB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuI21lbnUtbWFpbi1tZW51IGxpOmhvdmVyID4gdWwsXG4jbWVudS1tYWluLW1lbnUgbGkuc2ZIb3ZlciA+IHVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbiNtZW51LW1haW4tbWVudSBhIHtcbi8vIFx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtZW51LW1haW4tbWVudSB1bCB1bCB7XG5cdHRvcDogMDtcblx0bGVmdDogMTAwJTtcbn1cblxuI21lbnUtbWFpbi1tZW51e1xuXHQjc3ViLW1lbnV7XG5cdH1cbn1cblxuLyoqKiBERU1PIFNLSU4gKioqL1xuI21lbnUtbWFpbi1tZW51IHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cbiNtZW51LW1haW4tbWVudSB1bCB7XG5cdG1pbi13aWR0aDogMTJlbTsgLyogYWxsb3cgbG9uZyBtZW51IGl0ZW1zIHRvIGRldGVybWluZSBzdWJtZW51IHdpZHRoICovXG5cdCp3aWR0aDogMTJlbTsgLyogbm8gYXV0byBzdWIgd2lkdGggZm9yIElFNywgc2VlIHdoaXRlLXNwYWNlIGNvbW1lbnQgYmVsb3cgKi9cbn1cbiNtZW51LW1haW4tbWVudSBhIHtcbi8vIFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuLy8gXHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4vLyBcdHBhZGRpbmc6IC43NWVtIDFlbTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR6b29tOiAxOyAvKiBJRTcgKi9cbn1cbiNtZW51LW1haW4tbWVudSBhIHtcbi8vIFx0Y29sb3I6ICMxM2E7XG59XG4jbWVudS1tYWluLW1lbnUgbGkge1xuLy8gXHRiYWNrZ3JvdW5kOiAjQkREMkZGO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBubyBuZWVkIGZvciBTdXBlcnN1YnMgcGx1Z2luICovXG5cdCp3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAuLi51bmxlc3MgeW91IHN1cHBvcnQgSUU3IChsZXQgaXQgd3JhcCkgKi9cblx0LXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7XG59XG4jbWVudS1tYWluLW1lbnUgdWwgbGkge1xuXHRiYWNrZ3JvdW5kOiAjMzY3ZGNkO1xufVxuI21lbnUtbWFpbi1tZW51IHVsIHVsIGxpIHtcblx0YmFja2dyb3VuZDogIzM2N2RjZDtcbn1cbiNtZW51LW1haW4tbWVudSBsaTpob3ZlcixcbiNtZW51LW1haW4tbWVudSBsaS5zZkhvdmVyIHtcblx0YmFja2dyb3VuZDogIzM2N2RjZDtcblx0Lyogb25seSB0cmFuc2l0aW9uIG91dCwgbm90IGluICovXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLyoqKiBhcnJvd3MgKGZvciBhbGwgZXhjZXB0IElFNykgKiovXG4uc2YtYXJyb3dzIC5zZi13aXRoLXVsIHtcblx0cGFkZGluZy1yaWdodDogMi41ZW07XG5cdCpwYWRkaW5nLXJpZ2h0OiAxZW07IC8qIG5vIENTUyBhcnJvd3MgZm9yIElFNyAobGFjayBwc2V1ZG8tZWxlbWVudHMpICovXG59XG4vKiBzdHlsaW5nIGZvciBib3RoIGNzcyBhbmQgZ2VuZXJhdGVkIGFycm93cyAqL1xuLnNmLWFycm93cyAuc2Ytd2l0aC11bDphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRyaWdodDogMWVtO1xuXHRtYXJnaW4tdG9wOiAtM3B4O1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHQvKiBvcmRlciBvZiBmb2xsb3dpbmcgMyBydWxlcyBpbXBvcnRhbnQgZm9yIGZhbGxiYWNrcyB0byB3b3JrICovXG5cdGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItdG9wLWNvbG9yOiAjZEZlRUZGOyAvKiBlZGl0IHRoaXMgdG8gc3VpdCBkZXNpZ24gKG5vIHJnYmEgaW4gSUU4KSAqL1xuXHRib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbn1cbi5zZi1hcnJvd3MgPiBsaSA+IC5zZi13aXRoLXVsOmZvY3VzOmFmdGVyLFxuLnNmLWFycm93cyA+IGxpOmhvdmVyID4gLnNmLXdpdGgtdWw6YWZ0ZXIsXG4uc2YtYXJyb3dzID4gLnNmSG92ZXIgPiAuc2Ytd2l0aC11bDphZnRlciB7XG5cdGJvcmRlci10b3AtY29sb3I6IHdoaXRlOyAvKiBJRTggZmFsbGJhY2sgY29sb3VyICovXG59XG4vKiBzdHlsaW5nIGZvciByaWdodC1mYWNpbmcgYXJyb3dzICovXG4uc2YtYXJyb3dzIHVsIC5zZi13aXRoLXVsOmFmdGVyIHtcblx0bWFyZ2luLXRvcDogLTVweDtcblx0bWFyZ2luLXJpZ2h0OiAtM3B4O1xuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItbGVmdC1jb2xvcjogI2RGZUVGRjsgLyogZWRpdCB0aGlzIHRvIHN1aXQgZGVzaWduIChubyByZ2JhIGluIElFOCkgKi9cblx0Ym9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xufVxuLnNmLWFycm93cyB1bCBsaSA+IC5zZi13aXRoLXVsOmZvY3VzOmFmdGVyLFxuLnNmLWFycm93cyB1bCBsaTpob3ZlciA+IC5zZi13aXRoLXVsOmFmdGVyLFxuLnNmLWFycm93cyB1bCAuc2ZIb3ZlciA+IC5zZi13aXRoLXVsOmFmdGVyIHtcblx0Ym9yZGVyLWxlZnQtY29sb3I6IHdoaXRlO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */