/********************************************
 *
 *  castlestory.website.less : main entry point
 *
 *********************************************/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

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

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

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  box-sizing: content-box; /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

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

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ------------------------ */
/* LESS mixin for CSS arrow */
/* ------------------------ */
/* Usage
* .arrow(size, color, direction, offset, border-size, border-color);
*/
/* Where
* Size is the with of the arrow
* Color is the color of the arrow (plain color required)
* Direction is the orientation of the arrow (top, right, bottom, left)
* Offset is the position of the arrow on its axis (px / em)
* Border-size is the width of the border if there is one (optional; default "0")
* Border-color is the color of the border if there is one (optional; default "inherit");
*/
/* Extra
* Drop-shadows can be used on the element to create a shadow on the arrow as well
*/
/******************
 *  color palette
 *******************/
/******************
 *  alpha variations
 *******************/
/******************
 *  sizes
 *******************/
/******************
 *  color purposes
 *******************/
/******************
 *  z-index layers
 *******************/
/******************
 *  lists
 *******************/
/******************
 *  paths
 *******************/
/******************
*  screen sizes
*******************/
/******************
*  media queries
*******************/
/******************
 *  MIXINS
 *******************/
@font-face {
  font-family: 'Canaro';
  src: url('/castlestory/static/fonts/canaro-light/canaro-light.eot');
  src: url('/castlestory/static/fonts/canaro-light/canaro-light.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/canaro-light/canaro-light.woff') format('woff'), url('/castlestory/static/fonts/canaro-light/canaro-light.ttf') format('truetype'), url('/castlestory/static/fonts/canaro-light/canaro-light.svg#canarolight') format('svg');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Canaro';
  src: url('/castlestory/static/fonts/canaro-book/canaro-book.eot');
  src: url('/castlestory/static/fonts/canaro-book/canaro-book.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/canaro-book/canaro-book.woff') format('woff'), url('/castlestory/static/fonts/canaro-book/canaro-book.ttf') format('truetype'), url('/castlestory/static/fonts/canaro-book/canaro-book.svg#canarobook') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Canaro';
  src: url('/castlestory/static/fonts/canaro-medium/canaro-medium.eot');
  src: url('/castlestory/static/fonts/canaro-medium/canaro-medium.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/canaro-medium/canaro-medium.woff') format('woff'), url('/castlestory/static/fonts/canaro-medium/canaro-medium.ttf') format('truetype'), url('/castlestory/static/fonts/canaro-medium/canaro-medium.svg#canaromedium') format('svg');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Canaro';
  src: url('/castlestory/static/fonts/canaro-bold/canaro-bold.eot');
  src: url('/castlestory/static/fonts/canaro-bold/canaro-bold.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/canaro-bold/canaro-bold.woff') format('woff'), url('/castlestory/static/fonts/canaro-bold/canaro-bold.ttf') format('truetype'), url('/castlestory/static/fonts/canaro-bold/canaro-bold.svg#canarobold') format('svg');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Canaro';
  src: url('/castlestory/static/fonts/canaro-black/canaro-black.eot');
  src: url('/castlestory/static/fonts/canaro-black/canaro-black.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/canaro-black/canaro-black.woff') format('woff'), url('/castlestory/static/fonts/canaro-black/canaro-black.ttf') format('truetype'), url('/castlestory/static/fonts/canaro-black/canaro-black.svg#canaroblack') format('svg');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'icon';
  src: url('/castlestory/static/fonts/icomoon/icomoon.eot');
  src: url('/castlestory/static/fonts/icomoon/icomoon.eot?#iefix') format('embedded-opentype'), url('/castlestory/static/fonts/icomoon/icomoon.woff') format('woff'), url('/castlestory/static/fonts/icomoon/icomoon.ttf') format('truetype'), url('/castlestory/static/fonts/icomoon/icomoon.svg#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
/******************
 *  html, body
 *******************/
html {
  height: 100%;
}
body {
  min-height: 100%;
  font-family: 'Canaro';
  font-weight: normal;
  color: #0a0f14;
  font-size: 16px;
  background-color: #38aacf;
  background-image: -webkit-linear-gradient(top, rgba(188, 254, 252, 0.37) 0px, rgba(188, 254, 252, 0) 500px);
  background-image: linear-gradient(to bottom, rgba(188, 254, 252, 0.37) 0px, rgba(188, 254, 252, 0) 500px);
  background-repeat: no-repeat;
  box-sizing: border-box;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-top: 1px;
  position: relative;
  padding-bottom: 665px;
  overflow-y: scroll;
}
body *,
body *::before,
body *::after {
  box-sizing: inherit;
}
section.main {
  padding-bottom: 50px;
}
/******************
 *  basic elements
 *******************/
hr,
input[type="search"] {
  box-sizing: border-box;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
strong {
  font-weight: 500;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
p {
  line-height: 1.5;
  font-size: 18px;
  font-weight: 300;
}
/******************
 *  form
 *******************/
.server-errors-container:empty {
  display: none;
}
.server-errors-container ul {
  list-style-type: disc;
  padding-top: 10px;
  padding-left: 40px;
}
fieldset {
  padding: 0;
  border: 0;
}
.field {
  display: inline-block;
  vertical-align: top;
}
.field label {
  display: block;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.5em 0;
}
input:not([type=radio]):not([type=checkbox]),
select,
textarea {
  background-color: rgba(255, 255, 255, 0.5);
  border: 6px solid #000;
  color: #0a0f14;
  font-size: 14px;
  font-weight: 300;
  padding: 10px;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}
input:not([type=radio]):not([type=checkbox]):focus,
select:focus,
textarea:focus {
  background-color: #fff;
}
input:not([type=radio]):not([type=checkbox])::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox])::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox]):-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox])::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox]):-moz-placeholder,
select:-moz-placeholder,
textarea:-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox])::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input:not([type=radio]):not([type=checkbox]):-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
input[type=checkbox] {
  position: absolute;
  left: -9999px;
}
input[type=checkbox] + label {
  padding-left: 50px;
  padding-top: 10px;
  display: block;
}
input[type=checkbox] + label::before {
  content: '';
  position: absolute;
  margin-left: -50px;
  margin-top: -10px;
  background: url('/castlestory/static/images/forms/checkbox-off.png') no-repeat;
  width: 100px;
  height: 100px;
}
input[type=checkbox]:checked + label::before {
  background: url('/castlestory/static/images/forms/checkbox-on.png') no-repeat;
}
/******************
 *  utility class
 *******************/
.content {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
.third-menu-line {
  border-right: 5px solid #248eb5;
  position: absolute;
  left: 50%;
  height: 100%;
  width: 560px;
}
.clear {
  clear: both;
}
.third-menu {
  position: absolute;
  left: 50%;
  width: 560px;
  text-transform: uppercase;
  top: 100px;
  margin-top: 126px;
  z-index: 50;
  -webkit-transition: margin-top 0.5s ease-in-out;
  transition: margin-top 0.5s ease-in-out;
}
.third-menu .arrow {
  position: absolute;
  top: auto;
  left: 560px;
  bottom: auto;
  right: auto;
  top: 36px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 16px 16px 0;
  border-color: transparent #248eb5 transparent transparent;
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-left: -12px;
  -webkit-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
}
.third-menu ul li {
  text-align: right;
  margin: 36px 40px;
}
.third-menu ul li a {
  color: #033f72;
  font-size: 16px;
}
.third-menu ul li.selected {
  font-weight: bold;
  font-size: 20px;
}
#error.four-oh-four .main header {
  text-align: center;
  text-transform: uppercase;
  margin-top: 60px;
}
#error.four-oh-four .main header h1 {
  font-size: 75px;
  font-weight: 800;
  margin-bottom: 0px;
}
#error.four-oh-four .main header h2 {
  font-size: 35px;
  font-weight: normal;
  margin-top: 10px;
  margin-bottom: 40px;
}
#error.four-oh-four .main section.yellow {
  padding: 60px 0;
  background-color: #fec50a;
}
#error.four-oh-four .main section.yellow > section {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding-bottom: 0px;
}
#error.four-oh-four .main section.yellow > section h2 {
  font-weight: normal;
}
/* common */
header.main {
  position: relative;
  z-index: 200;
  margin-top: 44px;
  background-color: #39abd0;
  min-width: 580px;
}
header.main::after {
  content: '';
  display: block;
  background-color: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: -1;
  height: 58px;
  display: none;
  margin-top: -5px;
}
header.main a {
  display: block;
}
header.main a:hover {
  text-decoration: none;
}
header.main .content {
  position: relative;
  padding: 0;
  padding-left: 305px;
  padding-right: 300px;
}
header.main .content > h1 {
  position: absolute;
  top: -17px;
  left: 0;
  bottom: auto;
  right: auto;
  width: 305px;
  margin: 0;
}
@media only screen and (max-width: 1100px) {
  header.main .content {
    padding-left: 0px;
    padding-right: 0px;
  }
  header.main .content > h1 {
    width: 180px;
    top: -40px;
  }
  header.main .content > h1 img {
    width: 180px;
  }
}
header.main nav {
  padding-right: 15px;
  text-align: right;
  font-weight: 800;
  font-size: 16px;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 1px;
  position: relative;
}
@media only screen and (max-width: 1100px) {
  header.main nav {
    text-align: center;
  }
}
header.main nav li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
}
header.main nav li ul {
  position: absolute;
  top: auto;
  left: 0;
  bottom: -53px;
  right: 15px;
  color: #000;
  display: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
}
header.main nav li ul a::after {
  bottom: -6.5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent #59bfda transparent transparent;
}
header.main nav a {
  padding: 20px 10px;
  position: relative;
}
header.main nav a::after {
  content: '';
  position: absolute;
  top: auto;
  left: 50%;
  bottom: -1px;
  right: auto;
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 15px;
  height: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent rgba(255, 255, 255, 0.9) transparent transparent;
  display: none;
}
header.main nav a:hover {
  color: rgba(0, 0, 0, 0.8);
}
header.main .account {
  position: absolute;
  top: -45px;
  left: auto;
  bottom: auto;
  right: 330px;
  margin-right: -5px;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 12px;
  line-height: 29px;
}
header.main .account .avatar {
  background: url('/castlestory/static/images/default-avatar.png') no-repeat center center;
  width: 44px;
  height: 44px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
  border: 2px solid #000;
  border-radius: 22px;
  background-position: center center;
  background-size: 44px 44px;
}
header.main .account a {
  padding: 8px;
  display: inline-block;
  vertical-align: middle;
}
header.main .account a:hover {
  color: rgba(0, 0, 0, 0.8);
}
header.main .account a:last-child {
  padding-right: 0;
}
@media only screen and (max-width: 1100px) {
  header.main .account {
    right: 250px;
  }
}
header.main .buy a {
  border: 6px solid #000;
  background-color: #fec50a;
  padding: 30px;
  color: #000;
  text-transform: uppercase;
  width: 300px;
  position: absolute;
  top: -45px;
  left: auto;
  bottom: auto;
  right: 0;
  border-top: 0;
}
header.main .buy a:hover {
  background-color: #fff;
}
header.main .buy a h1 {
  margin: 0;
  font-weight: 800;
  margin-bottom: 0.3em;
  font-size: 20px;
}
header.main .buy a p {
  margin: 0;
  font-size: 17px;
}
header.main .buy a::after {
  content: '';
  width: 19px;
  height: 32px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  position: absolute;
  top: 50%;
  left: auto;
  bottom: auto;
  right: 30px;
  margin-top: -16px;
}
@media only screen and (max-width: 1100px) {
  header.main .buy a {
    padding: 2px 10px;
    width: 225px;
  }
  header.main .buy a h1 {
    margin: 3px 0px -2px;
  }
  header.main .buy a::after {
    right: 10px;
  }
}
/* header */
footer.main {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
  right: 0;
  color: #fff;
  pointer-events: none;
  height: 1243px;
}
footer.main::before {
  content: '';
  display: block;
  min-height: 1178px;
  background-repeat: no-repeat;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png'), url('/castlestory/static/images/footer/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png'), url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png');
  background-position: bottom right,
      bottom right,
      bottom left,
      bottom right,
      bottom left;
}
@media only screen and (max-width: 1920px) {
  footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom 0 left -100px;
  }
}
@media only screen and (max-width: 1580px) {
  footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom 0 left -100px;
  }
}
#error.four-oh-four footer.main {
  height: 1243px;
  height: 1156px;
  background-image: -webkit-linear-gradient(top, rgba(188, 254, 252, 0) 0%, rgba(188, 254, 252, 0.37) 100%);
  background-image: linear-gradient(to bottom, rgba(188, 254, 252, 0) 0%, rgba(188, 254, 252, 0.37) 100%);
}
#error.four-oh-four footer.main::before {
  content: '';
  display: block;
  min-height: 1178px;
  background-repeat: no-repeat;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png'), url('/castlestory/static/images/footer/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png'), url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png');
  background-position: bottom right,
      bottom right,
      bottom left,
      bottom right,
      bottom left;
}
@media only screen and (max-width: 1920px) {
  #error.four-oh-four footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom 0 left -100px;
  }
}
@media only screen and (max-width: 1580px) {
  #error.four-oh-four footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom 0 left -100px;
  }
}
#error.four-oh-four footer.main::before {
  background-image: none;
}
#game.world footer.main {
  height: 1243px;
}
#game.world footer.main::before {
  content: '';
  display: block;
  min-height: 1178px;
  background-repeat: no-repeat;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png'), url('/castlestory/static/images/footer/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png'), url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/game/third-plan-left.png');
  background-position: bottom right,
      bottom right,
      bottom left,
      bottom right,
      bottom left;
}
@media only screen and (max-width: 1920px) {
  #game.world footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom 0 left -100px;
  }
}
@media only screen and (max-width: 1580px) {
  #game.world footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom 0 left -100px;
  }
}
#game.world footer.main::before {
  background-position: bottom right,
        bottom right,
        bottom left,
        bottom right,
        bottom center;
}
@media only screen and (max-width: 1920px) {
  #game.world footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom center;
  }
}
@media only screen and (max-width: 1580px) {
  #game.world footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom center;
  }
}
#game.status footer.main {
  height: 1243px;
}
#game.status footer.main::before {
  content: '';
  display: block;
  min-height: 1178px;
  background-repeat: no-repeat;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png'), url('/castlestory/static/images/footer/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png'), url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/game/third-plan-left.png');
  background-position: bottom right,
      bottom right,
      bottom left,
      bottom right,
      bottom left;
}
@media only screen and (max-width: 1920px) {
  #game.status footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom 0 left -100px;
  }
}
@media only screen and (max-width: 1580px) {
  #game.status footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom 0 left -100px;
  }
}
#game.about footer.main {
  height: 1243px;
  height: 1156px;
}
#game.about footer.main::before {
  content: '';
  display: block;
  min-height: 1178px;
  background-repeat: no-repeat;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png'), url('/castlestory/static/images/footer/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png'), url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png');
  background-position: bottom right,
      bottom right,
      bottom left,
      bottom right,
      bottom left;
}
@media only screen and (max-width: 1920px) {
  #game.about footer.main::before {
    background-position: bottom 0 right -320px, bottom 0 right -320px, bottom 0 left -320px, bottom 0 right -320px, bottom 0 left -100px;
  }
}
@media only screen and (max-width: 1580px) {
  #game.about footer.main::before {
    background-position: bottom 0 right -490px, bottom 0 right -490px, bottom 0 left -490px, bottom 0 right -490px, bottom 0 left -100px;
  }
}
#game.about footer.main::before {
  background-image: none;
}
footer.main nav {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 24px;
  position: relative;
  pointer-events: auto;
}
footer.main nav a {
  display: inline-block;
  vertical-align: top;
}
footer.main nav .buy {
  display: block;
  position: relative;
  z-index: 5;
  border: 6px solid #000;
  background-color: #fec50a;
  padding: 30px;
  color: #000;
  text-transform: uppercase;
  width: 300px;
  margin-top: -42px;
  margin-left: -6px;
}
footer.main nav .buy:hover {
  background-color: #fff;
}
footer.main nav .buy h1 {
  margin: 0;
  font-weight: 800;
  margin-bottom: 0.3em;
  font-size: 20px;
}
footer.main nav .buy p {
  margin: 0;
  font-size: 17px;
}
footer.main nav .buy::after {
  content: '';
  width: 19px;
  height: 32px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  position: absolute;
  top: 50%;
  left: auto;
  bottom: auto;
  right: 30px;
  margin-top: -16px;
}
footer.main nav > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
footer.main nav > ul > li {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
footer.main nav > ul > li.more {
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  width: 270px;
}
footer.main nav > ul > li.more > a {
  margin-bottom: 10px;
}
footer.main nav > ul > li.more > a:hover {
  text-decoration: none;
}
footer.main nav > ul > li.more ul {
  padding-left: 36px;
}
footer.main nav > ul > li:not(.more) > a {
  margin-bottom: 32px;
  font-weight: 800;
  font-size: 20px;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}
footer.main nav > ul > li:not(.more) > a:hover {
  text-decoration: none;
  color: #0a0f14;
}
footer.main nav > ul > li li a {
  padding: 8px 0;
}
footer.main nav .social {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-family: 'icon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 42px;
  text-align: center;
  margin-top: 15px;
}
footer.main nav .social li {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
footer.main nav .social li:first-of-type a {
  padding-left: 0;
}
footer.main nav .social li a {
  padding: 8px;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}
footer.main nav .social li a:hover {
  text-decoration: none;
  color: #0a0f14;
}
footer.main nav .social li a.fb::after {
  content: '\E902';
}
footer.main nav .social li a.twitter::after {
  content: '\E903';
}
footer.main nav .social li a.youtube::after {
  content: '\E900';
}
footer.main nav .social li a.twitch::after {
  content: '\E901';
}
footer.main nav .social li span {
  display: none;
}
footer.main #copyright {
  text-align: center;
  background-color: #7e797c;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  text-transform: uppercase;
}
footer.main #copyright p {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
/* footer */
#modal-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: fixed;
  z-index: 300;
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
}
#modal-container:not(:empty) {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
}
#modal-container aside {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  text-align: center;
  white-space: nowrap;
}
#modal-container aside:before,
#modal-container aside:after {
  content: '';
  width: 1px;
  height: 100%;
}
#modal-container aside article,
#modal-container aside:before,
#modal-container aside:after {
  display: inline-block;
  vertical-align: middle;
}
#modal-container aside article {
  white-space: normal;
  position: relative;
  border-style: solid;
  border-color: #000;
  border-width: 6px 6px 4px 6px;
  background-color: #000;
}
#modal-container aside article header {
  position: absolute;
  top: -42px;
  left: -6px;
  bottom: auto;
  right: auto;
  color: #000;
  border: 6px solid #000;
  background-color: #fec50a;
  padding: 7px 14px 5px;
  text-transform: uppercase;
  width: calc(100% - 80px);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#modal-container aside article .close {
  position: absolute;
  top: -42px;
  left: auto;
  bottom: auto;
  right: -6px;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #000;
  border: 6px solid #000;
  background-color: #fec50a;
  padding: 7px 14px 5px;
  text-transform: uppercase;
}
#modal-container aside article iframe {
  border: 0;
  opacity: 1;
  position: static;
}
/* modal */
#home {
  /***********************************
  *  no footer illustration for home
  ************************************/
  padding-bottom: 365px;
}
#home footer.main {
  height: 365px;
}
#home footer.main nav.secondary {
  min-height: 316px;
}
#home footer.main::before {
  display: none;
}
#home section.main {
  padding-bottom: 0;
  /******************
    *  header
    *******************/
  /******************
    *  news
    *******************/
  /******************
    *  features
    *******************/
}
#home section.main > header {
  text-align: center;
  color: #fff;
  position: relative;
  padding-top: 160px;
  height: 500px;
  top: -103px;
  margin-bottom: -103px;
  overflow: hidden;
}
#home section.main > header h1,
#home section.main > header .play {
  position: relative;
  z-index: 2;
}
#home section.main > header h1 {
  font-weight: 800;
  font-size: 70px;
  line-height: 50px;
  text-transform: uppercase;
  margin: 0;
  margin-bottom: 40px;
}
#home section.main > header video {
  width: 100%;
  height: calc(100% + 103px);
  object-fit: cover;
}
#home section.main > header .play {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  width: 100px;
  height: 75px;
  background: url('/castlestory/static/images/play.png') no-repeat;
  background-size: 100% 200%;
  background-repeat: no-repeat;
}
#home section.main > header .play:hover {
  background-position: 0% 100%;
}
#home section.main > header .play span {
  display: none;
}
#home section.main > header::after {
  content: '';
  z-index: 1;
  background: url('/castlestory/static/images/home/video-mask.png');
}
#home section.main > header video,
#home section.main > header::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
#home section.main section.news {
  margin-top: 20px;
  background-color: #fec50a;
}
#home section.main section.news h1 {
  display: none;
}
#home section.main section.news h2 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}
#home section.main section.news ul {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0;
}
#home section.main section.news ul li {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 20px 36px;
}
#home section.main section.news .launch {
  display: inline-block;
  vertical-align: top;
  width: 280px;
}
#home section.main section.news .launch p {
  font-weight: 300;
  font-size: 15px;
  text-transform: none;
}
#home section.main section.news .launch h2 {
  margin-bottom: 0px;
}
#home section.main section.news .launch button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  width: 100%;
  height: 180px;
  border: 6px solid #000;
  background: no-repeat center;
  margin-top: -30px;
  margin-bottom: 12px;
  background-size: cover;
}
#home section.main section.news .launch button:hover:before {
  background-position: 0% 100%;
}
#home section.main section.news .launch button span {
  display: none;
}
#home section.main section.news .launch button::before {
  content: '';
  width: 50px;
  height: 37.5px;
  background: url('/castlestory/static/images/play.png') no-repeat;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  display: inline-block;
  vertical-align: top;
}
#home section.main section.news .launch button.video::before {
  display: inline-block;
  vertical-align: top;
}
#home section.main section.news .featured strong,
#home section.main section.news .featured p {
  color: #3b3c2e;
  font-size: 16px;
  margin: 0;
  line-height: 1;
}
#home section.main section.news .featured p {
  font-weight: 300;
}
#home section.main section.news .featured a:hover {
  text-decoration: none;
}
#home section.main section.news .featured a:hover small {
  text-decoration: underline;
}
#home section.main section.news .featured small {
  display: block;
  margin-top: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
#home section.main section.news .featured small::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#home section.main section.news .featured small::after {
  margin-top: -2px;
}
#home section.main section.news .featured small strong {
  font-size: 12px;
}
#home section.main section.news .newsletter {
  padding-right: 0;
}
#home section.main section.news .newsletter label {
  display: block;
  font-weight: bold;
  text-transform: uppercase;
  font-weight: 16px;
  margin-bottom: 20px;
}
#home section.main section.news .newsletter label strong {
  display: block;
  font-weight: 800;
}
#home section.main section.news .newsletter input {
  width: calc(100% - 60px);
}
#home section.main section.news .newsletter button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  background-image: url('/castlestory/static/images/home/newsletter-button.png');
  background-repeat: no-repeat;
  width: 37px;
  height: 30px;
  margin: 10px;
  float: right;
}
#home section.main section.news .newsletter button:hover {
  background-position: 0 100%;
}
#home section.main section.news .newsletter button span {
  display: none;
}
#home section.main section.features {
  position: relative;
  padding-top: 100px;
  padding-bottom: 50px;
  text-align: center;
  text-transform: uppercase;
  background: -webkit-linear-gradient(top, rgba(56, 170, 207, 0.67) 0px, rgba(158, 238, 255, 0.67) 360px, rgba(158, 238, 255, 0) 360px) no-repeat;
  background: linear-gradient(to bottom, rgba(56, 170, 207, 0.67) 0px, rgba(158, 238, 255, 0.67) 360px, rgba(158, 238, 255, 0) 360px) no-repeat;
  min-height: 888px;
}
#home section.main section.features::before,
#home section.main section.features::after,
#home section.main section.features h1::before {
  content: '';
  pointer-events: none;
  background-repeat: no-repeat;
}
#home section.main section.features::before,
#home section.main section.features::after {
  background-position: bottom right,
          bottom left;
}
@media only screen and (max-width: 1920px) {
  #home section.main section.features::before,
  #home section.main section.features::after {
    background-position: bottom 0 right -320px, bottom 0 left -320px;
  }
}
@media only screen and (max-width: 1580px) {
  #home section.main section.features::before,
  #home section.main section.features::after {
    background-position: bottom 0 right -490px, bottom 0 left -490px;
  }
}
#home section.main section.features::before {
  position: absolute;
  top: -36px;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url('/castlestory/static/images/footer/third-plan-right.png'), url('/castlestory/static/images/home/third-plan-left.png');
  z-index: 1;
}
#home section.main section.features::after {
  position: absolute;
  top: -170px;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url('/castlestory/static/images/home/second-plan-right.png'), url('/castlestory/static/images/footer/second-plan-left.png');
  z-index: 1;
}
#home section.main section.features h1::before {
  position: absolute;
  top: -290px;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url('/castlestory/static/images/footer/first-plan-right.png');
  background-position: bottom right;
  z-index: 2;
}
@media only screen and (max-width: 1920px) {
  #home section.main section.features h1::before {
    background-position: bottom 0 right -320px;
  }
}
@media only screen and (max-width: 1580px) {
  #home section.main section.features h1::before {
    background-position: bottom 0 right -490px;
  }
}
#home section.main section.features h1 {
  margin: 0;
  margin-bottom: 15px;
}
#home section.main section.features h1 span {
  display: block;
  position: relative;
  z-index: 3;
}
#home section.main section.features h1 .main {
  font-size: 50px;
  font-weight: 800;
}
#home section.main section.features h1 .secondary {
  font-size: 35px;
  font-weight: normal;
  margin-top: 10px;
}
#home section.main section.features ul {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0;
  padding-top: 240px;
  position: relative;
  z-index: 3;
  color: #fff;
}
#home section.main section.features ul::before,
#home section.main section.features ul::after {
  content: '';
  display: block;
  -webkit-box-flex: 0.4;
  -webkit-flex: 0.4;
      -ms-flex: 0.4;
          flex: 0.4;
}
#home section.main section.features ul li {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0 10px;
  padding-bottom: 30px;
}
#home section.main section.features ul li:nth-child(1) .select {
  margin-left: -60px;
}
#home section.main section.features ul li:nth-child(2) .select {
  margin-left: -20px;
}
#home section.main section.features ul li:nth-child(3) .select {
  margin-left: 20px;
}
#home section.main section.features ul li.active .select::before {
  background-color: #fff;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
#home section.main section.features ul li .select {
  position: absolute;
  top: 0;
  left: 50%;
  bottom: auto;
  right: auto;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  padding: 15px;
  text-align: center;
}
#home section.main section.features ul li .select::before {
  content: '';
  display: inline-block;
  vertical-align: top;
  border: 6px solid #000;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  background-color: #fec50a;
}
#home section.main section.features ul li .select span {
  display: none;
}
#home section.main section.features ul li.active h2,
#home section.main section.features ul li.active small {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
}
#home section.main section.features ul li.active .image {
  height: 165px;
  margin: 0;
}
#home section.main section.features h2 {
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  margin: 0;
  position: absolute;
  top: 70px;
  left: 0;
  bottom: auto;
  right: 0;
  font-size: 36px;
  font-weight: 800;
}
#home section.main section.features .image {
  background-repeat: no-repeat;
  background-size: cover;
  border: 6px solid #000;
  height: 135px;
  margin: 15px 0;
  -webkit-transition: height 150ms ease-out, margin 150ms ease-out;
  transition: height 150ms ease-out, margin 150ms ease-out;
}
#home section.main section.features small {
  display: block;
  margin-top: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  color: #0a0f14;
  margin-top: 15px;
}
#home section.main section.features small::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#home section.main section.features a {
  display: block;
  padding-top: 1px;
}
#home section.main section.features a p {
  margin: 0;
  padding-top: 15px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
}
#home section.main section.features a p strong {
  display: block;
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 5px;
}
#home section.main section.features a:hover {
  text-decoration: none;
}
#home section.main section.features a:hover small {
  text-decoration: underline;
}
/* home */
#game header.main nav li.game a {
  color: #000;
}
#game header.main nav li.game ul {
  display: block;
}
#game header.main nav > ul > li.game > a::after {
  display: block;
}
#game header.main::after {
  display: block;
}
#game.world nav a.game_world::after {
  display: block;
}
#game.about nav a.game_about::after {
  display: block;
}
#game.status nav a.game_status::after {
  display: block;
}
#game.world {
  padding-bottom: 365px;
}
#game.world section.main {
  padding-bottom: 0;
  /******************
    *  features
    *******************/
  /******************
    *  modes
    *******************/
  /******************
    *  dev
    *******************/
}
#game.world section.main h1,
#game.world section.main h2 {
  margin: 0;
}
#game.world section.main p {
  margin: 0;
}
#game.world section.main section.features {
  position: relative;
  padding: 60px 0;
  text-transform: uppercase;
}
#game.world section.main section.features::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: url('/castlestory/static/images/game/bg-float.png') no-repeat;
  background-position: center 0px;
  background-size: contain;
  pointer-events: none;
  min-height: 660px;
}
#game.world section.main section.features h1 {
  text-align: center;
}
#game.world section.main section.features h1 span {
  display: block;
}
#game.world section.main section.features h1 .main {
  font-size: 45px;
  font-weight: 800;
  margin-bottom: 5px;
}
#game.world section.main section.features h1 .secondary {
  font-size: 35px;
  font-weight: normal;
}
#game.world section.main section.features ul {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 40px 0;
}
#game.world section.main section.features ul li {
  height: 0;
  width: 50%;
}
#game.world section.main section.features ul li:nth-child(1) .select {
  margin-left: -60px;
}
#game.world section.main section.features ul li:nth-child(2) .select {
  margin-left: -20px;
}
#game.world section.main section.features ul li:nth-child(3) .select {
  margin-left: 20px;
}
#game.world section.main section.features ul li.active .select::before {
  background-color: #fff;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
#game.world section.main section.features ul li .select {
  position: absolute;
  top: 0;
  left: 50%;
  bottom: auto;
  right: auto;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  padding: 15px;
  text-align: center;
}
#game.world section.main section.features ul li .select::before {
  content: '';
  display: inline-block;
  vertical-align: top;
  border: 6px solid #000;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  background-color: #fec50a;
}
#game.world section.main section.features ul li .select span {
  display: none;
}
#game.world section.main section.features ul li .select {
  top: 170px;
}
#game.world section.main section.features ul li h2,
#game.world section.main section.features ul li p {
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
}
#game.world section.main section.features ul li h2 {
  margin-bottom: 40px;
  font-weight: 300;
  font-size: 25px;
}
#game.world section.main section.features ul li h2 strong {
  display: block;
  margin-bottom: 5px;
  font-weight: 800;
  font-size: 30px;
}
#game.world section.main section.features ul li .intro {
  font-weight: bold;
  font-size: 16px;
}
#game.world section.main section.features ul li .text {
  font-weight: 300;
  font-size: 18px;
  text-transform: none;
  color: #00396d;
  line-height: 1.7;
}
#game.world section.main section.features ul li.build::after {
  content: '';
  position: absolute;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  background-image: url('/castlestory/static/images/game/build2.png');
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  height: 100%;
  width: 50%;
  z-index: -1;
}
#game.world section.main section.features ul li.defend.active::before {
  content: '';
  position: absolute;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  z-index: -2;
  height: 100%;
  width: 100%;
  background-image: -webkit-radial-gradient(80% 80%, circle, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
  background-image: radial-gradient(80% 80%, circle, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
}
#game.world section.main section.features ul li.defend.active::after {
  content: '';
  position: absolute;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  background-image: url('/castlestory/static/images/game/enemies.png');
  height: 100%;
  width: 50%;
  z-index: -1;
}
#game.world section.main section.features ul li.multiplayer::after {
  content: '';
  position: absolute;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  background-image: url('/castlestory/static/images/game/friends.png');
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  height: 100%;
  width: 50%;
  z-index: -1;
}
#game.world section.main section.features ul li.active {
  padding: 60px;
  height: auto;
}
#game.world section.main section.features ul li.active h2,
#game.world section.main section.features ul li.active p,
#game.world section.main section.features ul li.active::after {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
}
#game.world section.main section.features ul li.active p {
  min-height: 120px;
}
#game.world section.main section.features > a {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.3;
  padding: 0 60px;
}
#game.world section.main section.features > a span {
  display: block;
  font-weight: normal;
}
#game.world section.main section.features > a strong {
  font-weight: 800;
}
#game.world section.main section.features > a:after {
  content: '';
  margin-top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#game.world section.main section.modes {
  padding: 50px 0;
  background-color: #fec50a;
  text-align: center;
  text-transform: uppercase;
}
#game.world section.main section.modes header {
  margin-bottom: 80px;
}
#game.world section.main section.modes header h1 {
  font-weight: 800;
  font-size: 30px;
  margin-bottom: 7px;
}
#game.world section.main section.modes header p {
  font-weight: 300;
  font-size: 18px;
}
#game.world section.main section.modes > p {
  text-align: left;
  font-weight: 800;
  font-size: 15px;
  text-align: center;
}
#game.world section.main section.modes ul {
  padding: 25px 0 45px;
}
#game.world section.main section.modes ul li {
  display: inline-block;
  vertical-align: top;
  width: 280px;
  margin: 12px;
}
#game.world section.main section.modes ul p {
  font-weight: 300;
  font-size: 15px;
  text-transform: none;
}
#game.world section.main section.modes ul h2,
#game.world section.main section.modes ul p {
  padding: 0 12px;
}
#game.world section.main section.modes button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  width: 100%;
  height: 180px;
  border: 6px solid #000;
  background: no-repeat center;
  margin-bottom: 25px;
}
#game.world section.main section.modes button:hover:before {
  background-position: 0% 100%;
}
#game.world section.main section.modes button::before {
  content: '';
  width: 75px;
  height: 56.25px;
  background: url('/castlestory/static/images/play.png') no-repeat;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  display: none;
}
#game.world section.main section.modes button.video::before {
  display: inline-block;
  vertical-align: top;
}
#game.world section.main section.modes button span {
  display: none;
}
#game.world section.main section.modes h2 {
  font-weight: 800;
  font-size: 13px;
}
#game.world section.main section.modes a {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.3;
}
#game.world section.main section.modes a span {
  display: block;
  font-weight: normal;
}
#game.world section.main section.modes a strong {
  font-weight: 800;
}
#game.world section.main section.modes a:after {
  content: '';
  margin-top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#game.world section.main section.modes > * {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 0;
}
#game.world section.main section.dev {
  padding: 170px 0;
  text-align: center;
  text-transform: uppercase;
}
#game.world section.main section.dev h1 {
  font-weight: 800;
  font-size: 30px;
}
#game.world section.main section.dev p {
  font-weight: 300;
  font-size: 18px;
}
#game.world section.main section.dev strong {
  font-weight: bold;
}
#game.world section.main section.dev a {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.3;
  margin-top: 60px;
}
#game.world section.main section.dev a span {
  display: block;
  font-weight: normal;
}
#game.world section.main section.dev a strong {
  font-weight: 800;
}
#game.world section.main section.dev a:after {
  content: '';
  margin-top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#game.world section.main section.dev > * {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 0;
}
/* game-world */
#game header.main nav li.game a {
  color: #000;
}
#game header.main nav li.game ul {
  display: block;
}
#game header.main nav > ul > li.game > a::after {
  display: block;
}
#game header.main::after {
  display: block;
}
#game.world nav a.game_world::after {
  display: block;
}
#game.about nav a.game_about::after {
  display: block;
}
#game.status nav a.game_status::after {
  display: block;
}
#game.about {
  padding-bottom: 365px;
}
@-webkit-keyframes animatedBackground {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    background-position-x: 0%;
  }
}
@keyframes animatedBackground {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    background-position-x: 0%;
  }
}
#game.about .backgrounds {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}
#game.about .s1_far_clouds {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s1_far_clouds.png') no-repeat center 0px;
  -webkit-animation: animatedBackground 1200s linear infinite;
          animation: animatedBackground 1200s linear infinite;
  min-height: 1970px;
  min-width: 4650px;
  margin-left: -2325px;
}
#game.about .s1_far_island {
  position: absolute;
  top: 180px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -40;
  background: url('/castlestory/static/images/game/about/s1_far_island.png') no-repeat center 0px;
  min-height: 1970px;
}
#game.about .s1_close_cloud {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s1_close_cloud.png') repeat-x center 0px;
  min-height: 1970px;
  min-width: 4650px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -2325px;
}
#game.about .s1_close_island {
  position: absolute;
  top: 180px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -20;
  background: url('/castlestory/static/images/game/about/s1_close_island.png') no-repeat center 0px;
  min-height: 2042px;
}
#game.about .s3_far_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s3_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#game.about .s3_far_islands {
  position: absolute;
  top: 1478px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -40;
  background: url('/castlestory/static/images/game/about/s3_far_islands.png') no-repeat center 0px;
  min-height: 900px;
}
#game.about .s3_close_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s3_close_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#game.about .s5_close_island {
  position: absolute;
  top: 3017px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -20;
  background: url('/castlestory/static/images/game/about/s5_close_island.png') no-repeat center 0px;
  min-height: 900px;
}
@media only screen and (min-width: 2300px) {
  #game.about .s5_close_island {
    background-position: left 0px;
  }
}
#game.about .s5_far_clouds {
  position: absolute;
  top: 3017px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s5_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 2560px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1280px;
}
#game.about .s7_far_clouds {
  position: absolute;
  top: 4490px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/footer/clouds.png') repeat-x center 0px;
  min-height: 1256px;
  min-width: 2800px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1400px;
}
#game.about .s7_far_island {
  position: absolute;
  top: 4490px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -40;
  background: url('/castlestory/static/images/footer/far-island.png') no-repeat center 0px;
  min-height: 1256px;
}
#game.about .s7_left_island {
  position: absolute;
  top: 4490px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -20;
  background: url('/castlestory/static/images/footer/left1.png') no-repeat left bottom;
  min-height: 1193px;
}
@media only screen and (max-width: 2300px) {
  #game.about .s7_left_island {
    background-position: center bottom;
  }
}
#game.about .s7_right_island {
  position: absolute;
  top: 4490px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -20;
  background: url('/castlestory/static/images/footer/right1.png') no-repeat right bottom;
  min-height: 1112px;
}
@media only screen and (max-width: 2300px) {
  #game.about .s7_right_island {
    background-position: center bottom;
  }
}
#game.about section.main {
  padding-bottom: 0;
  /******************
    *  overview
    *******************/
  /******************
    *  bricktrons
    *******************/
  /******************
    *  islands
    *******************/
  /******************
    *  gathering
    *******************/
  /******************
    *  building
    *******************/
  /******************
    *  enemy
    *******************/
  /******************
    *  modes
    *******************/
}
#game.about section.main h1,
#game.about section.main h2 {
  margin: 0;
  text-transform: uppercase;
}
#game.about section.main h1 {
  position: relative;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 5px;
}
#game.about section.main h2 {
  position: relative;
  font-size: 18px;
  font-weight: normal;
}
#game.about section.main p {
  position: relative;
  margin: 0;
  font-size: 15px;
}
#game.about section.main p strong {
  font-size: 13px;
  text-transform: uppercase;
}
#game.about section.main a.anchor {
  position: relative;
  top: -100px;
}
#game.about section.main section.overview {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  height: 795px;
}
#game.about section.main section.overview h1,
#game.about section.main section.overview h2 {
  text-align: center;
}
#game.about section.main section.overview h1 {
  margin-top: 30px;
  font-size: 45px;
}
#game.about section.main section.overview h2 {
  font-size: 35px;
}
#game.about section.main section.overview p {
  margin-top: 100px;
  width: 350px;
  line-height: 28px;
  font-size: 18px;
}
#game.about section.main section.bricktrons {
  background: url('/castlestory/static/images/game/about/bricktrons-bg.png') center center no-repeat #fec50a;
  height: 640px;
}
#game.about section.main section.bricktrons section {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
#game.about section.main section.bricktrons section h1 {
  margin-top: 20px;
}
#game.about section.main section.bricktrons section p {
  width: 390px;
  margin-top: 20px;
}
#game.about section.main section.islands {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  height: 900px;
}
#game.about section.main section.islands h1 {
  margin-top: 180px;
  width: 360px;
}
#game.about section.main section.islands h2 {
  width: 360px;
}
#game.about section.main section.islands p {
  margin-left: 400px;
  width: 400px;
}
#game.about section.main section.gathering {
  background: url('/castlestory/static/images/game/about/gathering-bg.png') center center no-repeat #fab509;
  height: 640px;
}
#game.about section.main section.gathering section {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
#game.about section.main section.gathering section h1 {
  margin-top: 20px;
}
#game.about section.main section.gathering section h2 {
  margin-bottom: 40px;
}
#game.about section.main section.gathering section p {
  width: 380px;
  margin-top: 20px;
}
#game.about section.main section.gathering section article p {
  display: inline-block;
  vertical-align: top;
}
#game.about section.main section.gathering section .column1 {
  margin-right: 15px;
}
#game.about section.main section.building {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  height: 785px;
}
#game.about section.main section.building h1 {
  margin-top: 30px;
}
#game.about section.main section.building h2 {
  width: 830px;
}
#game.about section.main section.building p {
  margin-left: 420px;
  margin-top: 40px;
  width: 400px;
}
#game.about section.main section.enemy {
  background: url('/castlestory/static/images/game/about/enemies-bg.png') center center no-repeat #ea9f00;
  height: 629px;
}
#game.about section.main section.enemy section {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
#game.about section.main section.enemy section h1 {
  margin-top: 20px;
}
#game.about section.main section.enemy section p.intro {
  width: 800px;
  font-weight: 800;
}
#game.about section.main section.enemy section p {
  width: 390px;
  margin-top: 20px;
}
#game.about section.main section.modes {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  height: 800px;
}
#game.about section.main section.modes h1 {
  margin-top: 20px;
}
#game.about section.main section.modes h2 {
  margin-bottom: 40px;
}
#game.about section.main section.modes p {
  width: 380px;
  margin-top: 20px;
}
#game.about section.main section.modes article p {
  display: inline-block;
  vertical-align: top;
}
#game.about section.main section.modes .column1 {
  margin-right: 15px;
}
#game.about section.main section.modes .outro {
  margin-top: 50px;
  text-align: center;
  text-transform: uppercase;
  font-size: 12px;
  width: 800px;
}
#game.about section.main section.inverted h1,
#game.about section.main section.inverted h2 {
  color: #fff;
}
/* game-about */
#game header.main nav li.game a {
  color: #000;
}
#game header.main nav li.game ul {
  display: block;
}
#game header.main nav > ul > li.game > a::after {
  display: block;
}
#game header.main::after {
  display: block;
}
#game.world nav a.game_world::after {
  display: block;
}
#game.about nav a.game_about::after {
  display: block;
}
#game.status nav a.game_status::after {
  display: block;
}
#game.status {
  padding-bottom: 365px;
}
@keyframes animatedBackground {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    background-position-x: 0%;
  }
}
#game.status .backgrounds {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}
#game.status .s1_far_clouds {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s1_far_clouds.png') no-repeat center 0px;
  -webkit-animation: animatedBackground 1200s linear infinite;
          animation: animatedBackground 1200s linear infinite;
  min-height: 1970px;
  min-width: 4650px;
  margin-left: -2325px;
}
#game.status .s1_close_cloud {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s1_close_cloud.png') repeat-x center 0px;
  min-height: 1970px;
  min-width: 4650px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -2325px;
}
#game.status .s3_far_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s3_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#game.status .s3_far_islands {
  position: absolute;
  top: 1478px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -40;
  background: url('/castlestory/static/images/game/about/s3_far_islands.png') no-repeat center 0px;
  min-height: 900px;
}
#game.status .s3_close_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s3_close_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#game.status .s5_far_clouds {
  position: absolute;
  top: 2600px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s5_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 2560px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1280px;
}
#game.status .s7_far_clouds {
  position: absolute;
  top: 3000px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/footer/clouds.png') repeat-x center 0px;
  min-height: 1256px;
  min-width: 2800px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1400px;
}
#game.status .third-menu-line {
  width: 150px;
  left: 75%;
}
#game.status .third-menu {
  width: 150px;
  left: 75%;
}
#game.status .third-menu .arrow {
  left: 150px;
}
#game.status section.main {
  padding-bottom: 0;
}
#game.status section.main header {
  margin: 30px 0;
}
#game.status section.main header h1,
#game.status section.main header h2 {
  text-align: center;
  margin: 0;
  text-transform: uppercase;
}
#game.status section.main header h1 {
  margin-top: 30px;
  font-size: 45px;
  font-weight: 800;
}
#game.status section.main header h2 {
  font-size: 35px;
  font-weight: normal;
}
#game.status section.main .timeline {
  width: 870px;
  margin: 0 auto 300px auto;
}
#game.status section.main .timeline * {
  box-sizing: border-box;
  position: relative;
}
#game.status section.main .timeline__line {
  position: absolute;
  width: 5px;
  min-height: 10px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #2c96bc;
}
#game.status section.main .timeline__line--left {
  -webkit-transform: translateX(-60px);
      -ms-transform: translateX(-60px);
          transform: translateX(-60px);
}
#game.status section.main .timeline__line--right {
  -webkit-transform: translateX(60px);
      -ms-transform: translateX(60px);
          transform: translateX(60px);
}
#game.status section.main .timeline__line:before,
#game.status section.main .timeline__line:after {
  width: 300%;
  height: 5px;
  content: '';
  position: absolute;
  left: -100%;
  right: 0px;
  margin: auto;
  background-color: #2c96bc;
}
#game.status section.main .timeline__line:before {
  bottom: 100%;
}
#game.status section.main .timeline__line:after {
  top: 100%;
}
#game.status section.main .timeline__line--first:before {
  height: 0px !important;
}
#game.status section.main .timeline__inner:before,
#game.status section.main .timeline__inner:after {
  content: '';
  position: absolute;
  height: 100%;
  border-left: 1px dashed #2c96bc;
  margin: auto;
  left: 0;
  right: 0;
  top: 100px;
  z-index: -1;
}
#game.status section.main .timeline__inner:before {
  width: 1px;
}
#game.status section.main .timeline__inner:after {
  width: 121px;
  border-right: 1px dashed #2c96bc;
}
#game.status section.main .timeline__title {
  font-size: 28px;
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
}
#game.status section.main .timeline__title--center {
  text-align: center;
}
#game.status section.main .timeline__title--side {
  text-align: left;
  width: 375px;
  padding-top: 50px;
  border-bottom: 1px solid #2c96bc;
}
#game.status section.main .timeline__title--left {
  padding-right: 50px;
}
#game.status section.main .timeline__title--right {
  padding-left: 50px;
  float: right;
  text-align: right;
}
#game.status section.main .timeline__month-marker {
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  width: 90px;
  border: 3px solid #38aacf;
  background-color: #2c96bc;
  margin: 0 auto 15px auto;
  text-align: center;
  padding: 5px;
  z-index: 40;
}
#game.status section.main .timeline__element--first {
  padding-top: 30px;
}
#game.status section.main .timeline__element--last {
  padding-bottom: 30px;
}
#game.status section.main .event {
  margin-bottom: 15px;
  z-index: 30;
}
#game.status section.main .event:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
#game.status section.main .event__title {
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
}
#game.status section.main .event__type {
  font-size: 13px;
  text-transform: uppercase;
}
#game.status section.main .event__intro {
  font-size: 15px;
  margin-bottom: 15px;
  margin-top: 10px;
  line-height: 20px;
}
#game.status section.main .event__read-more {
  font-size: 12px;
  text-transform: uppercase;
}
#game.status section.main .event__read-more:after {
  content: '';
  margin-top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#game.status section.main .event__bubble {
  background-color: #2c96bc;
  width: 320px;
  padding: 15px 20px 15px 15px;
}
#game.status section.main .event__bubble:after {
  position: absolute;
  top: 10px;
  content: '';
  border-style: solid;
}
#game.status section.main .event__bubble--left {
  float: left;
}
#game.status section.main .event__bubble--left:after {
  left: 100%;
  border-width: 0px 0px 22px 26px;
  border-color: transparent transparent transparent #2c96bc;
}
#game.status section.main .event__bubble--center {
  float: left;
  margin-left: 60px;
}
#game.status section.main .event__bubble--center:after {
  left: 100%;
  border-width: 0px 0px 22px 26px;
  border-color: transparent transparent transparent #2c96bc;
}
#game.status section.main .event__bubble--right {
  float: right;
}
#game.status section.main .event__bubble--right:after {
  right: 100%;
  border-width: 0px 26px 22px 0px;
  border-color: transparent #2c96bc transparent transparent;
}
#game.status section.main .event__marker {
  width: 21px;
  height: 21px;
  border: 3px solid #000;
  background-color: #fec50a;
  border-radius: 100%;
  margin: 3px 44px;
}
#game.status section.main .event__marker--left {
  float: left;
}
#game.status section.main .event__marker--center {
  float: left;
}
#game.status section.main .event__marker--right {
  float: right;
}
#game.status section.main .event--first {
  padding-top: 30px;
}
#game.status section.main .event--last {
  padding-bottom: 30px;
}
#game.status section.main .event:first-child {
  padding-top: 30px;
}
#game.status section.main .event:first-child .event__bubble {
  background: #b0ddec;
}
#game.status section.main .event:first-child .event__bubble--left:after {
  border-color: transparent transparent transparent #b0ddec;
}
#game.status section.main .event:first-child .event__bubble--center:after {
  border-color: transparent transparent transparent #b0ddec;
}
#game.status section.main .event:first-child .event__bubble--right:after {
  border-color: transparent #b0ddec transparent transparent;
}
#game.status section.main .event:first-child .event__marker {
  width: 6px;
  border-width: 0px;
  border-radius: 0;
  background-color: #38aacf;
  margin: 0 52px;
  height: auto;
}
#game.status section.main .event:first-child .event__marker:before,
#game.status section.main .event:first-child .event__marker:after {
  width: 5px;
  height: 5px;
  border-radius: 100%;
  margin: 5px 0px;
  content: '';
  display: block;
  background-color: #2c96bc;
}
#game.status section.main .event:first-child .event__marker .inner {
  background-color: #2c96bc;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  display: block;
}
/* game-status */
#news header.main nav li.news a {
  color: #000;
}
#news header.main nav li.news ul {
  display: block;
}
#news section.main {
  /******************
    *  header
    *******************/
}
#news section.main > header {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 50px 0;
  text-transform: uppercase;
  text-align: center;
}
#news section.main > header h1 {
  font-weight: 800;
  font-size: 45px;
  margin: 0;
}
#news section.main > header p {
  font-weight: normal;
  font-size: 35px;
  margin: 0;
}
/* news main */
#news.list section.main {
  overflow: hidden;
  /******************
    *  pinned news
    *******************/
  /******************
    *  archive
    *******************/
}
#news.list section.main .pinned {
  margin-top: 30px;
  background-color: #fec50a;
}
#news.list section.main .pinned a {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  position: relative;
  padding: 50px 350px;
  padding-left: 0;
  text-decoration: none;
  min-height: 320px;
}
#news.list section.main .pinned a:hover small {
  text-decoration: underline;
}
#news.list section.main .pinned h1,
#news.list section.main .pinned .author,
#news.list section.main .pinned time,
#news.list section.main .pinned small {
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
}
#news.list section.main .pinned img {
  border: 6px solid #000;
  position: absolute;
  top: -30px;
  left: auto;
  bottom: auto;
  right: 0;
  width: 300px;
  height: 300px;
}
#news.list section.main .pinned h1 {
  font-weight: 300;
  font-size: 32px;
  letter-spacing: 1px;
  margin-bottom: 5px;
}
#news.list section.main .pinned .author {
  font-weight: 300;
  font-size: 18px;
  margin-bottom: 40px;
}
#news.list section.main .pinned .author strong {
  font-weight: bold;
}
#news.list section.main .pinned time {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
}
#news.list section.main .pinned .text {
  margin: 0;
  font-weight: 300;
  font-size: 22px;
}
#news.list section.main .pinned small {
  margin-top: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  display: block;
  font-size: 14px;
  margin-top: 40px;
}
#news.list section.main .pinned small::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#news.list section.main .archive {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 70px 0;
  text-transform: uppercase;
  /******************
      *  archive filters
      *******************/
  /******************
      *  archive items
      *******************/
}
#news.list section.main .archive > h1,
#news.list section.main .archive p {
  margin: 0;
}
#news.list section.main .archive > h1 {
  font-weight: 800;
}
#news.list section.main .archive .filters {
  font-size: 20px;
  color: #fff;
}
#news.list section.main .archive .filters li {
  display: inline-block;
  vertical-align: top;
}
#news.list section.main .archive .filters label {
  display: block;
  font-weight: 300;
  padding: 20px 0;
  cursor: pointer;
  position: relative;
}
#news.list section.main .archive .filters label::after {
  content: '/';
  padding: 0 20px;
  color: #fff;
}
#news.list section.main .archive .filters label::before {
  content: '';
  position: absolute;
  top: auto;
  left: 50%;
  bottom: -28px;
  right: auto;
  width: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent rgba(255, 255, 255, 0.7) transparent transparent;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-left: -32.5px;
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
}
#news.list section.main .archive .filters li:last-child label::after {
  display: none;
}
#news.list section.main .archive .filters li:last-child label::before {
  margin-left: -7.5px;
}
#news.list section.main .archive .filters input[type="radio"] {
  display: none;
}
#news.list section.main .archive .filters input[type="radio"]:checked + label {
  color: #000;
}
#news.list section.main .archive .filters input[type="radio"]:checked + label::before {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
}
#news.list section.main .archive .filters .year,
#news.list section.main .archive .filters .search {
  display: inline-block;
  vertical-align: middle;
}
#news.list section.main .archive .filters .year {
  width: calc(100% - 300px);
}
#news.list section.main .archive .filters .search {
  width: 300px;
}
#news.list section.main .archive .filters .search input,
#news.list section.main .archive .filters .search button {
  display: inline-block;
  vertical-align: middle;
}
#news.list section.main .archive .filters .search input {
  width: calc(100% - 65px);
  background-color: rgba(255, 255, 255, 0.5);
}
#news.list section.main .archive .filters .search button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  background-image: url('/castlestory/static/images/search-icon.png');
  background-repeat: no-repeat;
  width: 45px;
  height: 45px;
  margin-left: 20px;
}
#news.list section.main .archive .filters .search button:hover {
  background-position: 0 100%;
}
#news.list section.main .archive .filters .sort {
  margin-top: 20px;
  padding: 0 65px;
  text-align: right;
  background-color: rgba(255, 255, 255, 0.7);
  color: #fff;
  position: relative;
  /* long line */
}
#news.list section.main .archive .filters .sort label {
  font-size: 12px;
  font-weight: 800;
}
#news.list section.main .archive .filters .sort label::before {
  bottom: -7.5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent #38aacf transparent transparent;
}
#news.list section.main .archive .filters .sort label:after {
  content: '|';
}
#news.list section.main .archive .filters .sort:before,
#news.list section.main .archive .filters .sort:after {
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  content: '';
  background-color: rgba(255, 255, 255, 0.7);
}
#news.list section.main .archive .filters .sort:before {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}
#news.list section.main .archive .filters .sort:after {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}
#news.list section.main .archive .items {
  padding-top: 50px;
  text-align: center;
}
#news.list section.main .archive .items > h1 {
  font-weight: 300;
  font-size: 22px;
  color: #fff;
  text-align: left;
}
#news.list section.main .archive .items a {
  display: block;
  padding: 20px;
  padding-bottom: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
}
#news.list section.main .archive .items a:hover small {
  text-decoration: underline;
}
#news.list section.main .archive .items a img {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 20px;
  width: 100%;
}
#news.list section.main .archive .items a .author {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  font-size: 14px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#news.list section.main .archive .items a time {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  font-size: 14px;
}
#news.list section.main .archive .items a h1 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4;
  font-size: 20px;
  margin-top: 5px;
  margin-bottom: 20px;
  font-weight: 300;
}
#news.list section.main .archive .items a .text {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5;
  text-transform: none;
  max-height: 4.5em;
  overflow: hidden;
}
#news.list section.main .archive .items a small {
  position: absolute;
  top: auto;
  left: 20px;
  bottom: 20px;
  right: auto;
  display: block;
  margin-top: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
#news.list section.main .archive .items a small::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#news.list section.main .archive .items ul {
  text-align: left;
  overflow: hidden;
  -webkit-column-gap: 40px;
  -webkit-column-fill: auto;
  -moz-column-gap: 40px;
  -moz-column-fill: auto;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  -webkit-column-fill: auto;
     -moz-column-fill: auto;
          column-fill: auto;
  -webkit-column-count: 3;
  -moz-column-count: 3;
  column-count: 3;
  margin-bottom: 40px;
}
#news.list section.main .archive .items ul li {
  width: calc((100% - 240px) / 3);
  margin: 0px 0px 25px 0px;
  background-color: #2e9cbf;
  position: relative;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  width: 100%;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  column-break-inside: avoid;
  page-break-inside: avoid;
       break-inside: avoid;
}
#news.list section.main .archive .items ul li:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
#news.list section.main .archive .items ul li:nth-child(3n) {
  margin-right: 0;
}
#news.list section.main .archive .items .load-more {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  text-transform: uppercase;
  color: #fff;
  padding: 1em;
  padding-right: 1.5em;
}
#news.list section.main .archive .items .load-more::after {
  content: '';
  display: inline-block;
  vertical-align: top;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 0 3px 3px 0;
  -webkit-transform: translate(5px, -4px) rotate(45deg);
      -ms-transform: translate(5px, -4px) rotate(45deg);
          transform: translate(5px, -4px) rotate(45deg);
  -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
          transform-origin: bottom left;
}
#news.list section.main .archive .items .load-more:disabled {
  opacity: 0.4;
}
/* news list */
#news.details section.main .post-related,
#news.details section.main .link-container {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
#news.details section.main .post-related {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#news.details section.main aside.related {
  width: 300px;
  margin-left: 40px;
}
#news.details section.main aside.related header {
  margin-left: 20px;
}
#news.details section.main aside.related header h1 {
  margin-bottom: 0px;
  text-transform: uppercase;
}
#news.details section.main aside.related header p {
  margin-top: 0px;
}
#news.details section.main aside.related article {
  width: 100%;
  background-color: #2e9cbf;
  position: relative;
  padding: 20px;
  margin-bottom: 20px;
}
#news.details section.main aside.related article img {
  width: 100%;
}
#news.details section.main aside.related article small {
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.3;
}
#news.details section.main aside.related article small span {
  display: block;
  font-weight: normal;
}
#news.details section.main aside.related article small strong {
  font-weight: 800;
}
#news.details section.main aside.related article small:after {
  content: '';
  margin-top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#news.details section.main aside.related article a:hover {
  text-decoration: none;
}
#news.details section.main aside.related article a:hover small {
  text-decoration: underline;
}
#news.details section.main article.post {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  min-width: 0;
  padding: 10px;
}
#news.details section.main article.post img {
  max-width: 100%;
}
#news.details section.main article.post .back {
  text-transform: uppercase;
  font-weight: 800;
  font-size: 12px;
}
#news.details section.main article.post .back::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  margin-left: 0;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform: translateX(-5px) translateY(-1px) rotate(180deg);
      -ms-transform: translateX(-5px) translateY(-1px) rotate(180deg);
          transform: translateX(-5px) translateY(-1px) rotate(180deg);
}
#news.details section.main article.post h1,
#news.details section.main article.post h2,
#news.details section.main article.post h3,
#news.details section.main article.post h4,
#news.details section.main article.post h5,
#news.details section.main article.post h6 {
  text-transform: uppercase;
  margin: 0.4em 0;
  color: #0a0f14;
}
#news.details section.main article.post > h1 {
  margin-top: 15px;
  margin-bottom: 1em;
  font-size: 28px;
  padding-right: 230px;
}
#news.details section.main article.post .author,
#news.details section.main article.post time {
  text-transform: uppercase;
  margin: 0;
  font-weight: bold;
}
#news.details section.main article.post .post-content {
  line-height: 2;
  font-size: 18px;
}
#news.details section.main article.post .post-content ul,
#news.details section.main article.post .post-content ol {
  padding: 0px 60px 20px;
  font-style: italic;
  color: #001e3a;
}
#news.details section.main article.post .post-content ul li {
  list-style-type: disc;
}
#news.details section.main article.post .post-content a {
  text-decoration: underline;
}
#news.details section.main article.post .share {
  width: 210px;
}
#news.details section.main article.post .share h1,
#news.details section.main article.post .share a {
  display: inline-block;
  vertical-align: middle;
}
#news.details section.main article.post .share h1 {
  margin: 0;
  font-size: 12px;
  font-weight: normal;
}
#news.details section.main article.post .share a {
  font-family: 'icon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  height: 6px;
  width: 30px;
  margin-left: 10px;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}
#news.details section.main article.post .share a::before {
  position: absolute;
  margin-top: -10px;
  font-size: 26px;
}
#news.details section.main article.post .share a.fb::before {
  content: '\E902';
}
#news.details section.main article.post .share a.twitter::before {
  content: '\E903';
}
#news.details section.main article.post .share a:hover {
  color: #fff;
}
#news.details section.main article.post .share.top {
  position: absolute;
  top: 31px;
  left: auto;
  bottom: auto;
  right: 0;
}
#news.details section.main article.post .share.bottom {
  margin: 30px auto 50px;
}
#news.details section.main nav {
  background-color: #fec50a;
}
#news.details section.main nav .link-container {
  text-transform: uppercase;
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
}
#news.details section.main nav .link-container:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
#news.details section.main nav .link-container a time {
  display: block;
  font-size: 13px;
  margin-top: 25px;
}
#news.details section.main nav .link-container a h1 {
  font-size: 19px;
  font-weight: 300;
  margin: 0px;
}
#news.details section.main nav .link-container a h1 strong {
  font-size: 16px;
}
#news.details section.main nav .link-container a p {
  font-size: 15px;
}
#news.details section.main nav .link-container a:hover {
  text-decoration: none;
}
#news.details section.main nav .link-container a:hover small {
  text-decoration: underline;
}
#news.details section.main nav .link-container .next {
  float: right;
  margin-right: 340px;
}
#news.details section.main nav .link-container .next small::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
}
#news.details section.main nav .link-container .prev::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(180deg);
      -ms-transform:  rotate(180deg);
          transform:  rotate(180deg);
  margin-right: 10px;
  margin-left: 0px;
}
/* news details */
#about header.main nav li.about a {
  color: #000;
}
#about header.main nav li.about ul {
  display: block;
}
#about header.main nav > ul > li.about > a::after {
  display: block;
}
#about header.main::after {
  display: block;
}
#about.story nav a.about_story::after {
  display: block;
}
#about.creators nav a.about_creators::after {
  display: block;
}
#about.studio nav a.about_studio::after {
  display: block;
}
#about.contact nav a.about_contact::after {
  display: block;
}
#about {
  padding-bottom: 365px;
}
#about section.main {
  padding-bottom: 0;
  /******************
    *  story
    *******************/
  /******************
    *  creators
    *******************/
  /******************
    *  studio
    *******************/
  /******************
    *  contact
    *******************/
}
#about section.main h1,
#about section.main h2 {
  margin: 0;
}
#about section.main p {
  margin: 0;
}
#about section.main section.story {
  position: relative;
  padding: 60px 0;
}
#about section.main section.story::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: url('/castlestory/static/images/game/bg-float.png') no-repeat;
  background-position: center 0px;
  pointer-events: none;
  min-height: 660px;
}
#about section.main section.story h1 {
  text-align: center;
}
#about section.main section.story h1 span {
  display: block;
}
#about section.main section.story h1 .main {
  font-size: 45px;
  font-weight: 800;
  margin-bottom: 5px;
  text-transform: uppercase;
}
#about section.main section.story h1 .secondary {
  font-size: 35px;
  font-weight: normal;
  text-transform: uppercase;
}
#about section.main section.story ul {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 40px 0;
}
#about section.main section.story ul li {
  width: 400px;
  display: inline-block;
  vertical-align: top;
  padding-right: 40px;
}
#about section.main section.story ul li p {
  margin-bottom: 10px;
}
#about section.main section.story ul li.sauropod-logo {
  background-repeat: no-repeat;
  background-position: center top;
  background-image: url('/castlestory/static/images/about/sauropod-logo.png');
  min-height: 291px;
}
#about section.main section.creators {
  padding: 40px 0 0px;
  background-color: #fec50a;
  text-transform: uppercase;
}
#about section.main section.creators > section {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding-bottom: 0px;
}
#about section.main section.creators > section ul {
  padding: 25px 144px 0px;
}
#about section.main section.creators > section ul li {
  vertical-align: top;
  margin: 30px 52px 0px;
  width: 200px;
  display: inline-block;
  position: relative;
  padding-bottom: 40px;
}
#about section.main section.creators > section ul li button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
}
#about section.main section.creators > section ul li button img {
  border: 6px solid #000;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  background-color: #fff;
  outline-style: none;
}
#about section.main section.creators > section ul li::after {
  content: '';
  position: absolute;
  top: auto;
  left: 50%;
  bottom: -8px;
  right: auto;
  width: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent #fff transparent transparent;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-left: -7.5px;
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0.3s;
}
#about section.main section.creators > section ul li.selected::after {
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  -webkit-transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, visibility 0s linear 0s;
}
#about section.main section.creator-info {
  background-color: #fff;
}
#about section.main section.creator-info article {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 140px 0;
  background-image: url('/castlestory/static/images/about/creator-info-illustration.png');
  background-repeat: no-repeat;
  background-position: right center;
}
#about section.main section.creator-info article p {
  width: 530px;
}
#about section.main section.studio {
  padding: 50px 0;
}
#about section.main section.studio > h1,
#about section.main section.studio > p {
  text-transform: uppercase;
}
#about section.main section.studio .media-carousel {
  width: 1125px;
}
#about section.main section.studio ul {
  display: inline-block;
  vertical-align: top;
  padding: 25px 0 45px;
  white-space: nowrap;
  width: 1053px;
  overflow: hidden;
}
#about section.main section.studio ul li {
  display: inline-block;
  vertical-align: top;
  width: 327px;
  margin: 12px;
  position: relative;
}
#about section.main section.studio ul li button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  width: 100%;
  height: 302px;
  border: 6px solid #000;
  background: no-repeat center;
  margin-bottom: 12px;
}
#about section.main section.studio ul li button:hover:before {
  background-position: 0% 100%;
}
#about section.main section.studio ul li button::before {
  content: '';
  width: 75px;
  height: 56.25px;
  background: url('/castlestory/static/images/play.png') no-repeat;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  display: none;
}
#about section.main section.studio ul li button.video::before {
  display: inline-block;
  vertical-align: top;
}
#about section.main section.studio ul li button span {
  display: none;
}
#about section.main section.studio ul p {
  font-weight: 300;
  font-size: 15px;
  text-transform: none;
  padding: 0 12px;
  white-space: normal;
  text-align: center;
}
#about section.main section.studio button.prev,
#about section.main section.studio button.next {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  display: inline-block;
  vertical-align: top;
  width: 19px;
  height: 32px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  margin: 170px 0px 0px;
}
#about section.main section.studio button.prev.prev,
#about section.main section.studio button.next.prev {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 17px;
}
#about section.main section.studio button.prev.next,
#about section.main section.studio button.next.next {
  margin-left: 17px;
}
#about section.main section.studio > * {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 0;
}
#about section.main section.contact {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  text-transform: uppercase;
  padding: 0px 0 400px;
}
#about section.main section.contact fieldset {
  display: inline-block;
  vertical-align: top;
  padding-right: 60px;
}
#about section.main section.contact form .server-errors-container {
  margin: 0 20px 30px;
}
#about section.main section.contact form .server-errors-container h1 {
  font-size: 22px;
  margin: 0;
}
#about section.main section.contact form .field {
  display: block;
}
#about section.main section.contact form input {
  width: 347px;
}
#about section.main section.contact form textarea {
  width: 447px;
  height: 129px;
}
#about section.main section.contact form button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0.5);
  border: 6px solid #000;
  color: #0a0f14;
  font-size: 14px;
  font-weight: 300;
  padding: 10px;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #fff;
  font-weight: 800;
  font-size: 16px;
  padding: 5px 5px 3px 15px;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: bottom;
}
#about section.main section.contact form button:focus {
  background-color: #fff;
}
#about section.main section.contact form button::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button:-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#about section.main section.contact form button::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
  margin-top: -4px;
  margin-left: 7px;
}
/* game-about */
/*********************
*  common style
**********************/
#account {
  padding-bottom: 765px;
}
#account section.main {
  /******************
    *  header
    *******************/
}
#account section.main > header {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  padding: 50px 0;
  text-transform: uppercase;
  text-align: center;
}
#account section.main > header h1 {
  font-weight: 800;
  font-size: 45px;
  margin: 0;
}
#account section.main > header p {
  font-weight: normal;
  font-size: 35px;
  margin: 0;
}
#account section.main form {
  background-color: #fec50a;
}
#account section.main form h2,
#account section.main form p {
  -webkit-box-flex: 1;
  -webkit-flex: 1 100%;
      -ms-flex: 1 100%;
          flex: 1 100%;
  margin: 0 20px;
  text-transform: uppercase;
}
#account section.main form h2 {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 1px;
}
#account section.main form p {
  margin-top: 10px;
  margin-bottom: 30px;
  font-size: 18px;
}
#account section.main form .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 40px 0;
}
#account section.main form .field,
#account section.main form .actions,
#account section.main form fieldset {
  -webkit-box-flex: 1;
  -webkit-flex: 1 auto;
      -ms-flex: 1 auto;
          flex: 1 auto;
  margin: 0 20px;
}
#account section.main form .field span {
  display: block;
  padding: 0 0 20px;
}
#account section.main form input {
  width: 100%;
}
#account section.main form button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0.5);
  border: 6px solid #000;
  color: #0a0f14;
  font-size: 14px;
  font-weight: 300;
  padding: 10px;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #fff;
  font-weight: 800;
  font-size: 16px;
  padding: 5px 5px 3px 15px;
  text-transform: uppercase;
}
#account section.main form button:focus {
  background-color: #fff;
}
#account section.main form button::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button:-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button::-moz-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button:-ms-input-placeholder {
  text-transform: uppercase;
  color: #777367;
}
#account section.main form button::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background: url('/castlestory/static/images/arrow.png') no-repeat;
  background-size: contain;
  -webkit-transform:  rotate(0deg);
      -ms-transform:  rotate(0deg);
          transform:  rotate(0deg);
  margin-top: -4px;
  margin-left: 7px;
}
#account section.main form .actions {
  text-align: right;
}
#account section.main form .other,
#account section.main form .server-errors-container {
  -webkit-box-flex: 1;
  -webkit-flex: 1 100%;
      -ms-flex: 1 100%;
          flex: 1 100%;
}
#account section.main form .other {
  margin-top: 30px;
}
#account section.main form .other a {
  display: block;
}
#account section.main form .server-errors-container,
#account section.main form .confirmation {
  text-transform: uppercase;
}
#account section.main form .server-errors-container {
  margin: 0 20px 30px;
}
#account section.main form .server-errors-container h1 {
  font-size: 22px;
  margin: 0;
}
#account section.main form fieldset {
  -webkit-box-flex: 2;
  -webkit-flex: 2 33%;
      -ms-flex: 2 33%;
          flex: 2 33%;
  margin-left: 0;
  margin-right: 0;
}
#account section.main form fieldset .field {
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 40px);
}
#account section.main form fieldset .field.newsletter {
  width: calc(100% - 40px);
}
/* account common */
#account.signup section.main form {
  text-transform: uppercase;
}
#account.signup section.main form .actions a {
  margin-right: 20px;
  width: 100px;
  display: inline-block;
  vertical-align: bottom;
  text-align: left;
}
#account.signup section.main form .field.newsletter {
  width: calc(100% - 40px);
  margin-top: 20px;
}
/* signup */
#account.signin section.main form .field-remember {
  padding: 10px 0;
}
#account.signin section.main form .field-remember .label-remember::before {
  width: 41px;
  height: 41px;
}
/* signin */
#account.profile section.main form .content {
  display: block;
}
#account.profile section.main form fieldset {
  display: block;
  margin: 20px 0px 60px;
}
#account.profile section.main form fieldset .field div {
  display: block;
  margin-bottom: 20px;
}
#account.profile section.main form fieldset .field .explication {
  font-size: 14px;
  text-transform: none;
  margin: 0px 0px 10px 0px;
}
#account.profile section.main form fieldset .field.avatar {
  width: calc(30% - 40px);
}
#account.profile section.main form fieldset .field.avatar div {
  margin-bottom: 20px;
  margin: 0 auto;
  width: 200px;
  text-align: center;
}
#account.profile section.main form fieldset .field.avatar div button {
  margin-top: 20px;
}
#account.profile section.main form fieldset .field.avatar img {
  border: 6px solid #000;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  background-color: #000;
  outline-style: none;
}
#account.profile section.main form fieldset .field.beside-avatar {
  width: calc(70% - 40px);
}
#account.profile section.main form fieldset .field.newsletter {
  width: calc(100% - 40px);
  margin-top: 20px;
}
/* profile */
#game header.main nav li.game a {
  color: #000;
}
#game header.main nav li.game ul {
  display: block;
}
#game header.main nav > ul > li.game > a::after {
  display: block;
}
#game header.main::after {
  display: block;
}
#game.world nav a.game_world::after {
  display: block;
}
#game.about nav a.game_about::after {
  display: block;
}
#game.status nav a.game_status::after {
  display: block;
}
#buy {
  padding-bottom: 365px;
}
#buy section.main {
  padding-bottom: 0;
  height: 700px;
}
#buy section.main section.steam {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  width: 646px;
  margin: 100px auto 20px;
}
#buy section.main section.humble {
  margin: 0 auto;
  padding: 1em 0;
  max-width: 1200px;
  width: 550px;
}
/**
 * PRESS KIT
 * ------------------------------------------------------------------- */
#press {
  padding-bottom: 725px;
}
#press section.press {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 10px 0 10px;
  /**
     *  MEDIAS
     * ---------------------------------------------- */
  /**
     *  PROJECT INFO
     * ---------------------------------------------- */
  /**
     *  STUDIO INFO
     * ---------------------------------------------- */
}
#press section.press h1,
#press section.press h2,
#press section.press h3 {
  margin: 0;
  text-transform: uppercase;
  margin-bottom: 10px;
}
#press section.press h2 {
  font-size: 40px;
  margin-bottom: 20px;
}
#press section.press a {
  text-decoration: underline;
}
#press section.press .project-info > section,
#press section.press .studio-info > section {
  margin-bottom: 40px;
}
#press section.press .project-info > section > section,
#press section.press .studio-info > section > section {
  margin-bottom: 20px;
}
#press section.press .press-medias-images,
#press section.press .press-medias-videos {
  padding-left: 0;
  margin-bottom: 40px;
}
#press section.press .press-media {
  display: inline-block;
  vertical-align: top;
  min-width: 250px;
  min-height: 180px;
}
#press section.press .press-media button {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  color: #000;
  border-radius: 0;
  width: 100%;
  height: 100%;
  border: 6px solid #000;
  background: no-repeat center;
  margin-bottom: 10px;
}
#press section.press .press-media button:hover:before {
  background-position: 0% 100%;
}
#press section.press .press-media button::before {
  content: '';
  width: 75px;
  height: 56.25px;
  background: url('/castlestory/static/images/play.png') no-repeat;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  display: none;
}
#press section.press .press-media button.video::before {
  display: inline-block;
  vertical-align: top;
}
#press section.press .press-media button span {
  display: none;
}
#press section.press .press-media .title,
#press section.press .press-media .subtitle {
  margin: 0 0 0 10px;
  padding: 0;
  font-size: 16px;
}
#press section.press .press-media .title {
  font-weight: bold;
}
#press section.press .press-media.press-media-video {
  min-width: 560px;
  min-height: 315px;
  margin-left: 20px;
  margin-bottom: 20px;
}
#press section.press .press-media.press-media-video:nth-child(2n+1) {
  margin-left: 0;
}
#press section.press .press-media.press-media-video button {
  min-height: 315px;
}
#press section.press .press-media.press-media-video.press-media-video-large {
  min-width: 1140px;
  min-height: 641px;
}
#press section.press .press-media.press-media-video.press-media-video-large button {
  min-height: 641px;
}
#press section.press .press-media.press-media-image {
  min-width: 250px;
  min-height: 180px;
  margin-left: 46px;
  margin-bottom: 46px;
}
#press section.press .press-media.press-media-image:nth-child(4n+1) {
  margin-left: 0;
}
#press section.press .press-media.press-media-image button {
  min-height: 180px;
}
#press section.press .project-info .project-logos {
  margin: 0 auto 40px auto;
  text-align: center;
}
#press section.press .project-info .project-logos .studio-logo,
#press section.press .project-info .project-logos .game-logo {
  display: inline-block;
  vertical-align: middle;
  width: 50%;
}
#press section.press .project-info .project-logos .studio-logo {
  width: 291px;
}
#press section.press .project-info .project-logos .game-logo {
  width: 305px;
  margin-left: 40px;
}
#press section.press .project-info .project-fact-sheet ul li {
  margin-bottom: 6px;
}
#press section.press .project-info .project-fact-sheet .fact-title,
#press section.press .project-info .project-fact-sheet .fact-content {
  display: inline-block;
  vertical-align: top;
  font-size: 18px;
}
#press section.press .project-info .project-fact-sheet .fact-title {
  font-weight: bold;
  min-width: 150px;
}
#press section.press .project-info .project-description p {
  margin: 20px 0;
}
#press section.press .project-info .project-description p.excerpt {
  font-size: 22px;
}
#press section.press .project-info .project-additional-links ul {
  list-style-type: disc;
  padding-left: 20px;
  font-size: 18px;
}
#press section.press .project-info .project-additional-links ul li {
  margin-bottom: 6px;
}
#press section.press .studio-info .studio-medias .press-medias-videos {
  margin-top: 30px;
}
#press section.press .studio-info .studio-people .studio-team,
#press section.press .studio-info .studio-people .studio-contact {
  display: inline-block;
  vertical-align: top;
  width: 50%;
}
#press section.press .studio-info .studio-people .studio-team ul,
#press section.press .studio-info .studio-people .studio-contact ul {
  list-style-type: disc;
  padding-left: 20px;
}
#press section.press .studio-info .studio-people .studio-team ul li,
#press section.press .studio-info .studio-people .studio-contact ul li {
  margin-bottom: 15px;
}
#press section.press .studio-info .studio-people .studio-team .person-name,
#press section.press .studio-info .studio-people .studio-team .person-role {
  display: block;
}
#press section.press .studio-info .studio-people .studio-team .person-name {
  margin-bottom: 3px;
}
#press section.press .studio-info .studio-people .studio-contact .contact-type,
#press section.press .studio-info .studio-people .studio-contact .contact-link {
  display: block;
}
#press section.press .studio-info .studio-people .studio-contact .contact-type {
  margin-bottom: 3px;
}
@keyframes animatedBackground {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    background-position-x: 0%;
  }
}
@-webkit-keyframes falling {
  100% {
    background-position: -2000px;
  }
}
@keyframes falling {
  100% {
    background-position: -2000px;
  }
}
#error.four-oh-four {
  height: 6000px;
}
#error.four-oh-four .backgrounds {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}
#error.four-oh-four .s1_far_clouds {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s1_far_clouds2.png') no-repeat center 0px;
  -webkit-animation: animatedBackground 1200s linear infinite;
          animation: animatedBackground 1200s linear infinite;
  min-height: 605px;
  min-width: 2385px;
  margin-left: -1192.5px;
}
#error.four-oh-four .s1_close_cloud {
  position: absolute;
  top: 180px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s1_close_cloud.png') repeat-x center 0px;
  min-height: 1970px;
  min-width: 4650px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -2325px;
}
#error.four-oh-four .s3_far_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s3_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#error.four-oh-four .s3_far_islands {
  position: absolute;
  top: 1478px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -40;
  background: url('/castlestory/static/images/game/about/s3_far_islands.png') no-repeat center 0px;
  min-height: 900px;
}
#error.four-oh-four .s3_close_clouds {
  position: absolute;
  top: 1478px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -30;
  background: url('/castlestory/static/images/game/about/s3_close_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 3298px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1649px;
}
#error.four-oh-four .s5_far_clouds {
  position: absolute;
  top: 2600px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/game/about/s5_far_clouds.png') repeat-x center 0px;
  min-height: 900px;
  min-width: 2560px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1280px;
}
#error.four-oh-four .s7_far_clouds {
  position: absolute;
  top: 3000px;
  left: 50%;
  bottom: 0;
  right: 0;
  z-index: -50;
  background: url('/castlestory/static/images/footer/clouds.png') repeat-x center 0px;
  min-height: 1256px;
  min-width: 2800px;
  -webkit-animation: animatedBackground 800s linear infinite;
          animation: animatedBackground 800s linear infinite;
  margin-left: -1400px;
}
#error.four-oh-four .falling-bricktron {
  width: 500px;
  height: 413px;
  margin-left: -250px;
  background-image: url('/castlestory/static/images/404/404_Sprite.png');
  -webkit-animation: falling 400ms steps(4) infinite;
          animation: falling 400ms steps(4) infinite;
  position: fixed;
  top: 35%;
  left: 50%;
  -webkit-transition-duration: 10ms;
          transition-duration: 10ms;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjazovLy9zcmMvY3NzL2FwcC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OytDQUkrQztBQUMvQyw0RUFBNEU7O0FBRTVFOzs7O0dBSUc7O0FBRUg7RUFDRSx3QkFBd0IsQ0FBQyxPQUFPO0VBQ2hDLDJCQUEyQixDQUFDLE9BQU87RUFDbkMsK0JBQStCLENBQUMsT0FBTztDQUN4Qzs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLFVBQVU7Q0FDWDs7QUFFRDtnRkFDZ0Y7O0FBRWhGOzs7OztHQUtHOztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZTtDQUNoQjs7QUFFRDs7O0dBR0c7O0FBRUg7Ozs7RUFJRSxzQkFBc0IsQ0FBQyxPQUFPO0VBQzlCLHlCQUF5QixDQUFDLE9BQU87Q0FDbEM7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0UsY0FBYztFQUNkLFVBQVU7Q0FDWDs7QUFFRDs7O0dBR0c7O0FBRUg7O0VBRUUsY0FBYztDQUNmOztBQUVEO2dGQUNnRjs7QUFFaEY7O0dBRUc7O0FBRUg7RUFDRSw4QkFBOEI7Q0FDL0I7O0FBRUQ7OztHQUdHOztBQUVIOztFQUVFLFdBQVc7Q0FDWjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOztHQUVHOztBQUVIO0VBQ0UsMEJBQTBCO0NBQzNCOztBQUVEOztHQUVHOztBQUVIOztFQUVFLGtCQUFrQjtDQUNuQjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDs7O0dBR0c7O0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQUVEOztHQUVHOztBQUVIO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVk7Q0FDYjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7O0dBRUc7O0FBRUg7O0VBRUUsZUFBZTtFQUNmLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCO0NBQzFCOztBQUVEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUVEO2dGQUNnRjs7QUFFaEY7O0dBRUc7O0FBRUg7RUFDRSxVQUFVO0NBQ1g7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7Z0ZBQ2dGOztBQUVoRjs7R0FFRzs7QUFFSDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLHdCQUF3QjtFQUN4QixVQUFVO0NBQ1g7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxlQUFlO0NBQ2hCOztBQUVEOztHQUVHOztBQUVIOzs7O0VBSUUsa0NBQWtDO0VBQ2xDLGVBQWU7Q0FDaEI7O0FBRUQ7Z0ZBQ2dGOztBQUVoRjs7O0dBR0c7O0FBRUg7Ozs7O0dBS0c7O0FBRUg7Ozs7O0VBS0UsZUFBZSxDQUFDLE9BQU87RUFDdkIsY0FBYyxDQUFDLE9BQU87RUFDdEIsVUFBVSxDQUFDLE9BQU87Q0FDbkI7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7Ozs7O0dBS0c7O0FBRUg7O0VBRUUscUJBQXFCO0NBQ3RCOztBQUVEOzs7Ozs7R0FNRzs7QUFFSDs7OztFQUlFLDJCQUEyQixDQUFDLE9BQU87RUFDbkMsZ0JBQWdCLENBQUMsT0FBTztDQUN6Qjs7QUFFRDs7R0FFRzs7QUFFSDs7RUFFRSxnQkFBZ0I7Q0FDakI7O0FBRUQ7O0dBRUc7O0FBRUg7O0VBRUUsVUFBVTtFQUNWLFdBQVc7Q0FDWjs7QUFFRDs7O0dBR0c7O0FBRUg7RUFDRSxvQkFBb0I7Q0FDckI7O0FBRUQ7Ozs7OztHQU1HOztBQUVIOztFQUVFLHVCQUF1QixDQUFDLE9BQU87RUFDL0IsV0FBVyxDQUFDLE9BQU87Q0FDcEI7O0FBRUQ7Ozs7R0FJRzs7QUFFSDs7RUFFRSxhQUFhO0NBQ2Q7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0UsOEJBQThCLENBQUMsT0FBTztFQUN0Qyx3QkFBd0IsQ0FBQyxPQUFPO0NBQ2pDOztBQUVEOzs7O0dBSUc7O0FBRUg7O0VBRUUseUJBQXlCO0NBQzFCOztBQUVEOztHQUVHOztBQUVIO0VBQ0UsMEJBQTBCO0VBQzFCLGNBQWM7RUFDZCwrQkFBK0I7Q0FDaEM7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0UsVUFBVSxDQUFDLE9BQU87RUFDbEIsV0FBVyxDQUFDLE9BQU87Q0FDcEI7O0FBRUQ7O0dBRUc7O0FBRUg7RUFDRSxlQUFlO0NBQ2hCOztBQUVEOzs7R0FHRzs7QUFFSDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOztHQUVHOztBQUVIO0VBQ0UsMEJBQTBCO0VBQzFCLGtCQUFrQjtDQUNuQjs7QUFFRDs7RUFFRSxXQUFXO0NBQ1o7O0FBRUQsOEJBQThCO0FBQzlCLDhCQUE4QjtBQUM5Qiw4QkFBOEI7QUFDOUI7O0VBRUU7QUFDRjs7Ozs7OztFQU9FO0FBQ0Y7O0VBRUU7QUFDRjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztvQkFFb0I7QUFDcEI7O29CQUVvQjtBQUNwQjs7cUJBRXFCO0FBQ3JCO0VBQ0Usc0JBQXNCO0VBQ3RCLG9FQUFvRTtFQUNwRSxvV0FBb1c7RUFDcFcsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLGtFQUFrRTtFQUNsRSwyVkFBMlY7RUFDM1Ysb0JBQW9CO0VBQ3BCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLHNFQUFzRTtFQUN0RSw2V0FBNlc7RUFDN1csaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLGtFQUFrRTtFQUNsRSwyVkFBMlY7RUFDM1Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9FQUFvRTtFQUNwRSxvV0FBb1c7RUFDcFcsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLDBEQUEwRDtFQUMxRCx3VEFBd1Q7RUFDeFQsb0JBQW9CO0VBQ3BCLG1CQUFtQjtDQUNwQjtBQUNEOztxQkFFcUI7QUFDckI7RUFDRSxhQUFhO0NBQ2Q7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsMEJBQTBCO0VBQzFCLDRHQUE0RztFQUM1RywwR0FBMEc7RUFDMUcsNkJBQTZCO0VBQzdCLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2Ysb0NBQW9DO0VBQ3BDLG1DQUFtQztFQUNuQyxpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixtQkFBbUI7Q0FDcEI7QUFDRDs7O0VBR0Usb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxxQkFBcUI7Q0FDdEI7QUFDRDs7cUJBRXFCO0FBQ3JCOztFQUVFLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsZUFBZTtFQUNmLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsMkJBQTJCO0NBQzVCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsV0FBVztDQUNaO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjtBQUNEOztxQkFFcUI7QUFDckI7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLDBCQUEwQjtFQUMxQixpQkFBaUI7Q0FDbEI7QUFDRDs7O0VBR0UsMkNBQTJDO0VBQzNDLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsOEJBQThCO0VBQzlCLHNCQUFzQjtDQUN2QjtBQUNEOzs7RUFHRSx1QkFBdUI7Q0FDeEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDs7O0VBR0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0NBQ2Y7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLCtFQUErRTtFQUMvRSxhQUFhO0VBQ2IsY0FBYztDQUNmO0FBQ0Q7RUFDRSw4RUFBOEU7Q0FDL0U7QUFDRDs7cUJBRXFCO0FBQ3JCO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGdDQUFnQztFQUNoQyxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGFBQWE7RUFDYixhQUFhO0NBQ2Q7QUFDRDtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixhQUFhO0VBQ2IsMEJBQTBCO0VBQzFCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdEQUFnRDtFQUNoRCx3Q0FBd0M7Q0FDekM7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixZQUFZO0VBQ1osVUFBVTtFQUNWLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysb0JBQW9CO0VBQ3BCLDRCQUE0QjtFQUM1QiwwREFBMEQ7RUFDMUQsbUNBQW1DO01BQy9CLCtCQUErQjtVQUMzQiwyQkFBMkI7RUFDbkMsbUJBQW1CO0VBQ25CLDBDQUEwQztFQUMxQyxrQ0FBa0M7Q0FDbkM7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGVBQWU7RUFDZixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNELFlBQVk7QUFDWjtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsMkNBQTJDO0VBQzNDLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osYUFBYTtFQUNiLGNBQWM7RUFDZCxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFFBQVE7RUFDUixhQUFhO0VBQ2IsWUFBWTtFQUNaLGFBQWE7RUFDYixVQUFVO0NBQ1g7QUFDRDtFQUNFO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtHQUNwQjtFQUNEO0lBQ0UsYUFBYTtJQUNiLFdBQVc7R0FDWjtFQUNEO0lBQ0UsYUFBYTtHQUNkO0NBQ0Y7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQiwwQkFBMEI7RUFDMUIsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFO0lBQ0UsbUJBQW1CO0dBQ3BCO0NBQ0Y7QUFDRDtFQUNFLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLFFBQVE7RUFDUixjQUFjO0VBQ2QsWUFBWTtFQUNaLFlBQVk7RUFDWixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7RUFDVixvQkFBb0I7RUFDcEIsNEJBQTRCO0VBQzVCLDBEQUEwRDtDQUMzRDtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsVUFBVTtFQUNWLGFBQWE7RUFDYixZQUFZO0VBQ1osaUNBQWlDO01BQzdCLDZCQUE2QjtVQUN6Qix5QkFBeUI7RUFDakMsa0NBQWtDO01BQzlCLDhCQUE4QjtVQUMxQiwwQkFBMEI7RUFDbEMsWUFBWTtFQUNaLGFBQWE7RUFDYixTQUFTO0VBQ1QsVUFBVTtFQUNWLG9CQUFvQjtFQUNwQiw0QkFBNEI7RUFDNUIsMkVBQTJFO0VBQzNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osMEJBQTBCO0VBQzFCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSx5RkFBeUY7RUFDekYsWUFBWTtFQUNaLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsb0JBQW9CO0VBQ3BCLG1DQUFtQztFQUNuQywyQkFBMkI7Q0FDNUI7QUFDRDtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0U7SUFDRSxhQUFhO0dBQ2Q7Q0FDRjtBQUNEO0VBQ0UsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQixjQUFjO0VBQ2QsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxXQUFXO0VBQ1gsYUFBYTtFQUNiLFNBQVM7RUFDVCxjQUFjO0NBQ2Y7QUFDRDtFQUNFLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxVQUFVO0VBQ1YsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGFBQWE7RUFDYixrRUFBa0U7RUFDbEUsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxXQUFXO0VBQ1gsYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFO0lBQ0Usa0JBQWtCO0lBQ2xCLGFBQWE7R0FDZDtFQUNEO0lBQ0UscUJBQXFCO0dBQ3RCO0VBQ0Q7SUFDRSxZQUFZO0dBQ2I7Q0FDRjtBQUNELFlBQVk7QUFDWjtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsNlVBQTZVO0VBQzdVOzs7O2tCQUlnQjtDQUNqQjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZiwwR0FBMEc7RUFDMUcsd0dBQXdHO0NBQ3pHO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsNlVBQTZVO0VBQzdVOzs7O2tCQUlnQjtDQUNqQjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0UsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsMFVBQTBVO0VBQzFVOzs7O2tCQUlnQjtDQUNqQjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0U7Ozs7c0JBSW9CO0NBQ3JCO0FBQ0Q7RUFDRTtJQUNFLDhIQUE4SDtHQUMvSDtDQUNGO0FBQ0Q7RUFDRTtJQUNFLDhIQUE4SDtHQUMvSDtDQUNGO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsMFVBQTBVO0VBQzFVOzs7O2tCQUlnQjtDQUNqQjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0U7SUFDRSxxSUFBcUk7R0FDdEk7Q0FDRjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDZCQUE2QjtFQUM3Qiw2VUFBNlU7RUFDN1U7Ozs7a0JBSWdCO0NBQ2pCO0FBQ0Q7RUFDRTtJQUNFLHFJQUFxSTtHQUN0STtDQUNGO0FBQ0Q7RUFDRTtJQUNFLHFJQUFxSTtHQUN0STtDQUNGO0FBQ0Q7RUFDRSx1QkFBdUI7Q0FDeEI7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLDBCQUEwQjtFQUMxQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLHVCQUF1QjtFQUN2QiwwQkFBMEI7RUFDMUIsY0FBYztFQUNkLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxVQUFVO0VBQ1YsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGFBQWE7RUFDYixrRUFBa0U7RUFDbEUsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxXQUFXO0VBQ1gsYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCx3QkFBd0I7TUFDcEIsb0JBQW9CO1VBQ2hCLGdCQUFnQjtDQUN6QjtBQUNEO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixnQkFBZ0I7TUFDWixZQUFZO1VBQ1IsUUFBUTtDQUNqQjtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtNQUNmLGVBQWU7VUFDWCxXQUFXO0VBQ25CLGFBQWE7Q0FDZDtBQUNEO0VBQ0Usb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZ0NBQWdDO0VBQ2hDLHdCQUF3QjtDQUN6QjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCx3QkFBd0I7TUFDcEIsb0JBQW9CO1VBQ2hCLGdCQUFnQjtFQUN4QixvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2YsdUNBQXVDO0VBQ3ZDLG9DQUFvQztFQUNwQyxtQ0FBbUM7RUFDbkMsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsZ0JBQWdCO01BQ1osWUFBWTtVQUNSLFFBQVE7Q0FDakI7QUFDRDtFQUNFLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGdDQUFnQztFQUNoQyx3QkFBd0I7Q0FDekI7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0NBQ25CO0FBQ0QsWUFBWTtBQUNaO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQix3RUFBd0U7RUFDeEUsZ0VBQWdFO0NBQ2pFO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsc0VBQXNFO0VBQ3RFLDhEQUE4RDtDQUMvRDtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxxQ0FBcUM7RUFDckMsbUJBQW1CO0VBQ25CLG9CQUFvQjtDQUNyQjtBQUNEOztFQUVFLFlBQVk7RUFDWixXQUFXO0VBQ1gsYUFBYTtDQUNkO0FBQ0Q7OztFQUdFLHNCQUFzQjtFQUN0Qix1QkFBdUI7Q0FDeEI7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsMEJBQTBCO0VBQzFCLHNCQUFzQjtFQUN0QiwwQkFBMEI7RUFDMUIseUJBQXlCO0VBQ3pCLHdCQUF3QjtFQUN4QixvQkFBb0I7RUFDcEIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsWUFBWTtFQUNaLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLHVCQUF1QjtFQUN2QiwwQkFBMEI7RUFDMUIsc0JBQXNCO0VBQ3RCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFDWCxpQkFBaUI7Q0FDbEI7QUFDRCxXQUFXO0FBQ1g7RUFDRTs7dUNBRXFDO0VBQ3JDLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0Usa0JBQWtCO0VBQ2xCOzt3QkFFc0I7RUFDdEI7O3dCQUVzQjtFQUN0Qjs7d0JBRXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsaUJBQWlCO0NBQ2xCO0FBQ0Q7O0VBRUUsbUJBQW1CO0VBQ25CLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsMEJBQTBCO0VBQzFCLFVBQVU7RUFDVixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsYUFBYTtFQUNiLGlFQUFpRTtFQUNqRSwyQkFBMkI7RUFDM0IsNkJBQTZCO0NBQzlCO0FBQ0Q7RUFDRSw2QkFBNkI7Q0FDOUI7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxrRUFBa0U7Q0FDbkU7QUFDRDs7RUFFRSxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztDQUNWO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsY0FBYztFQUNkLHdCQUF3QjtNQUNwQixvQkFBb0I7VUFDaEIsZ0JBQWdCO0VBQ3hCLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixnQkFBZ0I7TUFDWixZQUFZO1VBQ1IsUUFBUTtFQUNoQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osY0FBYztFQUNkLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQix1QkFBdUI7Q0FDeEI7QUFDRDtFQUNFLDZCQUE2QjtDQUM5QjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7RUFDZixpRUFBaUU7RUFDakUsMkJBQTJCO0VBQzNCLDZCQUE2QjtFQUM3QixzQkFBc0I7RUFDdEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7O0VBRUUsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLDJCQUEyQjtDQUM1QjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtDQUNsQztBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQiwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UseUJBQXlCO0NBQzFCO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQiwrRUFBK0U7RUFDL0UsNkJBQTZCO0VBQzdCLFlBQVk7RUFDWixhQUFhO0VBQ2IsYUFBYTtFQUNiLGFBQWE7Q0FDZDtBQUNEO0VBQ0UsNEJBQTRCO0NBQzdCO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsZ0pBQWdKO0VBQ2hKLDhJQUE4STtFQUM5SSxrQkFBa0I7Q0FDbkI7QUFDRDs7O0VBR0UsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQiw2QkFBNkI7Q0FDOUI7QUFDRDs7RUFFRTtzQkFDb0I7Q0FDckI7QUFDRDtFQUNFOztJQUVFLGlFQUFpRTtHQUNsRTtDQUNGO0FBQ0Q7RUFDRTs7SUFFRSxpRUFBaUU7R0FDbEU7Q0FDRjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCw0SUFBNEk7RUFDNUksV0FBVztDQUNaO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztFQUNULDhJQUE4STtFQUM5SSxXQUFXO0NBQ1o7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsZ0ZBQWdGO0VBQ2hGLGtDQUFrQztFQUNsQyxXQUFXO0NBQ1o7QUFDRDtFQUNFO0lBQ0UsMkNBQTJDO0dBQzVDO0NBQ0Y7QUFDRDtFQUNFO0lBQ0UsMkNBQTJDO0dBQzVDO0NBQ0Y7QUFDRDtFQUNFLFVBQVU7RUFDVixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsV0FBVztDQUNaO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsY0FBYztFQUNkLHdCQUF3QjtNQUNwQixvQkFBb0I7VUFDaEIsZ0JBQWdCO0VBQ3hCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0NBQ2I7QUFDRDs7RUFFRSxZQUFZO0VBQ1osZUFBZTtFQUNmLHNCQUFzQjtFQUN0QixrQkFBa0I7TUFDZCxjQUFjO1VBQ1YsVUFBVTtDQUNuQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixnQkFBZ0I7TUFDWixZQUFZO1VBQ1IsUUFBUTtFQUNoQixlQUFlO0VBQ2YscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSx1QkFBdUI7RUFDdkIsOEJBQThCO01BQzFCLDBCQUEwQjtVQUN0QixzQkFBc0I7Q0FDL0I7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsVUFBVTtFQUNWLGFBQWE7RUFDYixZQUFZO0VBQ1osd0JBQXdCO0VBQ3hCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsY0FBYztFQUNkLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osYUFBYTtFQUNiLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7O0VBRUUsb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLHNFQUFzRTtFQUN0RSw4REFBOEQ7Q0FDL0Q7QUFDRDtFQUNFLGNBQWM7RUFDZCxVQUFVO0NBQ1g7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQix3RUFBd0U7RUFDeEUsZ0VBQWdFO0VBQ2hFLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLFFBQVE7RUFDUixhQUFhO0VBQ2IsU0FBUztFQUNULGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLDZCQUE2QjtFQUM3Qix1QkFBdUI7RUFDdkIsdUJBQXVCO0VBQ3ZCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsaUVBQWlFO0VBQ2pFLHlEQUF5RDtDQUMxRDtBQUNEO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsd0VBQXdFO0VBQ3hFLGdFQUFnRTtFQUNoRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixrRUFBa0U7RUFDbEUseUJBQXlCO0VBQ3pCLGlDQUFpQztNQUM3Qiw2QkFBNkI7VUFDekIseUJBQXlCO0NBQ2xDO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsMkJBQTJCO0NBQzVCO0FBQ0QsVUFBVTtBQUNWO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQjs7d0JBRXNCO0VBQ3RCOzt3QkFFc0I7RUFDdEI7O3dCQUVzQjtDQUN2QjtBQUNEOztFQUVFLFVBQVU7Q0FDWDtBQUNEO0VBQ0UsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsWUFBWTtFQUNaLDBFQUEwRTtFQUMxRSxnQ0FBZ0M7RUFDaEMseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsVUFBVTtFQUNWLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtNQUMxQiwwQkFBMEI7VUFDdEIsc0JBQXNCO0NBQy9CO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFVBQVU7RUFDVixhQUFhO0VBQ2IsWUFBWTtFQUNaLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGFBQWE7RUFDYiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsV0FBVztDQUNaO0FBQ0Q7O0VBRUUsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLHdFQUF3RTtFQUN4RSxnRUFBZ0U7Q0FDakU7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFdBQVc7RUFDWCxVQUFVO0VBQ1YsU0FBUztFQUNULFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsNkJBQTZCO0VBQzdCLGtDQUFrQztFQUNsQyx5QkFBeUI7RUFDekIsb0VBQW9FO0VBQ3BFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQix3RUFBd0U7RUFDeEUsZ0VBQWdFO0VBQ2hFLGFBQWE7RUFDYixXQUFXO0VBQ1gsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxXQUFXO0VBQ1gsVUFBVTtFQUNWLFNBQVM7RUFDVCxZQUFZO0VBQ1osYUFBYTtFQUNiLFlBQVk7RUFDWix3R0FBd0c7RUFDeEcsZ0dBQWdHO0NBQ2pHO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxXQUFXO0VBQ1gsVUFBVTtFQUNWLFNBQVM7RUFDVCxxQkFBcUI7RUFDckIsNkJBQTZCO0VBQzdCLGtDQUFrQztFQUNsQyx5QkFBeUI7RUFDekIscUVBQXFFO0VBQ3JFLGFBQWE7RUFDYixXQUFXO0VBQ1gsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxXQUFXO0VBQ1gsVUFBVTtFQUNWLFNBQVM7RUFDVCxXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLDZCQUE2QjtFQUM3QixrQ0FBa0M7RUFDbEMseUJBQXlCO0VBQ3pCLHFFQUFxRTtFQUNyRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsd0VBQXdFO0VBQ3hFLGdFQUFnRTtFQUNoRSxhQUFhO0VBQ2IsV0FBVztFQUNYLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsY0FBYztFQUNkLGFBQWE7Q0FDZDtBQUNEOzs7RUFHRSxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsc0VBQXNFO0VBQ3RFLDhEQUE4RDtDQUMvRDtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osYUFBYTtFQUNiLGlCQUFpQjtFQUNqQixrRUFBa0U7RUFDbEUseUJBQXlCO0VBQ3pCLGlDQUFpQztNQUM3Qiw2QkFBNkI7VUFDekIseUJBQXlCO0NBQ2xDO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsMEJBQTBCO0VBQzFCLG1CQUFtQjtFQUNuQiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYixhQUFhO0NBQ2Q7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIscUJBQXFCO0NBQ3RCO0FBQ0Q7O0VBRUUsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osY0FBYztFQUNkLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0Isb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSw2QkFBNkI7Q0FDOUI7QUFDRDtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGlFQUFpRTtFQUNqRSwyQkFBMkI7RUFDM0IsNkJBQTZCO0VBQzdCLGNBQWM7Q0FDZjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGVBQWU7RUFDZixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLGtFQUFrRTtFQUNsRSx5QkFBeUI7RUFDekIsaUNBQWlDO01BQzdCLDZCQUE2QjtVQUN6Qix5QkFBeUI7Q0FDbEM7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtDQUNsQztBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsV0FBVztDQUNaO0FBQ0QsZ0JBQWdCO0FBQ2hCO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFO0lBQ0UsaUNBQWlDO1lBQ3pCLHlCQUF5QjtHQUNsQztFQUNEO0lBQ0Usb0NBQW9DO1lBQzVCLDRCQUE0QjtHQUNyQztFQUNEO0lBQ0UsMEJBQTBCO0dBQzNCO0NBQ0Y7QUFDRDtFQUNFO0lBQ0UsaUNBQWlDO1lBQ3pCLHlCQUF5QjtHQUNsQztFQUNEO0lBQ0Usb0NBQW9DO1lBQzVCLDRCQUE0QjtHQUNyQztFQUNEO0lBQ0UsMEJBQTBCO0dBQzNCO0NBQ0Y7QUFDRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsZ0dBQWdHO0VBQ2hHLDREQUE0RDtVQUNwRCxvREFBb0Q7RUFDNUQsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLGdHQUFnRztFQUNoRyxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLGdHQUFnRztFQUNoRyxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYixrR0FBa0c7RUFDbEcsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYiwrRkFBK0Y7RUFDL0Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsMkRBQTJEO1VBQ25ELG1EQUFtRDtFQUMzRCxxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLGtHQUFrRztFQUNsRyxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFO0lBQ0UsOEJBQThCO0dBQy9CO0NBQ0Y7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLCtGQUErRjtFQUMvRixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYixvRkFBb0Y7RUFDcEYsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IseUZBQXlGO0VBQ3pGLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IscUZBQXFGO0VBQ3JGLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0U7SUFDRSxtQ0FBbUM7R0FDcEM7Q0FDRjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsdUZBQXVGO0VBQ3ZGLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0U7SUFDRSxtQ0FBbUM7R0FDcEM7Q0FDRjtBQUNEO0VBQ0Usa0JBQWtCO0VBQ2xCOzt3QkFFc0I7RUFDdEI7O3dCQUVzQjtFQUN0Qjs7d0JBRXNCO0VBQ3RCOzt3QkFFc0I7RUFDdEI7O3dCQUVzQjtFQUN0Qjs7d0JBRXNCO0VBQ3RCOzt3QkFFc0I7Q0FDdkI7QUFDRDs7RUFFRSxVQUFVO0VBQ1YsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsY0FBYztDQUNmO0FBQ0Q7O0VBRUUsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsMkdBQTJHO0VBQzNHLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxhQUFhO0NBQ2Q7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0NBQ2Q7QUFDRDtFQUNFLDBHQUEwRztFQUMxRyxjQUFjO0NBQ2Y7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixjQUFjO0NBQ2Y7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGFBQWE7Q0FDZDtBQUNEO0VBQ0Usd0dBQXdHO0VBQ3hHLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQixnQkFBZ0I7RUFDaEIsYUFBYTtDQUNkO0FBQ0Q7O0VBRUUsWUFBWTtDQUNiO0FBQ0QsZ0JBQWdCO0FBQ2hCO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFO0lBQ0UsaUNBQWlDO1lBQ3pCLHlCQUF5QjtHQUNsQztFQUNEO0lBQ0Usb0NBQW9DO1lBQzVCLDRCQUE0QjtHQUNyQztFQUNEO0lBQ0UsMEJBQTBCO0dBQzNCO0NBQ0Y7QUFDRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsZ0dBQWdHO0VBQ2hHLDREQUE0RDtVQUNwRCxvREFBb0Q7RUFDNUQsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLGdHQUFnRztFQUNoRyxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYiwrRkFBK0Y7RUFDL0Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsMkRBQTJEO1VBQ25ELG1EQUFtRDtFQUMzRCxxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLCtGQUErRjtFQUMvRixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYixvRkFBb0Y7RUFDcEYsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsYUFBYTtFQUNiLFVBQVU7Q0FDWDtBQUNEO0VBQ0UsYUFBYTtFQUNiLFVBQVU7Q0FDWDtBQUNEO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGVBQWU7Q0FDaEI7QUFDRDs7RUFFRSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGFBQWE7RUFDYiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLHVCQUF1QjtFQUN2QixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLFFBQVE7RUFDUixTQUFTO0VBQ1QsYUFBYTtFQUNiLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UscUNBQXFDO01BQ2pDLGlDQUFpQztVQUM3Qiw2QkFBNkI7Q0FDdEM7QUFDRDtFQUNFLG9DQUFvQztNQUNoQyxnQ0FBZ0M7VUFDNUIsNEJBQTRCO0NBQ3JDO0FBQ0Q7O0VBRUUsWUFBWTtFQUNaLFlBQVk7RUFDWixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixXQUFXO0VBQ1gsYUFBYTtFQUNiLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxVQUFVO0NBQ1g7QUFDRDtFQUNFLHVCQUF1QjtDQUN4QjtBQUNEOztFQUVFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLGdDQUFnQztFQUNoQyxhQUFhO0VBQ2IsUUFBUTtFQUNSLFNBQVM7RUFDVCxXQUFXO0VBQ1gsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxXQUFXO0NBQ1o7QUFDRDtFQUNFLGFBQWE7RUFDYixpQ0FBaUM7Q0FDbEM7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixpQ0FBaUM7Q0FDbEM7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsMEJBQTBCO0VBQzFCLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsMEJBQTBCO0VBQzFCLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLFlBQVk7Q0FDYjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixZQUFZO0NBQ2I7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsYUFBYTtFQUNiLGFBQWE7RUFDYixZQUFZO0VBQ1osVUFBVTtDQUNYO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtDQUNsQztBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGFBQWE7RUFDYiw2QkFBNkI7Q0FDOUI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsWUFBWTtFQUNaLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gsZ0NBQWdDO0VBQ2hDLDBEQUEwRDtDQUMzRDtBQUNEO0VBQ0UsWUFBWTtFQUNaLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsV0FBVztFQUNYLGdDQUFnQztFQUNoQywwREFBMEQ7Q0FDM0Q7QUFDRDtFQUNFLGFBQWE7Q0FDZDtBQUNEO0VBQ0UsWUFBWTtFQUNaLGdDQUFnQztFQUNoQywwREFBMEQ7Q0FDM0Q7QUFDRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQixvQkFBb0I7RUFDcEIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxZQUFZO0NBQ2I7QUFDRDtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLDBEQUEwRDtDQUMzRDtBQUNEO0VBQ0UsMERBQTBEO0NBQzNEO0FBQ0Q7RUFDRSwwREFBMEQ7Q0FDM0Q7QUFDRDtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixlQUFlO0VBQ2YsYUFBYTtDQUNkO0FBQ0Q7O0VBRUUsV0FBVztFQUNYLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixlQUFlO0VBQ2YsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsV0FBVztFQUNYLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsZUFBZTtDQUNoQjtBQUNELGlCQUFpQjtBQUNqQjtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0U7O3dCQUVzQjtDQUN2QjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtFQUMxQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLFVBQVU7Q0FDWDtBQUNELGVBQWU7QUFDZjtFQUNFLGlCQUFpQjtFQUNqQjs7d0JBRXNCO0VBQ3RCOzt3QkFFc0I7Q0FDdkI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQiwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSwyQkFBMkI7Q0FDNUI7QUFDRDs7OztFQUlFLDBCQUEwQjtFQUMxQixVQUFVO0VBQ1YsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsV0FBVztFQUNYLGFBQWE7RUFDYixTQUFTO0VBQ1QsYUFBYTtFQUNiLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQiwwQkFBMEI7RUFDMUIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGtFQUFrRTtFQUNsRSx5QkFBeUI7RUFDekIsaUNBQWlDO01BQzdCLDZCQUE2QjtVQUN6Qix5QkFBeUI7Q0FDbEM7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQiwwQkFBMEI7RUFDMUI7OzBCQUV3QjtFQUN4Qjs7MEJBRXdCO0NBQ3pCO0FBQ0Q7O0VBRUUsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0NBQ2I7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixVQUFVO0VBQ1YsY0FBYztFQUNkLFlBQVk7RUFDWixTQUFTO0VBQ1Qsb0JBQW9CO0VBQ3BCLDRCQUE0QjtFQUM1QiwyRUFBMkU7RUFDM0Usa0NBQWtDO01BQzlCLDhCQUE4QjtVQUMxQiwwQkFBMEI7RUFDbEMscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQix3RUFBd0U7RUFDeEUsZ0VBQWdFO0NBQ2pFO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxZQUFZO0NBQ2I7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixXQUFXO0VBQ1gsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixzRUFBc0U7RUFDdEUsOERBQThEO0NBQy9EO0FBQ0Q7O0VBRUUsc0JBQXNCO0VBQ3RCLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxhQUFhO0NBQ2Q7QUFDRDs7RUFFRSxzQkFBc0I7RUFDdEIsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSx5QkFBeUI7RUFDekIsMkNBQTJDO0NBQzVDO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixvRUFBb0U7RUFDcEUsNkJBQTZCO0VBQzdCLFlBQVk7RUFDWixhQUFhO0VBQ2Isa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSw0QkFBNEI7Q0FDN0I7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLDJDQUEyQztFQUMzQyxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsVUFBVTtFQUNWLG9CQUFvQjtFQUNwQiw0QkFBNEI7RUFDNUIsMERBQTBEO0NBQzNEO0FBQ0Q7RUFDRSxhQUFhO0NBQ2Q7QUFDRDs7RUFFRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLE9BQU87RUFDUCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFlBQVk7RUFDWiwyQ0FBMkM7Q0FDNUM7QUFDRDtFQUNFLHFDQUFxQztNQUNqQyxpQ0FBaUM7VUFDN0IsNkJBQTZCO0NBQ3RDO0FBQ0Q7RUFDRSxvQ0FBb0M7TUFDaEMsZ0NBQWdDO1VBQzVCLDRCQUE0QjtDQUNyQztBQUNEO0VBQ0Usa0JBQWtCO0VBQ2xCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2Qsd0JBQXdCO01BQ3BCLG9CQUFvQjtVQUNoQixnQkFBZ0I7RUFDeEIsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5QiwrQkFBK0I7TUFDM0IsMkJBQTJCO1VBQ3ZCLHVCQUF1QjtFQUMvQixzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLDJCQUEyQjtDQUM1QjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGlCQUFpQjtNQUNiLGtCQUFrQjtVQUNkLFNBQVM7RUFDakIsb0JBQW9CO0VBQ3BCLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGlCQUFpQjtNQUNiLGtCQUFrQjtVQUNkLFNBQVM7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsd0JBQXdCO0NBQ3pCO0FBQ0Q7RUFDRSw2QkFBNkI7RUFDN0IsaUJBQWlCO01BQ2Isa0JBQWtCO1VBQ2QsU0FBUztFQUNqQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLDZCQUE2QjtFQUM3QixpQkFBaUI7TUFDYixrQkFBa0I7VUFDZCxTQUFTO0VBQ2pCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGlCQUFpQjtNQUNiLGtCQUFrQjtVQUNkLFNBQVM7RUFDakIscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsV0FBVztFQUNYLGFBQWE7RUFDYixZQUFZO0VBQ1osZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtDQUNsQztBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQix5QkFBeUI7RUFDekIsMEJBQTBCO0VBQzFCLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIseUJBQXlCO0tBQ3RCLHNCQUFzQjtVQUNqQixpQkFBaUI7RUFDekIsMEJBQTBCO0tBQ3ZCLHVCQUF1QjtVQUNsQixrQkFBa0I7RUFDMUIsd0JBQXdCO0VBQ3hCLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxnQ0FBZ0M7RUFDaEMseUJBQXlCO0VBQ3pCLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osbUNBQW1DO0VBQ25DLGdDQUFnQztFQUNoQywyQkFBMkI7RUFDM0IseUJBQXlCO09BQ3BCLG9CQUFvQjtDQUMxQjtBQUNEO0VBQ0UsMkNBQTJDO0NBQzVDO0FBQ0Q7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixZQUFZO0VBQ1osYUFBYTtFQUNiLHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsMEJBQTBCO0VBQzFCLHNEQUFzRDtNQUNsRCxrREFBa0Q7VUFDOUMsOENBQThDO0VBQ3RELHNDQUFzQztNQUNsQyxrQ0FBa0M7VUFDOUIsOEJBQThCO0NBQ3ZDO0FBQ0Q7RUFDRSxhQUFhO0NBQ2Q7QUFDRCxlQUFlO0FBQ2Y7O0VBRUUsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCx3QkFBd0I7TUFDcEIsb0JBQW9CO1VBQ2hCLGdCQUFnQjtDQUN6QjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCxvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osYUFBYTtFQUNiLGlCQUFpQjtFQUNqQixrRUFBa0U7RUFDbEUseUJBQXlCO0VBQ3pCLGlDQUFpQztNQUM3Qiw2QkFBNkI7VUFDekIseUJBQXlCO0NBQ2xDO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLDJCQUEyQjtDQUM1QjtBQUNEO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixnQkFBZ0I7TUFDWixZQUFZO1VBQ1IsUUFBUTtFQUNoQixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLGNBQWM7Q0FDZjtBQUNEO0VBQ0UsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixvRUFBb0U7TUFDaEUsZ0VBQWdFO1VBQzVELDREQUE0RDtDQUNyRTtBQUNEOzs7Ozs7RUFNRSwwQkFBMEI7RUFDMUIsZ0JBQWdCO0VBQ2hCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtDQUN0QjtBQUNEOztFQUVFLDBCQUEwQjtFQUMxQixVQUFVO0VBQ1Ysa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0NBQ2pCO0FBQ0Q7O0VBRUUsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLDJCQUEyQjtDQUM1QjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7O0VBRUUsc0JBQXNCO0VBQ3RCLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZix1Q0FBdUM7RUFDdkMsb0NBQW9DO0VBQ3BDLG1DQUFtQztFQUNuQyxzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZ0NBQWdDO0VBQ2hDLHdCQUF3QjtDQUN6QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxZQUFZO0NBQ2I7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsV0FBVztFQUNYLGFBQWE7RUFDYixTQUFTO0NBQ1Y7QUFDRDtFQUNFLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsYUFBYTtFQUNiLGFBQWE7RUFDYixZQUFZO0VBQ1osVUFBVTtDQUNYO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixZQUFZO0NBQ2I7QUFDRDtFQUNFLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLDJCQUEyQjtDQUM1QjtBQUNEO0VBQ0UsYUFBYTtFQUNiLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtDQUNsQztBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixtQ0FBbUM7TUFDL0IsK0JBQStCO1VBQzNCLDJCQUEyQjtFQUNuQyxtQkFBbUI7RUFDbkIsaUJBQWlCO0NBQ2xCO0FBQ0Qsa0JBQWtCO0FBQ2xCO0VBQ0UsWUFBWTtDQUNiO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQjs7d0JBRXNCO0VBQ3RCOzt3QkFFc0I7RUFDdEI7O3dCQUVzQjtFQUN0Qjs7d0JBRXNCO0NBQ3ZCO0FBQ0Q7O0VBRUUsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxVQUFVO0NBQ1g7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsT0FBTztFQUNQLFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUztFQUNULFlBQVk7RUFDWiwwRUFBMEU7RUFDMUUsZ0NBQWdDO0VBQ2hDLHFCQUFxQjtFQUNyQixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsNkJBQTZCO0VBQzdCLGdDQUFnQztFQUNoQyw0RUFBNEU7RUFDNUUsa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsMEJBQTBCO0VBQzFCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSx3QkFBd0I7Q0FDekI7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLFVBQVU7RUFDVixhQUFhO0VBQ2IsWUFBWTtFQUNaLFNBQVM7RUFDVCxvQkFBb0I7RUFDcEIsNEJBQTRCO0VBQzVCLHVEQUF1RDtFQUN2RCxrQ0FBa0M7TUFDOUIsOEJBQThCO1VBQzFCLDBCQUEwQjtFQUNsQyxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLHdFQUF3RTtFQUN4RSxnRUFBZ0U7Q0FDakU7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixXQUFXO0VBQ1gsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixzRUFBc0U7RUFDdEUsOERBQThEO0NBQy9EO0FBQ0Q7RUFDRSx1QkFBdUI7Q0FDeEI7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQix3RkFBd0Y7RUFDeEYsNkJBQTZCO0VBQzdCLGtDQUFrQztDQUNuQztBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDs7RUFFRSwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsYUFBYTtFQUNiLGFBQWE7RUFDYixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLDZCQUE2QjtFQUM3QixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLDZCQUE2QjtDQUM5QjtBQUNEO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsaUVBQWlFO0VBQ2pFLDJCQUEyQjtFQUMzQiw2QkFBNkI7RUFDN0IsY0FBYztDQUNmO0FBQ0Q7RUFDRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7QUFDRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsbUJBQW1CO0NBQ3BCO0FBQ0Q7O0VBRUUsd0JBQXdCO0VBQ3hCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osYUFBYTtFQUNiLGtFQUFrRTtFQUNsRSxzQkFBc0I7Q0FDdkI7QUFDRDs7RUFFRSxrQ0FBa0M7TUFDOUIsOEJBQThCO1VBQzFCLDBCQUEwQjtFQUNsQyxtQkFBbUI7Q0FDcEI7QUFDRDs7RUFFRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsMEJBQTBCO0VBQzFCLHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVU7Q0FDWDtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxhQUFhO0VBQ2IsY0FBYztDQUNmO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQiwyQ0FBMkM7RUFDM0MsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtFQUMxQiwwQkFBMEI7RUFDMUIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLDBCQUEwQjtFQUMxQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLDBCQUEwQjtFQUMxQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtFQUNqQyxpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ2xCO0FBQ0QsZ0JBQWdCO0FBQ2hCOzt1QkFFdUI7QUFDdkI7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFOzt3QkFFc0I7Q0FDdkI7QUFDRDtFQUNFLGVBQWU7RUFDZixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQiwwQkFBMEI7RUFDMUIsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFVBQVU7Q0FDWDtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixVQUFVO0NBQ1g7QUFDRDtFQUNFLDBCQUEwQjtDQUMzQjtBQUNEOztFQUVFLG9CQUFvQjtFQUNwQixxQkFBcUI7TUFDakIsaUJBQWlCO1VBQ2IsYUFBYTtFQUNyQixlQUFlO0VBQ2YsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCw0QkFBNEI7TUFDeEIsd0JBQXdCO1VBQ3BCLG9CQUFvQjtFQUM1Qix1QkFBdUI7RUFDdkIsOEJBQThCO01BQzFCLG9CQUFvQjtVQUNoQixzQkFBc0I7RUFDOUIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7OztFQUdFLG9CQUFvQjtFQUNwQixxQkFBcUI7TUFDakIsaUJBQWlCO1VBQ2IsYUFBYTtFQUNyQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxZQUFZO0NBQ2I7QUFDRDtFQUNFLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLDJDQUEyQztFQUMzQyx1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLDhCQUE4QjtFQUM5QixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsMEJBQTBCO0VBQzFCLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0UsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLDBCQUEwQjtFQUMxQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLDBCQUEwQjtFQUMxQixlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsWUFBWTtFQUNaLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0VBQWtFO0VBQ2xFLHlCQUF5QjtFQUN6QixpQ0FBaUM7TUFDN0IsNkJBQTZCO1VBQ3pCLHlCQUF5QjtFQUNqQyxpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ2xCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDs7RUFFRSxvQkFBb0I7RUFDcEIscUJBQXFCO01BQ2pCLGlCQUFpQjtVQUNiLGFBQWE7Q0FDdEI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEOztFQUVFLDBCQUEwQjtDQUMzQjtBQUNEO0VBQ0Usb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIsVUFBVTtDQUNYO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsb0JBQW9CO01BQ2hCLGdCQUFnQjtVQUNaLFlBQVk7RUFDcEIsZUFBZTtFQUNmLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtNQUNmLGVBQWU7VUFDWCxXQUFXO0VBQ25CLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsd0JBQXdCO0NBQ3pCO0FBQ0Q7RUFDRSx5QkFBeUI7Q0FDMUI7QUFDRCxvQkFBb0I7QUFDcEI7RUFDRSwwQkFBMEI7Q0FDM0I7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLHlCQUF5QjtFQUN6QixpQkFBaUI7Q0FDbEI7QUFDRCxZQUFZO0FBQ1o7RUFDRSxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLFlBQVk7RUFDWixhQUFhO0NBQ2Q7QUFDRCxZQUFZO0FBQ1o7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2Ysb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHlCQUF5QjtDQUMxQjtBQUNEO0VBQ0Usd0JBQXdCO0NBQ3pCO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGFBQWE7RUFDYixtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixvQkFBb0I7Q0FDckI7QUFDRDtFQUNFLHdCQUF3QjtDQUN6QjtBQUNEO0VBQ0UseUJBQXlCO0VBQ3pCLGlCQUFpQjtDQUNsQjtBQUNELGFBQWE7QUFDYjtFQUNFLFlBQVk7Q0FDYjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0Usc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztDQUNmO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isd0JBQXdCO0NBQ3pCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixhQUFhO0NBQ2Q7QUFDRDs7eUVBRXlFO0FBQ3pFO0VBQ0Usc0JBQXNCO0NBQ3ZCO0FBQ0Q7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQjs7d0RBRXNEO0VBQ3REOzt3REFFc0Q7RUFDdEQ7O3dEQUVzRDtDQUN2RDtBQUNEOzs7RUFHRSxVQUFVO0VBQ1YsMEJBQTBCO0VBQzFCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsMkJBQTJCO0NBQzVCO0FBQ0Q7O0VBRUUsb0JBQW9CO0NBQ3JCO0FBQ0Q7O0VBRUUsb0JBQW9CO0NBQ3JCO0FBQ0Q7O0VBRUUsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSx3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFVBQVU7RUFDVixVQUFVO0VBQ1YsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osYUFBYTtFQUNiLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0Isb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSw2QkFBNkI7Q0FDOUI7QUFDRDtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGlFQUFpRTtFQUNqRSwyQkFBMkI7RUFDM0IsNkJBQTZCO0VBQzdCLGNBQWM7Q0FDZjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7O0VBRUUsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxnQkFBZ0I7Q0FDakI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxrQkFBa0I7Q0FDbkI7QUFDRDtFQUNFLHlCQUF5QjtFQUN6QixtQkFBbUI7Q0FDcEI7QUFDRDs7RUFFRSxzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLFdBQVc7Q0FDWjtBQUNEO0VBQ0UsYUFBYTtDQUNkO0FBQ0Q7RUFDRSxhQUFhO0VBQ2Isa0JBQWtCO0NBQ25CO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDs7RUFFRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsZUFBZTtDQUNoQjtBQUNEO0VBQ0UsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtDQUNqQjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDs7RUFFRSxzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLFdBQVc7Q0FDWjtBQUNEOztFQUVFLHNCQUFzQjtFQUN0QixtQkFBbUI7Q0FDcEI7QUFDRDs7RUFFRSxvQkFBb0I7Q0FDckI7QUFDRDs7RUFFRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDs7RUFFRSxlQUFlO0NBQ2hCO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFO0lBQ0UsaUNBQWlDO1lBQ3pCLHlCQUF5QjtHQUNsQztFQUNEO0lBQ0Usb0NBQW9DO1lBQzVCLDRCQUE0QjtHQUNyQztFQUNEO0lBQ0UsMEJBQTBCO0dBQzNCO0NBQ0Y7QUFDRDtFQUNFO0lBQ0UsNkJBQTZCO0dBQzlCO0NBQ0Y7QUFDRDtFQUNFO0lBQ0UsNkJBQTZCO0dBQzlCO0NBQ0Y7QUFDRDtFQUNFLGVBQWU7Q0FDaEI7QUFDRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtDQUNsQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLDREQUE0RDtVQUNwRCxvREFBb0Q7RUFDNUQsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQix1QkFBdUI7Q0FDeEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLGdHQUFnRztFQUNoRyxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYiwrRkFBK0Y7RUFDL0Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixRQUFRO0VBQ1IsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixVQUFVO0VBQ1YsVUFBVTtFQUNWLFNBQVM7RUFDVCxhQUFhO0VBQ2IsaUdBQWlHO0VBQ2pHLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsMkRBQTJEO1VBQ25ELG1EQUFtRDtFQUMzRCxxQkFBcUI7Q0FDdEI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLCtGQUErRjtFQUMvRixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLDJEQUEyRDtVQUNuRCxtREFBbUQ7RUFDM0QscUJBQXFCO0NBQ3RCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULGFBQWE7RUFDYixvRkFBb0Y7RUFDcEYsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQiwyREFBMkQ7VUFDbkQsbURBQW1EO0VBQzNELHFCQUFxQjtDQUN0QjtBQUNEO0VBQ0UsYUFBYTtFQUNiLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsdUVBQXVFO0VBQ3ZFLG1EQUFtRDtVQUMzQywyQ0FBMkM7RUFDbkQsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysa0NBQWtDO1VBQzFCLDBCQUEwQjtDQUNuQyIsImZpbGUiOiIuLi9jc3MvYXBwLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqXG4gKiAgY2FzdGxlc3Rvcnkud2Vic2l0ZS5sZXNzIDogbWFpbiBlbnRyeSBwb2ludFxuICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExFU1MgbWl4aW4gZm9yIENTUyBhcnJvdyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2FnZVxuKiAuYXJyb3coc2l6ZSwgY29sb3IsIGRpcmVjdGlvbiwgb2Zmc2V0LCBib3JkZXItc2l6ZSwgYm9yZGVyLWNvbG9yKTtcbiovXG4vKiBXaGVyZVxuKiBTaXplIGlzIHRoZSB3aXRoIG9mIHRoZSBhcnJvd1xuKiBDb2xvciBpcyB0aGUgY29sb3Igb2YgdGhlIGFycm93IChwbGFpbiBjb2xvciByZXF1aXJlZClcbiogRGlyZWN0aW9uIGlzIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgYXJyb3cgKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdClcbiogT2Zmc2V0IGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYXJyb3cgb24gaXRzIGF4aXMgKHB4IC8gZW0pXG4qIEJvcmRlci1zaXplIGlzIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGlmIHRoZXJlIGlzIG9uZSAob3B0aW9uYWw7IGRlZmF1bHQgXCIwXCIpXG4qIEJvcmRlci1jb2xvciBpcyB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBpZiB0aGVyZSBpcyBvbmUgKG9wdGlvbmFsOyBkZWZhdWx0IFwiaW5oZXJpdFwiKTtcbiovXG4vKiBFeHRyYVxuKiBEcm9wLXNoYWRvd3MgY2FuIGJlIHVzZWQgb24gdGhlIGVsZW1lbnQgdG8gY3JlYXRlIGEgc2hhZG93IG9uIHRoZSBhcnJvdyBhcyB3ZWxsXG4qL1xuLyoqKioqKioqKioqKioqKioqKlxuICogIGNvbG9yIHBhbGV0dGVcbiAqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKlxuICogIGFscGhhIHZhcmlhdGlvbnNcbiAqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKlxuICogIHNpemVzXG4gKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKipcbiAqICBjb2xvciBwdXJwb3Nlc1xuICoqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqXG4gKiAgei1pbmRleCBsYXllcnNcbiAqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKlxuICogIGxpc3RzXG4gKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKipcbiAqICBwYXRoc1xuICoqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqXG4qICBzY3JlZW4gc2l6ZXNcbioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqXG4qICBtZWRpYSBxdWVyaWVzXG4qKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKlxuICogIE1JWElOU1xuICoqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYW5hcm8nO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tbGlnaHQvY2FuYXJvLWxpZ2h0LmVvdCcpO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tbGlnaHQvY2FuYXJvLWxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tbGlnaHQvY2FuYXJvLWxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1saWdodC9jYW5hcm8tbGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLWxpZ2h0L2NhbmFyby1saWdodC5zdmcjY2FuYXJvbGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYW5hcm8nO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tYm9vay9jYW5hcm8tYm9vay5lb3QnKTtcbiAgc3JjOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLWJvb2svY2FuYXJvLWJvb2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib29rL2NhbmFyby1ib29rLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib29rL2NhbmFyby1ib29rLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib29rL2NhbmFyby1ib29rLnN2ZyNjYW5hcm9ib29rJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2FuYXJvJztcbiAgc3JjOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLW1lZGl1bS9jYW5hcm8tbWVkaXVtLmVvdCcpO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tbWVkaXVtL2NhbmFyby1tZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1tZWRpdW0vY2FuYXJvLW1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tbWVkaXVtL2NhbmFyby1tZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLW1lZGl1bS9jYW5hcm8tbWVkaXVtLnN2ZyNjYW5hcm9tZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYW5hcm8nO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tYm9sZC9jYW5hcm8tYm9sZC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLWJvbGQvY2FuYXJvLWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib2xkL2NhbmFyby1ib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib2xkL2NhbmFyby1ib2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ib2xkL2NhbmFyby1ib2xkLnN2ZyNjYW5hcm9ib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhbmFybyc7XG4gIHNyYzogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ibGFjay9jYW5hcm8tYmxhY2suZW90Jyk7XG4gIHNyYzogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ibGFjay9jYW5hcm8tYmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2NhbmFyby1ibGFjay9jYW5hcm8tYmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvY2FuYXJvLWJsYWNrL2NhbmFyby1ibGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9jYW5hcm8tYmxhY2svY2FuYXJvLWJsYWNrLnN2ZyNjYW5hcm9ibGFjaycpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb24nO1xuICBzcmM6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9pY29tb29uL2ljb21vb24uZW90Jyk7XG4gIHNyYzogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2ljb21vb24vaWNvbW9vbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvZm9udHMvaWNvbW9vbi9pY29tb29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ZvbnRzL2ljb21vb24vaWNvbW9vbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9mb250cy9pY29tb29uL2ljb21vb24uc3ZnI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKioqKioqKioqKioqKioqKioqXG4gKiAgaHRtbCwgYm9keVxuICoqKioqKioqKioqKioqKioqKiovXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAnQ2FuYXJvJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBmMTQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4YWFjZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDE4OCwgMjU0LCAyNTIsIDAuMzcpIDBweCwgcmdiYSgxODgsIDI1NCwgMjUyLCAwKSA1MDBweCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMTg4LCAyNTQsIDI1MiwgMC4zNykgMHB4LCByZ2JhKDE4OCwgMjU0LCAyNTIsIDApIDUwMHB4KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA2NjVweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuYm9keSAqLFxuYm9keSAqOjpiZWZvcmUsXG5ib2R5ICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbnNlY3Rpb24ubWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLyoqKioqKioqKioqKioqKioqKlxuICogIGJhc2ljIGVsZW1lbnRzXG4gKioqKioqKioqKioqKioqKioqKi9cbmhyLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnAge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4vKioqKioqKioqKioqKioqKioqXG4gKiAgZm9ybVxuICoqKioqKioqKioqKioqKioqKiovXG4uc2VydmVyLWVycm9ycy1jb250YWluZXI6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlcnZlci1lcnJvcnMtY29udGFpbmVyIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG4uZmllbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uZmllbGQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXI6IDZweCBzb2xpZCAjMDAwO1xuICBjb2xvcjogIzBhMGYxNDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTo6LW1vei1wbGFjZWhvbGRlcixcbnNlbGVjdDo6LW1vei1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG5zZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTotbW96LXBsYWNlaG9sZGVyLFxuc2VsZWN0Oi1tb3otcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTo6LW1vei1wbGFjZWhvbGRlcixcbnNlbGVjdDo6LW1vei1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG5zZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG5pbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cbmlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9ybXMvY2hlY2tib3gtb2ZmLnBuZycpIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvcm1zL2NoZWNrYm94LW9uLnBuZycpIG5vLXJlcGVhdDtcbn1cbi8qKioqKioqKioqKioqKioqKipcbiAqICB1dGlsaXR5IGNsYXNzXG4gKioqKioqKioqKioqKioqKioqKi9cbi5jb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbi50aGlyZC1tZW51LWxpbmUge1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjMjQ4ZWI1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTYwcHg7XG59XG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbn1cbi50aGlyZC1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA1NjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXRvcDogMTI2cHg7XG4gIHotaW5kZXg6IDUwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG1hcmdpbi10b3AgMC41cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjVzIGVhc2UtaW4tb3V0O1xufVxuLnRoaXJkLW1lbnUgLmFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDU2MHB4O1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDM2cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAxNnB4IDE2cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMjQ4ZWI1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICBtYXJnaW4tbGVmdDogLTEycHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XG59XG4udGhpcmQtbWVudSB1bCBsaSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW46IDM2cHggNDBweDtcbn1cbi50aGlyZC1tZW51IHVsIGxpIGEge1xuICBjb2xvcjogIzAzM2Y3MjtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLnRoaXJkLW1lbnUgdWwgbGkuc2VsZWN0ZWQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciAubWFpbiBoZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5tYWluIGhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogNzVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciAubWFpbiBoZWFkZXIgaDIge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5tYWluIHNlY3Rpb24ueWVsbG93IHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjNTBhO1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciAubWFpbiBzZWN0aW9uLnllbGxvdyA+IHNlY3Rpb24ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciAubWFpbiBzZWN0aW9uLnllbGxvdyA+IHNlY3Rpb24gaDIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLyogY29tbW9uICovXG5oZWFkZXIubWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAwO1xuICBtYXJnaW4tdG9wOiA0NHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlhYmQwO1xuICBtaW4td2lkdGg6IDU4MHB4O1xufVxuaGVhZGVyLm1haW46OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogNThweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cbmhlYWRlci5tYWluIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmhlYWRlci5tYWluIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5oZWFkZXIubWFpbiAuY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1sZWZ0OiAzMDVweDtcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7XG59XG5oZWFkZXIubWFpbiAuY29udGVudCA+IGgxIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xN3B4O1xuICBsZWZ0OiAwO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMzA1cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIGhlYWRlci5tYWluIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbiAgaGVhZGVyLm1haW4gLmNvbnRlbnQgPiBoMSB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIHRvcDogLTQwcHg7XG4gIH1cbiAgaGVhZGVyLm1haW4gLmNvbnRlbnQgPiBoMSBpbWcge1xuICAgIHdpZHRoOiAxODBweDtcbiAgfVxufVxuaGVhZGVyLm1haW4gbmF2IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIGhlYWRlci5tYWluIG5hdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5oZWFkZXIubWFpbiBuYXYgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5oZWFkZXIubWFpbiBuYXYgbGkgdWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtNTNweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5oZWFkZXIubWFpbiBuYXYgbGkgdWwgYTo6YWZ0ZXIge1xuICBib3R0b206IC02LjVweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDE1cHggMTVweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM1OWJmZGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5oZWFkZXIubWFpbiBuYXYgYSB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuaGVhZGVyLm1haW4gbmF2IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogLTFweDtcbiAgcmlnaHQ6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAxNXB4IDE1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5oZWFkZXIubWFpbiBuYXYgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5oZWFkZXIubWFpbiAuYWNjb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDVweDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogMzMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xufVxuaGVhZGVyLm1haW4gLmFjY291bnQgLmF2YXRhciB7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xufVxuaGVhZGVyLm1haW4gLmFjY291bnQgYSB7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaGVhZGVyLm1haW4gLmFjY291bnQgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5oZWFkZXIubWFpbiAuYWNjb3VudCBhOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgaGVhZGVyLm1haW4gLmFjY291bnQge1xuICAgIHJpZ2h0OiAyNTBweDtcbiAgfVxufVxuaGVhZGVyLm1haW4gLmJ1eSBhIHtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwYTtcbiAgcGFkZGluZzogMzBweDtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00NXB4O1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xufVxuaGVhZGVyLm1haW4gLmJ1eSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbmhlYWRlci5tYWluIC5idXkgYSBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbmhlYWRlci5tYWluIC5idXkgYSBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE3cHg7XG59XG5oZWFkZXIubWFpbiAuYnV5IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxOXB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIGhlYWRlci5tYWluIC5idXkgYSB7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgd2lkdGg6IDIyNXB4O1xuICB9XG4gIGhlYWRlci5tYWluIC5idXkgYSBoMSB7XG4gICAgbWFyZ2luOiAzcHggMHB4IC0ycHg7XG4gIH1cbiAgaGVhZGVyLm1haW4gLmJ1eSBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbi8qIGhlYWRlciAqL1xuZm9vdGVyLm1haW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBoZWlnaHQ6IDEyNDNweDtcbn1cbmZvb3Rlci5tYWluOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDExNzhweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvZmlyc3QtcGxhbi1yaWdodC5wbmcnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvc2Vjb25kLXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLWxlZnQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3RoaXJkLXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLWxlZnQucG5nJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSBsZWZ0LFxuICAgICAgYm90dG9tIHJpZ2h0LFxuICAgICAgYm90dG9tIGxlZnQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU4MHB4KSB7XG4gIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC0xMDBweDtcbiAgfVxufVxuI2Vycm9yLmZvdXItb2gtZm91ciBmb290ZXIubWFpbiB7XG4gIGhlaWdodDogMTI0M3B4O1xuICBoZWlnaHQ6IDExNTZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDE4OCwgMjU0LCAyNTIsIDApIDAlLCByZ2JhKDE4OCwgMjU0LCAyNTIsIDAuMzcpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDE4OCwgMjU0LCAyNTIsIDApIDAlLCByZ2JhKDE4OCwgMjU0LCAyNTIsIDAuMzcpIDEwMCUpO1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAxMTc4cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2ZpcnN0LXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci90aGlyZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gbGVmdCxcbiAgICAgIGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSBsZWZ0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgI2Vycm9yLmZvdXItb2gtZm91ciBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU4MHB4KSB7XG4gICNlcnJvci5mb3VyLW9oLWZvdXIgZm9vdGVyLm1haW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCByaWdodCAtNDkwcHgsIGJvdHRvbSAwIGxlZnQgLTQ5MHB4LCBib3R0b20gMCByaWdodCAtNDkwcHgsIGJvdHRvbSAwIGxlZnQgLTEwMHB4O1xuICB9XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuI2dhbWUud29ybGQgZm9vdGVyLm1haW4ge1xuICBoZWlnaHQ6IDEyNDNweDtcbn1cbiNnYW1lLndvcmxkIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDExNzhweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvZmlyc3QtcGxhbi1yaWdodC5wbmcnKSwgdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvc2Vjb25kLXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLWxlZnQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3RoaXJkLXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS90aGlyZC1wbGFuLWxlZnQucG5nJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSBsZWZ0LFxuICAgICAgYm90dG9tIHJpZ2h0LFxuICAgICAgYm90dG9tIGxlZnQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICAjZ2FtZS53b3JsZCBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMzIwcHgsIGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgbGVmdCAtMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU4MHB4KSB7XG4gICNnYW1lLndvcmxkIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC0xMDBweDtcbiAgfVxufVxuI2dhbWUud29ybGQgZm9vdGVyLm1haW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCxcbiAgICAgICAgYm90dG9tIHJpZ2h0LFxuICAgICAgICBib3R0b20gbGVmdCxcbiAgICAgICAgYm90dG9tIHJpZ2h0LFxuICAgICAgICBib3R0b20gY2VudGVyO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgI2dhbWUud29ybGQgZm9vdGVyLm1haW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDAgcmlnaHQgLTMyMHB4LCBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIGxlZnQgLTMyMHB4LCBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU4MHB4KSB7XG4gICNnYW1lLndvcmxkIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gY2VudGVyO1xuICB9XG59XG4jZ2FtZS5zdGF0dXMgZm9vdGVyLm1haW4ge1xuICBoZWlnaHQ6IDEyNDNweDtcbn1cbiNnYW1lLnN0YXR1cyBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAxMTc4cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2ZpcnN0LXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci90aGlyZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvdGhpcmQtcGxhbi1sZWZ0LnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gbGVmdCxcbiAgICAgIGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSBsZWZ0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgI2dhbWUuc3RhdHVzIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC0zMjBweCwgYm90dG9tIDAgcmlnaHQgLTMyMHB4LCBib3R0b20gMCBsZWZ0IC0zMjBweCwgYm90dG9tIDAgcmlnaHQgLTMyMHB4LCBib3R0b20gMCBsZWZ0IC0xMDBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTgwcHgpIHtcbiAgI2dhbWUuc3RhdHVzIGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC00OTBweCwgYm90dG9tIDAgcmlnaHQgLTQ5MHB4LCBib3R0b20gMCBsZWZ0IC0xMDBweDtcbiAgfVxufVxuI2dhbWUuYWJvdXQgZm9vdGVyLm1haW4ge1xuICBoZWlnaHQ6IDEyNDNweDtcbiAgaGVpZ2h0OiAxMTU2cHg7XG59XG4jZ2FtZS5hYm91dCBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAxMTc4cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2ZpcnN0LXBsYW4tcmlnaHQucG5nJyksIHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3NlY29uZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci90aGlyZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gcmlnaHQsXG4gICAgICBib3R0b20gbGVmdCxcbiAgICAgIGJvdHRvbSByaWdodCxcbiAgICAgIGJvdHRvbSBsZWZ0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgI2dhbWUuYWJvdXQgZm9vdGVyLm1haW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDAgcmlnaHQgLTMyMHB4LCBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIGxlZnQgLTMyMHB4LCBib3R0b20gMCByaWdodCAtMzIwcHgsIGJvdHRvbSAwIGxlZnQgLTEwMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1ODBweCkge1xuICAjZ2FtZS5hYm91dCBmb290ZXIubWFpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCByaWdodCAtNDkwcHgsIGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgbGVmdCAtNDkwcHgsIGJvdHRvbSAwIHJpZ2h0IC00OTBweCwgYm90dG9tIDAgbGVmdCAtMTAwcHg7XG4gIH1cbn1cbiNnYW1lLmFib3V0IGZvb3Rlci5tYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuZm9vdGVyLm1haW4gbmF2IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbmZvb3Rlci5tYWluIG5hdiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuZm9vdGVyLm1haW4gbmF2IC5idXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xuICBib3JkZXI6IDZweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjNTBhO1xuICBwYWRkaW5nOiAzMHB4O1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tdG9wOiAtNDJweDtcbiAgbWFyZ2luLWxlZnQ6IC02cHg7XG59XG5mb290ZXIubWFpbiBuYXYgLmJ1eTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5mb290ZXIubWFpbiBuYXYgLmJ1eSBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbmZvb3Rlci5tYWluIG5hdiAuYnV5IHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cbmZvb3Rlci5tYWluIG5hdiAuYnV5OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTlweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogMzBweDtcbiAgbWFyZ2luLXRvcDogLTE2cHg7XG59XG5mb290ZXIubWFpbiBuYXYgPiB1bCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xufVxuZm9vdGVyLm1haW4gbmF2ID4gdWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xufVxuZm9vdGVyLm1haW4gbmF2ID4gdWwgPiBsaS5tb3JlIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiBub25lO1xuICAgICAgLW1zLWZsZXg6IG5vbmU7XG4gICAgICAgICAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDI3MHB4O1xufVxuZm9vdGVyLm1haW4gbmF2ID4gdWwgPiBsaS5tb3JlID4gYSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5mb290ZXIubWFpbiBuYXYgPiB1bCA+IGxpLm1vcmUgPiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuZm9vdGVyLm1haW4gbmF2ID4gdWwgPiBsaS5tb3JlIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAzNnB4O1xufVxuZm9vdGVyLm1haW4gbmF2ID4gdWwgPiBsaTpub3QoLm1vcmUpID4gYSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG5mb290ZXIubWFpbiBuYXYgPiB1bCA+IGxpOm5vdCgubW9yZSkgPiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzBhMGYxNDtcbn1cbmZvb3Rlci5tYWluIG5hdiA+IHVsID4gbGkgbGkgYSB7XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuZm9vdGVyLm1haW4gbmF2IC5zb2NpYWwge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1mYW1pbHk6ICdpY29uJztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDQycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbmZvb3Rlci5tYWluIG5hdiAuc29jaWFsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG5mb290ZXIubWFpbiBuYXYgLnNvY2lhbCBsaTpmaXJzdC1vZi10eXBlIGEge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5mb290ZXIubWFpbiBuYXYgLnNvY2lhbCBsaSBhIHtcbiAgcGFkZGluZzogOHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbmZvb3Rlci5tYWluIG5hdiAuc29jaWFsIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMGEwZjE0O1xufVxuZm9vdGVyLm1haW4gbmF2IC5zb2NpYWwgbGkgYS5mYjo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlOTAyJztcbn1cbmZvb3Rlci5tYWluIG5hdiAuc29jaWFsIGxpIGEudHdpdHRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlOTAzJztcbn1cbmZvb3Rlci5tYWluIG5hdiAuc29jaWFsIGxpIGEueW91dHViZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlOTAwJztcbn1cbmZvb3Rlci5tYWluIG5hdiAuc29jaWFsIGxpIGEudHdpdGNoOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MDEnO1xufVxuZm9vdGVyLm1haW4gbmF2IC5zb2NpYWwgbGkgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5mb290ZXIubWFpbiAjY29weXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U3OTdjO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuZm9vdGVyLm1haW4gI2NvcHlyaWdodCBwIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbi8qIGZvb3RlciAqL1xuI21vZGFsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDMwMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuM3M7XG59XG4jbW9kYWwtY29udGFpbmVyOm5vdCg6ZW1wdHkpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xufVxuI21vZGFsLWNvbnRhaW5lciBhc2lkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNtb2RhbC1jb250YWluZXIgYXNpZGU6YmVmb3JlLFxuI21vZGFsLWNvbnRhaW5lciBhc2lkZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jbW9kYWwtY29udGFpbmVyIGFzaWRlIGFydGljbGUsXG4jbW9kYWwtY29udGFpbmVyIGFzaWRlOmJlZm9yZSxcbiNtb2RhbC1jb250YWluZXIgYXNpZGU6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4jbW9kYWwtY29udGFpbmVyIGFzaWRlIGFydGljbGUge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXdpZHRoOiA2cHggNnB4IDRweCA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG4jbW9kYWwtY29udGFpbmVyIGFzaWRlIGFydGljbGUgaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00MnB4O1xuICBsZWZ0OiAtNnB4O1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwYTtcbiAgcGFkZGluZzogN3B4IDE0cHggNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI21vZGFsLWNvbnRhaW5lciBhc2lkZSBhcnRpY2xlIC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDJweDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogLTZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwYTtcbiAgcGFkZGluZzogN3B4IDE0cHggNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI21vZGFsLWNvbnRhaW5lciBhc2lkZSBhcnRpY2xlIGlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi8qIG1vZGFsICovXG4jaG9tZSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAqICBubyBmb290ZXIgaWxsdXN0cmF0aW9uIGZvciBob21lXG4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgcGFkZGluZy1ib3R0b206IDM2NXB4O1xufVxuI2hvbWUgZm9vdGVyLm1haW4ge1xuICBoZWlnaHQ6IDM2NXB4O1xufVxuI2hvbWUgZm9vdGVyLm1haW4gbmF2LnNlY29uZGFyeSB7XG4gIG1pbi1oZWlnaHQ6IDMxNnB4O1xufVxuI2hvbWUgZm9vdGVyLm1haW46OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIGhlYWRlclxuICAgICoqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBuZXdzXG4gICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIGZlYXR1cmVzXG4gICAgKioqKioqKioqKioqKioqKioqKi9cbn1cbiNob21lIHNlY3Rpb24ubWFpbiA+IGhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE2MHB4O1xuICBoZWlnaHQ6IDUwMHB4O1xuICB0b3A6IC0xMDNweDtcbiAgbWFyZ2luLWJvdHRvbTogLTEwM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyIGgxLFxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyIC5wbGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyIGgxIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiA3MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMTAzcHgpO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiA+IGhlYWRlciAucGxheSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL3BsYXkucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMjAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiA+IGhlYWRlciAucGxheTpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gPiBoZWFkZXIgLnBsYXkgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gPiBoZWFkZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvaG9tZS92aWRlby1tYXNrLnBuZycpO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyIHZpZGVvLFxuI2hvbWUgc2VjdGlvbi5tYWluID4gaGVhZGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MGE7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIGgxIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgaDIge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgdWwge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgZmxleDogMTtcbiAgcGFkZGluZzogMjBweCAzNnB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubGF1bmNoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMjgwcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5sYXVuY2ggcCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5sYXVuY2ggaDIge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5sYXVuY2ggYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTgwcHg7XG4gIGJvcmRlcjogNnB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubGF1bmNoIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAxMDAlO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubGF1bmNoIGJ1dHRvbiBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmxhdW5jaCBidXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiAzNy41cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvcGxheS5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5sYXVuY2ggYnV0dG9uLnZpZGVvOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5mZWF0dXJlZCBzdHJvbmcsXG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5mZWF0dXJlZCBwIHtcbiAgY29sb3I6ICMzYjNjMmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmZlYXR1cmVkIHAge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAuZmVhdHVyZWQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmZlYXR1cmVkIGE6aG92ZXIgc21hbGwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmZlYXR1cmVkIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmZlYXR1cmVkIHNtYWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAuZmVhdHVyZWQgc21hbGw6OmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLmZlYXR1cmVkIHNtYWxsIHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLm5ld3NsZXR0ZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubmV3c2xldHRlciBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5uZXdzIC5uZXdzbGV0dGVyIGxhYmVsIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogODAwO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubmV3c2xldHRlciBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLm5ld3NsZXR0ZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9ob21lL25ld3NsZXR0ZXItYnV0dG9uLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMzdweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIGZsb2F0OiByaWdodDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm5ld3MgLm5ld3NsZXR0ZXIgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24ubmV3cyAubmV3c2xldHRlciBidXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNTYsIDE3MCwgMjA3LCAwLjY3KSAwcHgsIHJnYmEoMTU4LCAyMzgsIDI1NSwgMC42NykgMzYwcHgsIHJnYmEoMTU4LCAyMzgsIDI1NSwgMCkgMzYwcHgpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSg1NiwgMTcwLCAyMDcsIDAuNjcpIDBweCwgcmdiYSgxNTgsIDIzOCwgMjU1LCAwLjY3KSAzNjBweCwgcmdiYSgxNTgsIDIzOCwgMjU1LCAwKSAzNjBweCkgbm8tcmVwZWF0O1xuICBtaW4taGVpZ2h0OiA4ODhweDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzOjpiZWZvcmUsXG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlczo6YWZ0ZXIsXG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBoMTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXM6OmJlZm9yZSxcbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzOjphZnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodCxcbiAgICAgICAgICBib3R0b20gbGVmdDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTkyMHB4KSB7XG4gICNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzOjpiZWZvcmUsXG4gICNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDAgcmlnaHQgLTMyMHB4LCBib3R0b20gMCBsZWZ0IC0zMjBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTgwcHgpIHtcbiAgI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXM6OmJlZm9yZSxcbiAgI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXM6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCByaWdodCAtNDkwcHgsIGJvdHRvbSAwIGxlZnQgLTQ5MHB4O1xuICB9XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlczo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zNnB4O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci90aGlyZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2hvbWUvdGhpcmQtcGxhbi1sZWZ0LnBuZycpO1xuICB6LWluZGV4OiAxO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXM6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xNzBweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9ob21lL3NlY29uZC1wbGFuLXJpZ2h0LnBuZycpLCB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Zvb3Rlci9zZWNvbmQtcGxhbi1sZWZ0LnBuZycpO1xuICB6LWluZGV4OiAxO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgaDE6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjkwcHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2ZpcnN0LXBsYW4tcmlnaHQucG5nJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTkyMHB4KSB7XG4gICNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIGgxOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAwIHJpZ2h0IC0zMjBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTgwcHgpIHtcbiAgI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgaDE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDAgcmlnaHQgLTQ5MHB4O1xuICB9XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBoMSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIGgxIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgaDEgLm1haW4ge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBoMSAuc2Vjb25kYXJ5IHtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy10b3A6IDI0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIGNvbG9yOiAjZmZmO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWw6OmJlZm9yZSxcbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMC40O1xuICAtd2Via2l0LWZsZXg6IDAuNDtcbiAgICAgIC1tcy1mbGV4OiAwLjQ7XG4gICAgICAgICAgZmxleDogMC40O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgZmxleDogMTtcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGk6bnRoLWNoaWxkKDEpIC5zZWxlY3Qge1xuICBtYXJnaW4tbGVmdDogLTYwcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaTpudGgtY2hpbGQoMikgLnNlbGVjdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpOm50aC1jaGlsZCgzKSAuc2VsZWN0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaS5hY3RpdmUgLnNlbGVjdDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpIC5zZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaSAuc2VsZWN0OjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDZweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MGE7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaSAuc2VsZWN0IHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIGgyLFxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIHNtYWxsIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIC5pbWFnZSB7XG4gIGhlaWdodDogMTY1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIGgyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuM3M7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDcwcHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIC5pbWFnZSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlcjogNnB4IHNvbGlkICMwMDA7XG4gIGhlaWdodDogMTM1cHg7XG4gIG1hcmdpbjogMTVweCAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAxNTBtcyBlYXNlLW91dCwgbWFyZ2luIDE1MG1zIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMTUwbXMgZWFzZS1vdXQsIG1hcmdpbiAxNTBtcyBlYXNlLW91dDtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuM3M7XG4gIGNvbG9yOiAjMGEwZjE0O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBhIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4jaG9tZSBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBhIHAgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuI2hvbWUgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNob21lIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIGE6aG92ZXIgc21hbGwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi8qIGhvbWUgKi9cbiNnYW1lIGhlYWRlci5tYWluIG5hdiBsaS5nYW1lIGEge1xuICBjb2xvcjogIzAwMDtcbn1cbiNnYW1lIGhlYWRlci5tYWluIG5hdiBsaS5nYW1lIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgPiB1bCA+IGxpLmdhbWUgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUgaGVhZGVyLm1haW46OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS53b3JsZCBuYXYgYS5nYW1lX3dvcmxkOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUuYWJvdXQgbmF2IGEuZ2FtZV9hYm91dDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLnN0YXR1cyBuYXYgYS5nYW1lX3N0YXR1czo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLndvcmxkIHtcbiAgcGFkZGluZy1ib3R0b206IDM2NXB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBmZWF0dXJlc1xuICAgICoqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBtb2Rlc1xuICAgICoqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBkZXZcbiAgICAqKioqKioqKioqKioqKioqKioqL1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIGgxLFxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIGgyIHtcbiAgbWFyZ2luOiAwO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHAge1xuICBtYXJnaW46IDA7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNjBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9iZy1mbG9hdC5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDY2MHB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBoMSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyBoMSAubWFpbiB7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgaDEgLnNlY29uZGFyeSB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiA1MCU7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaTpudGgtY2hpbGQoMSkgLnNlbGVjdCB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpOm50aC1jaGlsZCgyKSAuc2VsZWN0IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGk6bnRoLWNoaWxkKDMpIC5zZWxlY3Qge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpLmFjdGl2ZSAuc2VsZWN0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkgLnNlbGVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpIC5zZWxlY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlcjogNnB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwYTtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpIC5zZWxlY3Qgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaSAuc2VsZWN0IHtcbiAgdG9wOiAxNzBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpIGgyLFxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkgcCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkgaDIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDI1cHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaSBoMiBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDMwcHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaSAuaW50cm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkgLnRleHQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzAwMzk2ZDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpLmJ1aWxkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYnVpbGQyLnBuZycpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuM3M7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTAlO1xuICB6LWluZGV4OiAtMTtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzIHVsIGxpLmRlZmVuZC5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDgwJSA4MCUsIGNpcmNsZSwgcmdiYSgwLCAwLCAwLCAwLjcpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDYwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCg4MCUgODAlLCBjaXJjbGUsIHJnYmEoMCwgMCwgMCwgMC43KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuZGVmZW5kLmFjdGl2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2VuZW1pZXMucG5nJyk7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDUwJTtcbiAgei1pbmRleDogLTE7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaS5tdWx0aXBsYXllcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2ZyaWVuZHMucG5nJyk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA1MCU7XG4gIHotaW5kZXg6IC0xO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIHtcbiAgcGFkZGluZzogNjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIGgyLFxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIHAsXG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyB1bCBsaS5hY3RpdmU6OmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZmVhdHVyZXMgdWwgbGkuYWN0aXZlIHAge1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmc6IDAgNjBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzID4gYSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5mZWF0dXJlcyA+IGEgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLmZlYXR1cmVzID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyB7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYzUwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIGhlYWRlciBoMSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgaGVhZGVyIHAge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyA+IHAge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIHVsIHtcbiAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDI4MHB4O1xuICBtYXJnaW46IDEycHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyB1bCBwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIHVsIGgyLFxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgdWwgcCB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE4MHB4O1xuICBib3JkZXI6IDZweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyBidXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNzVweDtcbiAgaGVpZ2h0OiA1Ni4yNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL3BsYXkucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMjAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIGJ1dHRvbi52aWRlbzo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgYnV0dG9uIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgaDIge1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiNnYW1lLndvcmxkIHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIGEgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgYSBzdHJvbmcge1xuICBmb250LXdlaWdodDogODAwO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5tb2RlcyA+ICoge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZGV2IHtcbiAgcGFkZGluZzogMTcwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZGV2IGgxIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZGV2IHAge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5kZXYgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5kZXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5kZXYgYSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4jZ2FtZS53b3JsZCBzZWN0aW9uLm1haW4gc2VjdGlvbi5kZXYgYSBzdHJvbmcge1xuICBmb250LXdlaWdodDogODAwO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZGV2IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xufVxuI2dhbWUud29ybGQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZGV2ID4gKiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4vKiBnYW1lLXdvcmxkICovXG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgbGkuZ2FtZSBhIHtcbiAgY29sb3I6ICMwMDA7XG59XG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgbGkuZ2FtZSB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUgaGVhZGVyLm1haW4gbmF2ID4gdWwgPiBsaS5nYW1lID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lIGhlYWRlci5tYWluOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUud29ybGQgbmF2IGEuZ2FtZV93b3JsZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLmFib3V0IG5hdiBhLmdhbWVfYWJvdXQ6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS5zdGF0dXMgbmF2IGEuZ2FtZV9zdGF0dXM6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS5hYm91dCB7XG4gIHBhZGRpbmctYm90dG9tOiAzNjVweDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlZEJhY2tncm91bmQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDAlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGFuaW1hdGVkQmFja2dyb3VuZCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMCU7XG4gIH1cbn1cbiNnYW1lLmFib3V0IC5iYWNrZ3JvdW5kcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNnYW1lLmFib3V0IC5zMV9mYXJfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC01MDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L3MxX2Zhcl9jbG91ZHMucG5nJykgbm8tcmVwZWF0IGNlbnRlciAwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgMTIwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDEyMDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWluLWhlaWdodDogMTk3MHB4O1xuICBtaW4td2lkdGg6IDQ2NTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMzI1cHg7XG59XG4jZ2FtZS5hYm91dCAuczFfZmFyX2lzbGFuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxODBweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTQwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczFfZmFyX2lzbGFuZC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIDBweDtcbiAgbWluLWhlaWdodDogMTk3MHB4O1xufVxuI2dhbWUuYWJvdXQgLnMxX2Nsb3NlX2Nsb3VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0zMDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L3MxX2Nsb3NlX2Nsb3VkLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDE5NzBweDtcbiAgbWluLXdpZHRoOiA0NjUwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjMyNXB4O1xufVxuI2dhbWUuYWJvdXQgLnMxX2Nsb3NlX2lzbGFuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxODBweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTIwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczFfY2xvc2VfaXNsYW5kLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiAyMDQycHg7XG59XG4jZ2FtZS5hYm91dCAuczNfZmFyX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTUwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczNfZmFyX2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbiAgbWluLXdpZHRoOiAzMjk4cHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMTY0OXB4O1xufVxuI2dhbWUuYWJvdXQgLnMzX2Zhcl9pc2xhbmRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0NzhweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTQwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczNfZmFyX2lzbGFuZHMucG5nJykgbm8tcmVwZWF0IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwMHB4O1xufVxuI2dhbWUuYWJvdXQgLnMzX2Nsb3NlX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTMwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczNfY2xvc2VfY2xvdWRzLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICBtaW4td2lkdGg6IDMyOThweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xNjQ5cHg7XG59XG4jZ2FtZS5hYm91dCAuczVfY2xvc2VfaXNsYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwMTdweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTIwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczVfY2xvc2VfaXNsYW5kLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjMwMHB4KSB7XG4gICNnYW1lLmFib3V0IC5zNV9jbG9zZV9pc2xhbmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMHB4O1xuICB9XG59XG4jZ2FtZS5hYm91dCAuczVfZmFyX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMDE3cHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTUwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczVfZmFyX2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbiAgbWluLXdpZHRoOiAyNTYwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMTI4MHB4O1xufVxuI2dhbWUuYWJvdXQgLnM3X2Zhcl9jbG91ZHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDQ5MHB4O1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC01MDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvY2xvdWRzLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDEyNTZweDtcbiAgbWluLXdpZHRoOiAyODAwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMTQwMHB4O1xufVxuI2dhbWUuYWJvdXQgLnM3X2Zhcl9pc2xhbmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDQ5MHB4O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNDA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2Zhci1pc2xhbmQucG5nJykgbm8tcmVwZWF0IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDEyNTZweDtcbn1cbiNnYW1lLmFib3V0IC5zN19sZWZ0X2lzbGFuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NDkwcHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0yMDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9mb290ZXIvbGVmdDEucG5nJykgbm8tcmVwZWF0IGxlZnQgYm90dG9tO1xuICBtaW4taGVpZ2h0OiAxMTkzcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzMDBweCkge1xuICAjZ2FtZS5hYm91dCAuczdfbGVmdF9pc2xhbmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gIH1cbn1cbiNnYW1lLmFib3V0IC5zN19yaWdodF9pc2xhbmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDQ5MHB4O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMjA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL3JpZ2h0MS5wbmcnKSBuby1yZXBlYXQgcmlnaHQgYm90dG9tO1xuICBtaW4taGVpZ2h0OiAxMTEycHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzMDBweCkge1xuICAjZ2FtZS5hYm91dCAuczdfcmlnaHRfaXNsYW5kIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICB9XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIG92ZXJ2aWV3XG4gICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIGJyaWNrdHJvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqXG4gICAgKiAgaXNsYW5kc1xuICAgICoqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBnYXRoZXJpbmdcbiAgICAqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqXG4gICAgKiAgYnVpbGRpbmdcbiAgICAqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqXG4gICAgKiAgZW5lbXlcbiAgICAqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqXG4gICAgKiAgbW9kZXNcbiAgICAqKioqKioqKioqKioqKioqKioqL1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIGgxLFxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIGgyIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIGgxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBoMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHAgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIGEuYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMDBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLm92ZXJ2aWV3IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgaGVpZ2h0OiA3OTVweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLm92ZXJ2aWV3IGgxLFxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ub3ZlcnZpZXcgaDIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5vdmVydmlldyBoMSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGZvbnQtc2l6ZTogNDVweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLm92ZXJ2aWV3IGgyIHtcbiAgZm9udC1zaXplOiAzNXB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ub3ZlcnZpZXcgcCB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICB3aWR0aDogMzUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5icmlja3Ryb25zIHtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L2JyaWNrdHJvbnMtYmcucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgI2ZlYzUwYTtcbiAgaGVpZ2h0OiA2NDBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmJyaWNrdHJvbnMgc2VjdGlvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5icmlja3Ryb25zIHNlY3Rpb24gaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uYnJpY2t0cm9ucyBzZWN0aW9uIHAge1xuICB3aWR0aDogMzkwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5pc2xhbmRzIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgaGVpZ2h0OiA5MDBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmlzbGFuZHMgaDEge1xuICBtYXJnaW4tdG9wOiAxODBweDtcbiAgd2lkdGg6IDM2MHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uaXNsYW5kcyBoMiB7XG4gIHdpZHRoOiAzNjBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmlzbGFuZHMgcCB7XG4gIG1hcmdpbi1sZWZ0OiA0MDBweDtcbiAgd2lkdGg6IDQwMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZ2F0aGVyaW5nIHtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L2dhdGhlcmluZy1iZy5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCAjZmFiNTA5O1xuICBoZWlnaHQ6IDY0MHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZ2F0aGVyaW5nIHNlY3Rpb24ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZ2F0aGVyaW5nIHNlY3Rpb24gaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZ2F0aGVyaW5nIHNlY3Rpb24gaDIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZ2F0aGVyaW5nIHNlY3Rpb24gcCB7XG4gIHdpZHRoOiAzODBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmdhdGhlcmluZyBzZWN0aW9uIGFydGljbGUgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmdhdGhlcmluZyBzZWN0aW9uIC5jb2x1bW4xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uYnVpbGRpbmcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBoZWlnaHQ6IDc4NXB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uYnVpbGRpbmcgaDEge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uYnVpbGRpbmcgaDIge1xuICB3aWR0aDogODMwcHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5idWlsZGluZyBwIHtcbiAgbWFyZ2luLWxlZnQ6IDQyMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICB3aWR0aDogNDAwcHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5lbmVteSB7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9lbmVtaWVzLWJnLnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICNlYTlmMDA7XG4gIGhlaWdodDogNjI5cHg7XG59XG4jZ2FtZS5hYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5lbmVteSBzZWN0aW9uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmVuZW15IHNlY3Rpb24gaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZW5lbXkgc2VjdGlvbiBwLmludHJvIHtcbiAgd2lkdGg6IDgwMHB4O1xuICBmb250LXdlaWdodDogODAwO1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uZW5lbXkgc2VjdGlvbiBwIHtcbiAgd2lkdGg6IDM5MHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBoZWlnaHQ6IDgwMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgaDIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgcCB7XG4gIHdpZHRoOiAzODBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIGFydGljbGUgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLm1vZGVzIC5jb2x1bW4xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24ubW9kZXMgLm91dHJvIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdpZHRoOiA4MDBweDtcbn1cbiNnYW1lLmFib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmludmVydGVkIGgxLFxuI2dhbWUuYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uaW52ZXJ0ZWQgaDIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi8qIGdhbWUtYWJvdXQgKi9cbiNnYW1lIGhlYWRlci5tYWluIG5hdiBsaS5nYW1lIGEge1xuICBjb2xvcjogIzAwMDtcbn1cbiNnYW1lIGhlYWRlci5tYWluIG5hdiBsaS5nYW1lIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgPiB1bCA+IGxpLmdhbWUgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUgaGVhZGVyLm1haW46OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS53b3JsZCBuYXYgYS5nYW1lX3dvcmxkOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUuYWJvdXQgbmF2IGEuZ2FtZV9hYm91dDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLnN0YXR1cyBuYXYgYS5nYW1lX3N0YXR1czo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLnN0YXR1cyB7XG4gIHBhZGRpbmctYm90dG9tOiAzNjVweDtcbn1cbkBrZXlmcmFtZXMgYW5pbWF0ZWRCYWNrZ3JvdW5kIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwJTtcbiAgfVxufVxuI2dhbWUuc3RhdHVzIC5iYWNrZ3JvdW5kcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNnYW1lLnN0YXR1cyAuczFfZmFyX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxODBweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNTA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9zMV9mYXJfY2xvdWRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgMHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDEyMDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCAxMjAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1pbi1oZWlnaHQ6IDE5NzBweDtcbiAgbWluLXdpZHRoOiA0NjUwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjMyNXB4O1xufVxuI2dhbWUuc3RhdHVzIC5zMV9jbG9zZV9jbG91ZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxODBweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMzA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9zMV9jbG9zZV9jbG91ZC5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiAxOTcwcHg7XG4gIG1pbi13aWR0aDogNDY1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tbGVmdDogLTIzMjVweDtcbn1cbiNnYW1lLnN0YXR1cyAuczNfZmFyX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTUwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczNfZmFyX2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbiAgbWluLXdpZHRoOiAzMjk4cHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMTY0OXB4O1xufVxuI2dhbWUuc3RhdHVzIC5zM19mYXJfaXNsYW5kcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC00MDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L3MzX2Zhcl9pc2xhbmRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbn1cbiNnYW1lLnN0YXR1cyAuczNfY2xvc2VfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0NzhweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMzA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9zM19jbG9zZV9jbG91ZHMucG5nJykgcmVwZWF0LXggY2VudGVyIDBweDtcbiAgbWluLWhlaWdodDogOTAwcHg7XG4gIG1pbi13aWR0aDogMzI5OHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tbGVmdDogLTE2NDlweDtcbn1cbiNnYW1lLnN0YXR1cyAuczVfZmFyX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNjAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTUwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczVfZmFyX2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbiAgbWluLXdpZHRoOiAyNTYwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgODAwcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAtMTI4MHB4O1xufVxuI2dhbWUuc3RhdHVzIC5zN19mYXJfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwMDBweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNTA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiAxMjU2cHg7XG4gIG1pbi13aWR0aDogMjgwMHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tbGVmdDogLTE0MDBweDtcbn1cbiNnYW1lLnN0YXR1cyAudGhpcmQtbWVudS1saW5lIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBsZWZ0OiA3NSU7XG59XG4jZ2FtZS5zdGF0dXMgLnRoaXJkLW1lbnUge1xuICB3aWR0aDogMTUwcHg7XG4gIGxlZnQ6IDc1JTtcbn1cbiNnYW1lLnN0YXR1cyAudGhpcmQtbWVudSAuYXJyb3cge1xuICBsZWZ0OiAxNTBweDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gaGVhZGVyIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIGhlYWRlciBoMSxcbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gaGVhZGVyIGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIGhlYWRlciBoMSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gaGVhZGVyIGgyIHtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmUge1xuICB3aWR0aDogODcwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDMwMHB4IGF1dG87XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX2xpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1cHg7XG4gIG1pbi1oZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fbGluZS0tbGVmdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MHB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNjBweCk7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fbGluZS0tcmlnaHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MHB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwcHgpO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX2xpbmU6YmVmb3JlLFxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX2xpbmU6YWZ0ZXIge1xuICB3aWR0aDogMzAwJTtcbiAgaGVpZ2h0OiA1cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAlO1xuICByaWdodDogMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fbGluZTpiZWZvcmUge1xuICBib3R0b206IDEwMCU7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fbGluZTphZnRlciB7XG4gIHRvcDogMTAwJTtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLnRpbWVsaW5lX19saW5lLS1maXJzdDpiZWZvcmUge1xuICBoZWlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX2lubmVyOmJlZm9yZSxcbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLnRpbWVsaW5lX19pbm5lcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzJjOTZiYztcbiAgbWFyZ2luOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDBweDtcbiAgei1pbmRleDogLTE7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9faW5uZXI6YmVmb3JlIHtcbiAgd2lkdGg6IDFweDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLnRpbWVsaW5lX19pbm5lcjphZnRlciB7XG4gIHdpZHRoOiAxMjFweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX3RpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fdGl0bGUtLXNpZGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMzc1cHg7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJjOTZiYztcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLnRpbWVsaW5lX190aXRsZS0tbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC50aW1lbGluZV9fdGl0bGUtLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX21vbnRoLW1hcmtlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiA5MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjMzhhYWNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NmJjO1xuICBtYXJnaW46IDAgYXV0byAxNXB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4O1xuICB6LWluZGV4OiA0MDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLnRpbWVsaW5lX19lbGVtZW50LS1maXJzdCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAudGltZWxpbmVfX2VsZW1lbnQtLWxhc3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgei1pbmRleDogMzA7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29udGVudDogXCIgXCI7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fdHlwZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50X19pbnRybyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fcmVhZC1tb3JlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnRfX3JlYWQtbW9yZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fYnViYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTZiYztcbiAgd2lkdGg6IDMyMHB4O1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAxNXB4O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnRfX2J1YmJsZTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50X19idWJibGUtLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50X19idWJibGUtLWxlZnQ6YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDBweCAwcHggMjJweCAyNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fYnViYmxlLS1jZW50ZXIge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fYnViYmxlLS1jZW50ZXI6YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDBweCAwcHggMjJweCAyNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fYnViYmxlLS1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50X19idWJibGUtLXJpZ2h0OmFmdGVyIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGJvcmRlci13aWR0aDogMHB4IDI2cHggMjJweCAwcHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJjOTZiYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50X19tYXJrZXIge1xuICB3aWR0aDogMjFweDtcbiAgaGVpZ2h0OiAyMXB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjNTBhO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBtYXJnaW46IDNweCA0NHB4O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnRfX21hcmtlci0tbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnRfX21hcmtlci0tY2VudGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudF9fbWFya2VyLS1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50LS1maXJzdCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnQtLWxhc3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDpmaXJzdC1jaGlsZCAuZXZlbnRfX2J1YmJsZSB7XG4gIGJhY2tncm91bmQ6ICNiMGRkZWM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDpmaXJzdC1jaGlsZCAuZXZlbnRfX2J1YmJsZS0tbGVmdDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2IwZGRlYztcbn1cbiNnYW1lLnN0YXR1cyBzZWN0aW9uLm1haW4gLmV2ZW50OmZpcnN0LWNoaWxkIC5ldmVudF9fYnViYmxlLS1jZW50ZXI6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNiMGRkZWM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDpmaXJzdC1jaGlsZCAuZXZlbnRfX2J1YmJsZS0tcmlnaHQ6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNiMGRkZWMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDpmaXJzdC1jaGlsZCAuZXZlbnRfX21hcmtlciB7XG4gIHdpZHRoOiA2cHg7XG4gIGJvcmRlci13aWR0aDogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzhhYWNmO1xuICBtYXJnaW46IDAgNTJweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnQ6Zmlyc3QtY2hpbGQgLmV2ZW50X19tYXJrZXI6YmVmb3JlLFxuI2dhbWUuc3RhdHVzIHNlY3Rpb24ubWFpbiAuZXZlbnQ6Zmlyc3QtY2hpbGQgLmV2ZW50X19tYXJrZXI6YWZ0ZXIge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgbWFyZ2luOiA1cHggMHB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk2YmM7XG59XG4jZ2FtZS5zdGF0dXMgc2VjdGlvbi5tYWluIC5ldmVudDpmaXJzdC1jaGlsZCAuZXZlbnRfX21hcmtlciAuaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NmJjO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBnYW1lLXN0YXR1cyAqL1xuI25ld3MgaGVhZGVyLm1haW4gbmF2IGxpLm5ld3MgYSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuI25ld3MgaGVhZGVyLm1haW4gbmF2IGxpLm5ld3MgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNuZXdzIHNlY3Rpb24ubWFpbiB7XG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBoZWFkZXJcbiAgICAqKioqKioqKioqKioqKioqKioqL1xufVxuI25ld3Mgc2VjdGlvbi5tYWluID4gaGVhZGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogNTBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbmV3cyBzZWN0aW9uLm1haW4gPiBoZWFkZXIgaDEge1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNuZXdzIHNlY3Rpb24ubWFpbiA+IGhlYWRlciBwIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBtYXJnaW46IDA7XG59XG4vKiBuZXdzIG1haW4gKi9cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIHBpbm5lZCBuZXdzXG4gICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIGFyY2hpdmVcbiAgICAqKioqKioqKioqKioqKioqKioqL1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLnBpbm5lZCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MGE7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1MHB4IDM1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWluLWhlaWdodDogMzIwcHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIGE6aG92ZXIgc21hbGwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5waW5uZWQgaDEsXG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIC5hdXRob3IsXG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIHRpbWUsXG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIHNtYWxsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5waW5uZWQgaW1nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMHB4O1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMzAwcHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIGgxIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIC5hdXRob3Ige1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIC5hdXRob3Igc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIHRpbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5waW5uZWQgLnRleHQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5waW5uZWQgc21hbGwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAucGlubmVkIHNtYWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBwYWRkaW5nOiA3MHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAgICogIGFyY2hpdmUgZmlsdGVyc1xuICAgICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICAgKiAgYXJjaGl2ZSBpdGVtc1xuICAgICAgKioqKioqKioqKioqKioqKioqKi9cbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlID4gaDEsXG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgPiBoMSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICNmZmY7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiAnLyc7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgY29sb3I6ICNmZmY7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyBsYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogLTI4cHg7XG4gIHJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDE1cHggMTVweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgbWFyZ2luLWxlZnQ6IC0zMi41cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgbGk6bGFzdC1jaGlsZCBsYWJlbDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgbGk6bGFzdC1jaGlsZCBsYWJlbDo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IC03LjVweDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgY29sb3I6ICMwMDA7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAueWVhcixcbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIC5zZWFyY2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAueWVhciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMDBweCk7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAuc2VhcmNoIHtcbiAgd2lkdGg6IDMwMHB4O1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNlYXJjaCBpbnB1dCxcbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIC5zZWFyY2ggYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNlYXJjaCBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNlYXJjaCBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL3NlYXJjaC1pY29uLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIC5zZWFyY2ggYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNvcnQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nOiAwIDY1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIGxvbmcgbGluZSAqL1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNvcnQgbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAuc29ydCBsYWJlbDo6YmVmb3JlIHtcbiAgYm90dG9tOiAtNy41cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAxNXB4IDE1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzhhYWNmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNvcnQgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnfCc7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAuc29ydDpiZWZvcmUsXG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuZmlsdGVycyAuc29ydDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLmZpbHRlcnMgLnNvcnQ6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5maWx0ZXJzIC5zb3J0OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5pdGVtcyB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgPiBoMSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgYTpob3ZlciBzbWFsbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLml0ZW1zIGEgaW1nIHtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcbiAgLXdlYmtpdC1vcmRlcjogMTtcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xuICAgICAgICAgIG9yZGVyOiAxO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5pdGVtcyBhIC5hdXRob3Ige1xuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAtd2Via2l0LW9yZGVyOiAyO1xuICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgYSB0aW1lIHtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDtcbiAgLXdlYmtpdC1vcmRlcjogMztcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xuICAgICAgICAgIG9yZGVyOiAzO1xuICBmb250LXNpemU6IDE0cHg7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgYSBoMSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7XG4gIC13ZWJraXQtb3JkZXI6IDQ7XG4gICAgICAtbXMtZmxleC1vcmRlcjogNDtcbiAgICAgICAgICBvcmRlcjogNDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgYSAudGV4dCB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7XG4gIC13ZWJraXQtb3JkZXI6IDU7XG4gICAgICAtbXMtZmxleC1vcmRlcjogNTtcbiAgICAgICAgICBvcmRlcjogNTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1heC1oZWlnaHQ6IDQuNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLml0ZW1zIGEgc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMjBweDtcbiAgYm90dG9tOiAyMHB4O1xuICByaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5pdGVtcyBhIHNtYWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLml0ZW1zIHVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0MHB4O1xuICAtd2Via2l0LWNvbHVtbi1maWxsOiBhdXRvO1xuICAtbW96LWNvbHVtbi1nYXA6IDQwcHg7XG4gIC1tb3otY29sdW1uLWZpbGw6IGF1dG87XG4gIC13ZWJraXQtY29sdW1uLWdhcDogNDBweDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDQwcHg7XG4gIC13ZWJraXQtY29sdW1uLWZpbGw6IGF1dG87XG4gICAgIC1tb3otY29sdW1uLWZpbGw6IGF1dG87XG4gICAgICAgICAgY29sdW1uLWZpbGw6IGF1dG87XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgY29sdW1uLWNvdW50OiAzO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLml0ZW1zIHVsIGxpIHtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyNDBweCkgLyAzKTtcbiAgbWFyZ2luOiAwcHggMHB4IDI1cHggMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmU5Y2JmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgdWwgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgdWwgbGk6bnRoLWNoaWxkKDNuKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNuZXdzLmxpc3Qgc2VjdGlvbi5tYWluIC5hcmNoaXZlIC5pdGVtcyAubG9hZC1tb3JlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG59XG4jbmV3cy5saXN0IHNlY3Rpb24ubWFpbiAuYXJjaGl2ZSAuaXRlbXMgLmxvYWQtbW9yZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgM3B4IDNweCAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLTRweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIC00cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtNHB4KSByb3RhdGUoNDVkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuI25ld3MubGlzdCBzZWN0aW9uLm1haW4gLmFyY2hpdmUgLml0ZW1zIC5sb2FkLW1vcmU6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4vKiBuZXdzIGxpc3QgKi9cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIC5wb3N0LXJlbGF0ZWQsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiAubGluay1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gLnBvc3QtcmVsYXRlZCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXNpZGUucmVsYXRlZCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhc2lkZS5yZWxhdGVkIGhlYWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXNpZGUucmVsYXRlZCBoZWFkZXIgaDEge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhc2lkZS5yZWxhdGVkIGhlYWRlciBwIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXNpZGUucmVsYXRlZCBhcnRpY2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTljYmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFzaWRlLnJlbGF0ZWQgYXJ0aWNsZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFzaWRlLnJlbGF0ZWQgYXJ0aWNsZSBzbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhc2lkZS5yZWxhdGVkIGFydGljbGUgc21hbGwgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXNpZGUucmVsYXRlZCBhcnRpY2xlIHNtYWxsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhc2lkZS5yZWxhdGVkIGFydGljbGUgc21hbGw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2Fycm93LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXNpZGUucmVsYXRlZCBhcnRpY2xlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhc2lkZS5yZWxhdGVkIGFydGljbGUgYTpob3ZlciBzbWFsbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuYmFjayB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuYmFjazo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIHRyYW5zbGF0ZVkoLTFweCkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIHRyYW5zbGF0ZVkoLTFweCkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIHRyYW5zbGF0ZVkoLTFweCkgcm90YXRlKDE4MGRlZyk7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDEsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDIsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDMsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDQsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDUsXG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDAuNGVtIDA7XG4gIGNvbG9yOiAjMGEwZjE0O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0ID4gaDEge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgcGFkZGluZy1yaWdodDogMjMwcHg7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgLmF1dGhvcixcbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCB0aW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAucG9zdC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAucG9zdC1jb250ZW50IHVsLFxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IC5wb3N0LWNvbnRlbnQgb2wge1xuICBwYWRkaW5nOiAwcHggNjBweCAyMHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAxZTNhO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IC5wb3N0LWNvbnRlbnQgdWwgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgLnBvc3QtY29udGVudCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBhcnRpY2xlLnBvc3QgLnNoYXJlIHtcbiAgd2lkdGg6IDIxMHB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IC5zaGFyZSBoMSxcbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgaDEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgYSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbic7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDZweDtcbiAgd2lkdGg6IDMwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgYTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgZm9udC1zaXplOiAyNnB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IC5zaGFyZSBhLmZiOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTAyJztcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgYS50d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlOTAzJztcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gYXJ0aWNsZS5wb3N0IC5zaGFyZS50b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzFweDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogMDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIGFydGljbGUucG9zdCAuc2hhcmUuYm90dG9tIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MGE7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBuYXYgLmxpbmstY29udGFpbmVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiAubGluay1jb250YWluZXI6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gbmF2IC5saW5rLWNvbnRhaW5lciBhIHRpbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gbmF2IC5saW5rLWNvbnRhaW5lciBhIGgxIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IDBweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiAubGluay1jb250YWluZXIgYSBoMSBzdHJvbmcge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBuYXYgLmxpbmstY29udGFpbmVyIGEgcCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiAubGluay1jb250YWluZXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiAubGluay1jb250YWluZXIgYTpob3ZlciBzbWFsbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI25ld3MuZGV0YWlscyBzZWN0aW9uLm1haW4gbmF2IC5saW5rLWNvbnRhaW5lciAubmV4dCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAzNDBweDtcbn1cbiNuZXdzLmRldGFpbHMgc2VjdGlvbi5tYWluIG5hdiAubGluay1jb250YWluZXIgLm5leHQgc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG59XG4jbmV3cy5kZXRhaWxzIHNlY3Rpb24ubWFpbiBuYXYgLmxpbmstY29udGFpbmVyIC5wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9hcnJvdy5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuLyogbmV3cyBkZXRhaWxzICovXG4jYWJvdXQgaGVhZGVyLm1haW4gbmF2IGxpLmFib3V0IGEge1xuICBjb2xvcjogIzAwMDtcbn1cbiNhYm91dCBoZWFkZXIubWFpbiBuYXYgbGkuYWJvdXQgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dCBoZWFkZXIubWFpbiBuYXYgPiB1bCA+IGxpLmFib3V0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dCBoZWFkZXIubWFpbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dC5zdG9yeSBuYXYgYS5hYm91dF9zdG9yeTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dC5jcmVhdG9ycyBuYXYgYS5hYm91dF9jcmVhdG9yczo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dC5zdHVkaW8gbmF2IGEuYWJvdXRfc3R1ZGlvOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2Fib3V0LmNvbnRhY3QgbmF2IGEuYWJvdXRfY29udGFjdDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhYm91dCB7XG4gIHBhZGRpbmctYm90dG9tOiAzNjVweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIHN0b3J5XG4gICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIGNyZWF0b3JzXG4gICAgKioqKioqKioqKioqKioqKioqKi9cbiAgLyoqKioqKioqKioqKioqKioqKlxuICAgICogIHN0dWRpb1xuICAgICoqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBjb250YWN0XG4gICAgKioqKioqKioqKioqKioqKioqKi9cbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gaDEsXG4jYWJvdXQgc2VjdGlvbi5tYWluIGgyIHtcbiAgbWFyZ2luOiAwO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBwIHtcbiAgbWFyZ2luOiAwO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0b3J5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2MHB4IDA7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3Rvcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9iZy1mbG9hdC5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtaW4taGVpZ2h0OiA2NjBweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdG9yeSBoMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdG9yeSBoMSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3RvcnkgaDEgLm1haW4ge1xuICBmb250LXNpemU6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdG9yeSBoMSAuc2Vjb25kYXJ5IHtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0b3J5IHVsIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0b3J5IHVsIGxpIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3RvcnkgdWwgbGkgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3RvcnkgdWwgbGkuc2F1cm9wb2QtbG9nbyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYWJvdXQvc2F1cm9wb2QtbG9nby5wbmcnKTtcbiAgbWluLWhlaWdodDogMjkxcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY3JlYXRvcnMge1xuICBwYWRkaW5nOiA0MHB4IDAgMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjNTBhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNyZWF0b3JzID4gc2VjdGlvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY3JlYXRvcnMgPiBzZWN0aW9uIHVsIHtcbiAgcGFkZGluZzogMjVweCAxNDRweCAwcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY3JlYXRvcnMgPiBzZWN0aW9uIHVsIGxpIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAzMHB4IDUycHggMHB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jcmVhdG9ycyA+IHNlY3Rpb24gdWwgbGkgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jcmVhdG9ycyA+IHNlY3Rpb24gdWwgbGkgYnV0dG9uIGltZyB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICMwMDA7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG91dGxpbmUtc3R5bGU6IG5vbmU7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY3JlYXRvcnMgPiBzZWN0aW9uIHVsIGxpOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogNTAlO1xuICBib3R0b206IC04cHg7XG4gIHJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDE1cHggMTVweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIG1hcmdpbi1sZWZ0OiAtNy41cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0IDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjNzO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNyZWF0b3JzID4gc2VjdGlvbiB1bCBsaS5zZWxlY3RlZDo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY3JlYXRvci1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jcmVhdG9yLWluZm8gYXJ0aWNsZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmc6IDE0MHB4IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYWJvdXQvY3JlYXRvci1pbmZvLWlsbHVzdHJhdGlvbi5wbmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNyZWF0b3ItaW5mbyBhcnRpY2xlIHAge1xuICB3aWR0aDogNTMwcHg7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3R1ZGlvIHtcbiAgcGFkZGluZzogNTBweCAwO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyA+IGgxLFxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyA+IHAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyAubWVkaWEtY2Fyb3VzZWwge1xuICB3aWR0aDogMTEyNXB4O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDUzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3R1ZGlvIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMzI3cHg7XG4gIG1hcmdpbjogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyB1bCBsaSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMDJweDtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gdWwgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3R1ZGlvIHVsIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDU2LjI1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvcGxheS5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBub25lO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyB1bCBsaSBidXR0b24udmlkZW86OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gdWwgbGkgYnV0dG9uIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyB1bCBwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMCAxMnB4O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3R1ZGlvIGJ1dHRvbi5wcmV2LFxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyBidXR0b24ubmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9hcnJvdy5wbmcnKSBuby1yZXBlYXQ7XG4gIG1hcmdpbjogMTcwcHggMHB4IDBweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gYnV0dG9uLnByZXYucHJldixcbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gYnV0dG9uLm5leHQucHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIG1hcmdpbi1yaWdodDogMTdweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gYnV0dG9uLnByZXYubmV4dCxcbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5zdHVkaW8gYnV0dG9uLm5leHQubmV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAxN3B4O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLnN0dWRpbyA+ICoge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3Qge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwcHggMCA0MDBweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZpZWxkc2V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSAuc2VydmVyLWVycm9ycy1jb250YWluZXIge1xuICBtYXJnaW46IDAgMjBweCAzMHB4O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSAuc2VydmVyLWVycm9ycy1jb250YWluZXIgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbjogMDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZvcm0gLmZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY29udGFjdCBmb3JtIGlucHV0IHtcbiAgd2lkdGg6IDM0N3B4O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiA0NDdweDtcbiAgaGVpZ2h0OiAxMjlweDtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZvcm0gYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXI6IDZweCBzb2xpZCAjMDAwO1xuICBjb2xvcjogIzBhMGYxNDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDVweCA1cHggM3B4IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZvcm0gYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZvcm0gYnV0dG9uOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY29udGFjdCBmb3JtIGJ1dHRvbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNzc3MzY3O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSBidXR0b246LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG4jYWJvdXQgc2VjdGlvbi5tYWluIHNlY3Rpb24uY29udGFjdCBmb3JtIGJ1dHRvbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNzc3MzY3O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSBidXR0b246LW1vei1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNzc3MzY3O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSBidXR0b246Oi1tb3otcGxhY2Vob2xkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzc3NzM2Nztcbn1cbiNhYm91dCBzZWN0aW9uLm1haW4gc2VjdGlvbi5jb250YWN0IGZvcm0gYnV0dG9uOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNzc3MzY3O1xufVxuI2Fib3V0IHNlY3Rpb24ubWFpbiBzZWN0aW9uLmNvbnRhY3QgZm9ybSBidXR0b246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvYXJyb3cucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gIG1hcmdpbi10b3A6IC00cHg7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG59XG4vKiBnYW1lLWFib3V0ICovXG4vKioqKioqKioqKioqKioqKioqKioqXG4qICBjb21tb24gc3R5bGVcbioqKioqKioqKioqKioqKioqKioqKiovXG4jYWNjb3VudCB7XG4gIHBhZGRpbmctYm90dG9tOiA3NjVweDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiB7XG4gIC8qKioqKioqKioqKioqKioqKipcbiAgICAqICBoZWFkZXJcbiAgICAqKioqKioqKioqKioqKioqKioqL1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluID4gaGVhZGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgcGFkZGluZzogNTBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gPiBoZWFkZXIgaDEge1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIG1hcmdpbjogMDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiA+IGhlYWRlciBwIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBtYXJnaW46IDA7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWM1MGE7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSBoMixcbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIHAge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgMTAwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDEwMCU7XG4gICAgICAgICAgZmxleDogMSAxMDAlO1xuICBtYXJnaW46IDAgMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGgyIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5jb250ZW50IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5maWVsZCxcbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5hY3Rpb25zLFxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gZmllbGRzZXQge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgYXV0bztcbiAgICAgIC1tcy1mbGV4OiAxIGF1dG87XG4gICAgICAgICAgZmxleDogMSBhdXRvO1xuICBtYXJnaW46IDAgMjBweDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5maWVsZCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgY29sb3I6ICMwYTBmMTQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiA1cHggNXB4IDNweCAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGJ1dHRvbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNzc3MzY3O1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gYnV0dG9uOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSBidXR0b246LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSBidXR0b246Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzc3NzM2Nztcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGJ1dHRvbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM3NzczNjc7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSBidXR0b246Oi1tb3otcGxhY2Vob2xkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzc3NzM2Nztcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGJ1dHRvbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzc3NzM2Nztcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9hcnJvdy5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICByb3RhdGUoMGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAgcm90YXRlKDBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSAub3RoZXIsXG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSAuc2VydmVyLWVycm9ycy1jb250YWluZXIge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgMTAwJTtcbiAgICAgIC1tcy1mbGV4OiAxIDEwMCU7XG4gICAgICAgICAgZmxleDogMSAxMDAlO1xufVxuI2FjY291bnQgc2VjdGlvbi5tYWluIGZvcm0gLm90aGVyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5vdGhlciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSAuc2VydmVyLWVycm9ycy1jb250YWluZXIsXG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSAuY29uZmlybWF0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIC5zZXJ2ZXItZXJyb3JzLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAyMHB4IDMwcHg7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSAuc2VydmVyLWVycm9ycy1jb250YWluZXIgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbjogMDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMjtcbiAgLXdlYmtpdC1mbGV4OiAyIDMzJTtcbiAgICAgIC1tcy1mbGV4OiAyIDMzJTtcbiAgICAgICAgICBmbGV4OiAyIDMzJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNhY2NvdW50IHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IC5maWVsZCB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICAgIC1tcy1mbGV4OiBub25lO1xuICAgICAgICAgIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7XG59XG4jYWNjb3VudCBzZWN0aW9uLm1haW4gZm9ybSBmaWVsZHNldCAuZmllbGQubmV3c2xldHRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbn1cbi8qIGFjY291bnQgY29tbW9uICovXG4jYWNjb3VudC5zaWdudXAgc2VjdGlvbi5tYWluIGZvcm0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2FjY291bnQuc2lnbnVwIHNlY3Rpb24ubWFpbiBmb3JtIC5hY3Rpb25zIGEge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI2FjY291bnQuc2lnbnVwIHNlY3Rpb24ubWFpbiBmb3JtIC5maWVsZC5uZXdzbGV0dGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuLyogc2lnbnVwICovXG4jYWNjb3VudC5zaWduaW4gc2VjdGlvbi5tYWluIGZvcm0gLmZpZWxkLXJlbWVtYmVyIHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuI2FjY291bnQuc2lnbmluIHNlY3Rpb24ubWFpbiBmb3JtIC5maWVsZC1yZW1lbWJlciAubGFiZWwtcmVtZW1iZXI6OmJlZm9yZSB7XG4gIHdpZHRoOiA0MXB4O1xuICBoZWlnaHQ6IDQxcHg7XG59XG4vKiBzaWduaW4gKi9cbiNhY2NvdW50LnByb2ZpbGUgc2VjdGlvbi5tYWluIGZvcm0gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhY2NvdW50LnByb2ZpbGUgc2VjdGlvbi5tYWluIGZvcm0gZmllbGRzZXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyMHB4IDBweCA2MHB4O1xufVxuI2FjY291bnQucHJvZmlsZSBzZWN0aW9uLm1haW4gZm9ybSBmaWVsZHNldCAuZmllbGQgZGl2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jYWNjb3VudC5wcm9maWxlIHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IC5maWVsZCAuZXhwbGljYXRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XG59XG4jYWNjb3VudC5wcm9maWxlIHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IC5maWVsZC5hdmF0YXIge1xuICB3aWR0aDogY2FsYygzMCUgLSA0MHB4KTtcbn1cbiNhY2NvdW50LnByb2ZpbGUgc2VjdGlvbi5tYWluIGZvcm0gZmllbGRzZXQgLmZpZWxkLmF2YXRhciBkaXYge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jYWNjb3VudC5wcm9maWxlIHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IC5maWVsZC5hdmF0YXIgZGl2IGJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4jYWNjb3VudC5wcm9maWxlIHNlY3Rpb24ubWFpbiBmb3JtIGZpZWxkc2V0IC5maWVsZC5hdmF0YXIgaW1nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3V0bGluZS1zdHlsZTogbm9uZTtcbn1cbiNhY2NvdW50LnByb2ZpbGUgc2VjdGlvbi5tYWluIGZvcm0gZmllbGRzZXQgLmZpZWxkLmJlc2lkZS1hdmF0YXIge1xuICB3aWR0aDogY2FsYyg3MCUgLSA0MHB4KTtcbn1cbiNhY2NvdW50LnByb2ZpbGUgc2VjdGlvbi5tYWluIGZvcm0gZmllbGRzZXQgLmZpZWxkLm5ld3NsZXR0ZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4vKiBwcm9maWxlICovXG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgbGkuZ2FtZSBhIHtcbiAgY29sb3I6ICMwMDA7XG59XG4jZ2FtZSBoZWFkZXIubWFpbiBuYXYgbGkuZ2FtZSB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUgaGVhZGVyLm1haW4gbmF2ID4gdWwgPiBsaS5nYW1lID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lIGhlYWRlci5tYWluOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2dhbWUud29ybGQgbmF2IGEuZ2FtZV93b3JsZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnYW1lLmFib3V0IG5hdiBhLmdhbWVfYWJvdXQ6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2FtZS5zdGF0dXMgbmF2IGEuZ2FtZV9zdGF0dXM6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYnV5IHtcbiAgcGFkZGluZy1ib3R0b206IDM2NXB4O1xufVxuI2J1eSBzZWN0aW9uLm1haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiA3MDBweDtcbn1cbiNidXkgc2VjdGlvbi5tYWluIHNlY3Rpb24uc3RlYW0ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICB3aWR0aDogNjQ2cHg7XG4gIG1hcmdpbjogMTAwcHggYXV0byAyMHB4O1xufVxuI2J1eSBzZWN0aW9uLm1haW4gc2VjdGlvbi5odW1ibGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICB3aWR0aDogNTUwcHg7XG59XG4vKipcbiAqIFBSRVNTIEtJVFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3ByZXNzIHtcbiAgcGFkZGluZy1ib3R0b206IDcyNXB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3Mge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDYwcHggMTBweCAwIDEwcHg7XG4gIC8qKlxuICAgICAqICBNRURJQVNcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qKlxuICAgICAqICBQUk9KRUNUIElORk9cbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qKlxuICAgICAqICBTVFVESU8gSU5GT1xuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIGgxLFxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgaDIsXG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyBoMyB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIGgyIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyA+IHNlY3Rpb24sXG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gPiBzZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcm9qZWN0LWluZm8gPiBzZWN0aW9uID4gc2VjdGlvbixcbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5zdHVkaW8taW5mbyA+IHNlY3Rpb24gPiBzZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYXMtaW1hZ2VzLFxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByZXNzLW1lZGlhcy12aWRlb3Mge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJlc3MtbWVkaWEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1pbi13aWR0aDogMjUwcHg7XG4gIG1pbi1oZWlnaHQ6IDE4MHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByZXNzLW1lZGlhIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogNnB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJlc3MtbWVkaWEgYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJlc3MtbWVkaWEgYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogNTYuMjVweDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9wbGF5LnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDIwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJlc3MtbWVkaWEgYnV0dG9uLnZpZGVvOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJlc3MtbWVkaWEgYnV0dG9uIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByZXNzLW1lZGlhIC50aXRsZSxcbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYSAuc3VidGl0bGUge1xuICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYSAudGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS12aWRlbyB7XG4gIG1pbi13aWR0aDogNTYwcHg7XG4gIG1pbi1oZWlnaHQ6IDMxNXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS12aWRlbzpudGgtY2hpbGQoMm4rMSkge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS12aWRlbyBidXR0b24ge1xuICBtaW4taGVpZ2h0OiAzMTVweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS12aWRlby5wcmVzcy1tZWRpYS12aWRlby1sYXJnZSB7XG4gIG1pbi13aWR0aDogMTE0MHB4O1xuICBtaW4taGVpZ2h0OiA2NDFweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS12aWRlby5wcmVzcy1tZWRpYS12aWRlby1sYXJnZSBidXR0b24ge1xuICBtaW4taGVpZ2h0OiA2NDFweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS1pbWFnZSB7XG4gIG1pbi13aWR0aDogMjUwcHg7XG4gIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICBtYXJnaW4tbGVmdDogNDZweDtcbiAgbWFyZ2luLWJvdHRvbTogNDZweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS1pbWFnZTpudGgtY2hpbGQoNG4rMSkge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcmVzcy1tZWRpYS5wcmVzcy1tZWRpYS1pbWFnZSBidXR0b24ge1xuICBtaW4taGVpZ2h0OiAxODBweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcm9qZWN0LWluZm8gLnByb2plY3QtbG9nb3Mge1xuICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcm9qZWN0LWluZm8gLnByb2plY3QtbG9nb3MgLnN0dWRpby1sb2dvLFxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1sb2dvcyAuZ2FtZS1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogNTAlO1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1sb2dvcyAuc3R1ZGlvLWxvZ28ge1xuICB3aWR0aDogMjkxcHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJvamVjdC1pbmZvIC5wcm9qZWN0LWxvZ29zIC5nYW1lLWxvZ28ge1xuICB3aWR0aDogMzA1cHg7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1mYWN0LXNoZWV0IHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1mYWN0LXNoZWV0IC5mYWN0LXRpdGxlLFxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1mYWN0LXNoZWV0IC5mYWN0LWNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcm9qZWN0LWluZm8gLnByb2plY3QtZmFjdC1zaGVldCAuZmFjdC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtaW4td2lkdGg6IDE1MHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnByb2plY3QtaW5mbyAucHJvamVjdC1kZXNjcmlwdGlvbiBwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJvamVjdC1pbmZvIC5wcm9qZWN0LWRlc2NyaXB0aW9uIHAuZXhjZXJwdCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5wcm9qZWN0LWluZm8gLnByb2plY3QtYWRkaXRpb25hbC1saW5rcyB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAucHJvamVjdC1pbmZvIC5wcm9qZWN0LWFkZGl0aW9uYWwtbGlua3MgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gLnN0dWRpby1tZWRpYXMgLnByZXNzLW1lZGlhcy12aWRlb3Mge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnN0dWRpby1pbmZvIC5zdHVkaW8tcGVvcGxlIC5zdHVkaW8tdGVhbSxcbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5zdHVkaW8taW5mbyAuc3R1ZGlvLXBlb3BsZSAuc3R1ZGlvLWNvbnRhY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiA1MCU7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gLnN0dWRpby1wZW9wbGUgLnN0dWRpby10ZWFtIHVsLFxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnN0dWRpby1pbmZvIC5zdHVkaW8tcGVvcGxlIC5zdHVkaW8tY29udGFjdCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnN0dWRpby1pbmZvIC5zdHVkaW8tcGVvcGxlIC5zdHVkaW8tdGVhbSB1bCBsaSxcbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5zdHVkaW8taW5mbyAuc3R1ZGlvLXBlb3BsZSAuc3R1ZGlvLWNvbnRhY3QgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnN0dWRpby1pbmZvIC5zdHVkaW8tcGVvcGxlIC5zdHVkaW8tdGVhbSAucGVyc29uLW5hbWUsXG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gLnN0dWRpby1wZW9wbGUgLnN0dWRpby10ZWFtIC5wZXJzb24tcm9sZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI3ByZXNzIHNlY3Rpb24ucHJlc3MgLnN0dWRpby1pbmZvIC5zdHVkaW8tcGVvcGxlIC5zdHVkaW8tdGVhbSAucGVyc29uLW5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gLnN0dWRpby1wZW9wbGUgLnN0dWRpby1jb250YWN0IC5jb250YWN0LXR5cGUsXG4jcHJlc3Mgc2VjdGlvbi5wcmVzcyAuc3R1ZGlvLWluZm8gLnN0dWRpby1wZW9wbGUgLnN0dWRpby1jb250YWN0IC5jb250YWN0LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNwcmVzcyBzZWN0aW9uLnByZXNzIC5zdHVkaW8taW5mbyAuc3R1ZGlvLXBlb3BsZSAuc3R1ZGlvLWNvbnRhY3QgLmNvbnRhY3QtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cbkBrZXlmcmFtZXMgYW5pbWF0ZWRCYWNrZ3JvdW5kIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwJTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbGxpbmcge1xuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwMHB4O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhbGxpbmcge1xuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwMHB4O1xuICB9XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIHtcbiAgaGVpZ2h0OiA2MDAwcHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5iYWNrZ3JvdW5kcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNlcnJvci5mb3VyLW9oLWZvdXIgLnMxX2Zhcl9jbG91ZHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTUwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczFfZmFyX2Nsb3VkczIucG5nJykgbm8tcmVwZWF0IGNlbnRlciAwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlZEJhY2tncm91bmQgMTIwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDEyMDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWluLWhlaWdodDogNjA1cHg7XG4gIG1pbi13aWR0aDogMjM4NXB4O1xuICBtYXJnaW4tbGVmdDogLTExOTIuNXB4O1xufVxuI2Vycm9yLmZvdXItb2gtZm91ciAuczFfY2xvc2VfY2xvdWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTMwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczFfY2xvc2VfY2xvdWQucG5nJykgcmVwZWF0LXggY2VudGVyIDBweDtcbiAgbWluLWhlaWdodDogMTk3MHB4O1xuICBtaW4td2lkdGg6IDQ2NTBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMzI1cHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5zM19mYXJfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0NzhweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNTA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9zM19mYXJfY2xvdWRzLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICBtaW4td2lkdGg6IDMyOThweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xNjQ5cHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5zM19mYXJfaXNsYW5kcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC00MDtcbiAgYmFja2dyb3VuZDogdXJsKCcvY2FzdGxlc3Rvcnkvc3RhdGljL2ltYWdlcy9nYW1lL2Fib3V0L3MzX2Zhcl9pc2xhbmRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiA5MDBweDtcbn1cbiNlcnJvci5mb3VyLW9oLWZvdXIgLnMzX2Nsb3NlX2Nsb3VkcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDc4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTMwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzL2dhbWUvYWJvdXQvczNfY2xvc2VfY2xvdWRzLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICBtaW4td2lkdGg6IDMyOThweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xNjQ5cHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5zNV9mYXJfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI2MDBweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNTA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZ2FtZS9hYm91dC9zNV9mYXJfY2xvdWRzLnBuZycpIHJlcGVhdC14IGNlbnRlciAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICBtaW4td2lkdGg6IDI1NjBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVkQmFja2dyb3VuZCA4MDBzIGxpbmVhciBpbmZpbml0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xMjgwcHg7XG59XG4jZXJyb3IuZm91ci1vaC1mb3VyIC5zN19mYXJfY2xvdWRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwMDBweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtNTA7XG4gIGJhY2tncm91bmQ6IHVybCgnL2Nhc3RsZXN0b3J5L3N0YXRpYy9pbWFnZXMvZm9vdGVyL2Nsb3Vkcy5wbmcnKSByZXBlYXQteCBjZW50ZXIgMHB4O1xuICBtaW4taGVpZ2h0OiAxMjU2cHg7XG4gIG1pbi13aWR0aDogMjgwMHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZWRCYWNrZ3JvdW5kIDgwMHMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tbGVmdDogLTE0MDBweDtcbn1cbiNlcnJvci5mb3VyLW9oLWZvdXIgLmZhbGxpbmctYnJpY2t0cm9uIHtcbiAgd2lkdGg6IDUwMHB4O1xuICBoZWlnaHQ6IDQxM3B4O1xuICBtYXJnaW4tbGVmdDogLTI1MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jYXN0bGVzdG9yeS9zdGF0aWMvaW1hZ2VzLzQwNC80MDRfU3ByaXRlLnBuZycpO1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFsbGluZyA0MDBtcyBzdGVwcyg0KSBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IGZhbGxpbmcgNDAwbXMgc3RlcHMoNCkgaW5maW5pdGU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAzNSU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMG1zO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7XG59XG5cblxuXG4vKiogV0VCUEFDSyBGT09URVIgKipcbiAqKiB3ZWJwYWNrOi8vL3NyYy9jc3MvYXBwLmxlc3NcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9*/