/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */



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/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 when focused and also mouse hovered in all browsers.
 */

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

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

/**
 * Address styling not present in IE 8/9/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"],
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
 *    (include `-moz` to future-proof).
 */

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

/**
 * Remove inner padding and search cancel button in Safari 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;
}

/**
 *
 * FRNT Reset
 * Normalize v3.0.2 + Custom 
 */

* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

.ir {
  display: block;
  text-indent: -999em;
  overflow: hidden;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.group:before,
.group:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}

.group:after {
  clear: both;
}

.group {
  zoom: 1;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

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

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

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

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

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

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

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

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

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

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

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

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

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

*,
:before,
*:after {
  box-sizing: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  line-height: 1.4;
}

figure {
  margin: 0;
}

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

mark {
  background: none;
  color: inherit;
}

.grid-1 {
  width: 6%;
}

.grid-1-offset-1 {
  width: 8%;
}

.grid-1-offset-2 {
  width: 3%;
}

.grid-2 {
  width: 14%;
}

.grid-2-offset-1 {
  width: 17%;
}

.grid-2-offset-2 {
  width: 11%;
}

.grid-3 {
  width: 23%;
}

.grid-3-offset-1 {
  width: 25%;
}

.grid-3-offset-2 {
  width: 20%;
}

.grid-4 {
  width: 31%;
}

.grid-4-offset-1 {
  width: 34%;
}

.grid-4-offset-2 {
  width: 28%;
}

.grid-5 {
  width: 40%;
}

.grid-5-offset-1 {
  width: 42%;
}

.grid-5-offset-2 {
  width: 37%;
}

.grid-6 {
  width: 48%;
}

.grid-6-offset-1 {
  width: 51%;
}

.grid-6-offset-2 {
  width: 45%;
}

.grid-7 {
  width: 57%;
}

.grid-7-offset-1 {
  width: 59%;
}

.grid-7-offset-2 {
  width: 54%;
}

.grid-8 {
  width: 65%;
}

.grid-8-offset-1 {
  width: 68%;
}

.grid-8-offset-2 {
  width: 62%;
}

.grid-9 {
  width: 74%;
}

.grid-9-offset-1 {
  width: 76%;
}

.grid-9-offset-2 {
  width: 71%;
}

.grid-10 {
  width: 82%;
}

.grid-10-offset-1 {
  width: 85%;
}

.grid-10-offset-2 {
  width: 79%;
}

.grid-11 {
  width: 91%;
}

.grid-11-offset-1 {
  width: 93%;
}

.grid-11-offset-2 {
  width: 88%;
}

.grid-12 {
  width: 100%;
}

.grid-12-offset-1 {
  width: 102%;
}

.grid-12-offset-2 {
  width: 96%;
}

@media only screen and (min-width: 750px) and (max-width: 1029px) {
  .grid-tablet-1 {
    width: 6%;
  }

  .grid-tablet-2 {
    width: 14%;
  }

  .grid-tablet-3 {
    width: 23%;
  }

  .grid-tablet-4 {
    width: 31%;
  }

  .grid-tablet-5 {
    width: 40%;
  }

  .grid-tablet-6 {
    width: 48%;
  }

  .grid-tablet-7 {
    width: 57%;
  }

  .grid-tablet-8 {
    width: 65%;
  }

  .grid-tablet-9 {
    width: 74%;
  }

  .grid-tablet-10 {
    width: 82%;
  }

  .grid-tablet-11 {
    width: 91%;
  }

  .grid-tablet-12 {
    width: 100%;
  }
}

@media only screen and (max-width: 749px) {
  .grid-mobile-1 {
    width: 6%;
  }

  .grid-mobile-2 {
    width: 14%;
  }

  .grid-mobile-3 {
    width: 23%;
  }

  .grid-mobile-4 {
    width: 31%;
  }

  .grid-mobile-5 {
    width: 40%;
  }

  .grid-mobile-6 {
    width: 48%;
  }

  .grid-mobile-7 {
    width: 57%;
  }

  .grid-mobile-8 {
    width: 65%;
  }

  .grid-mobile-9 {
    width: 74%;
  }

  .grid-mobile-10 {
    width: 82%;
  }

  .grid-mobile-11 {
    width: 91%;
  }

  .grid-mobile-12 {
    width: 100%;
  }
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::selection {
  background: #000;
  color: #fff;
}

a {
  color: inherit;
  text-decoration: none;
}

html {
  font-size: 16px;
}

body {
  background: #fff;
  color: #1f1f1f;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}

mark {
  background: none;
}

:focus {
  outline: none;
}

input::-ms-clear {
  display: none;
}

.container,
.card-article.is-featured .card-article__main-image,
.block-topic__main-image {
  margin: 0 auto;
  position: relative;
  max-width: 1230px;
  width: 90%;
}

.boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.site {
  padding-top: 92px;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .site {
    padding-top: 85px;
  }
}

input[type="text"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

.prop-full-width {
  display: block;
  height: auto;
  width: 100%;
}

.prop-hide-overflow {
  overflow: hidden;
}

.prop-max-width {
  display: block;
  height: auto;
  max-width: 100%;
}

.prop-overlay {
  position: relative;
  z-index: 20;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.prop-image-gradient-darken {
  position: relative;
  z-index: 0;
}

.prop-image-gradient-darken > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.4));
  content: " ";
}

.prop-image-gradient-darken--light {
  position: relative;
}

.prop-image-gradient-darken--light > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken--light:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent -10%, rgba(0, 0, 0, 0.14));
  content: " ";
}

.prop-darken-image {
  position: relative;
}

.prop-darken-image:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  content: " ";
}

.fade-in-transition {
  opacity: 1;
  transition: all .4s;
  transform: translateY(0);
  visibility: visible;
}

.fade-in-enter,
.fade-in-leave {
  opacity: 0;
  transform: translateY(50px);
  visibility: hidden;
}

.component-button {
  background: none;
  border: 2px solid #9FA5A9;
  border-radius: 30px;
  color: #9FA5A9;
  display: inline-block;
  font-weight: 600;
  transition: all .4s;
}

.component-button:hover {
  background: #9FA5A9;
  color: #fff;
}

.component-button.is-file {
  position: relative;
}

.component-button.is-file input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.component-button-menu,
.block-search__close {
  border-color: #9FA5A9;
  display: block;
  width: 36px;
}

.component-button-menu .lines .line,
.block-search__close .lines .line {
  background: #9FA5A9;
  height: 2px;
  transition: background .4s;
  position: relative;
}

.component-button-menu .lines .line-2,
.block-search__close .lines .line-2 {
  margin: 8px 0;
}

.component-button-menu:hover,
.block-search__close:hover {
  border-color: #000;
  outline: none;
}

.component-button-menu:hover .line,
.block-search__close:hover .line {
  background: #000;
}

.component-button-blocky {
  background: #9FA5A9;
  display: inline-block;
  font-size: 0.625rem;
  letter-spacing: .02em;
  padding: 7.5px 15px;
  text-transform: uppercase;
}

.component-button-close {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 36px;
  width: 36px;
  border-color: #9FA5A9;
}

.component-button-close .lines {
  width: 50%;
}

.component-button-close .lines .line {
  background: #9FA5A9;
  height: 2px;
  margin: 4px 0;
  position: relative;
}

.component-button-close .lines .line-1 {
  top: 6px;
  transform: rotate(45deg);
}

.component-button-close .lines .line-2 {
  opacity: 0;
}

.component-button-close .lines .line-3 {
  top: -6px;
  transform: rotate(-45deg);
}

.component-button-search {
  border-color: #9FA5A9;
}

.component-button-search svg {
  display: block;
  height: 20px;
  fill: #1f1f1f;
  width: 20px;
}

.component-button-search:focus,
.component-button-search:hover {
  border-color: #000;
  outline: none;
}

.component-button-search:focus svg,
.component-button-search:hover svg {
  fill: #000;
}

.component-button-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 32px;
  width: 32px;
  border-color: #fff;
  transition: all .4s;
}

@media only screen and (max-width: 769px) {
  .component-button-social {
    height: 58px;
    width: 58px;
  }
}

@media only screen and (max-width: 749px) {
  .component-button-social {
    height: 40px;
    width: 40px;
  }
}

.component-button-social svg {
  position: relative;
  z-index: 10;
  display: block;
  fill: #fff;
  height: auto;
  transition: all .4s;
}

.component-button-social.is-facebook svg {
  height: 10px;
  width: 6px;
  top: 0px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-facebook svg {
    height: auto;
    width: 9px;
  }
}

.component-button-social.is-twitter svg {
  height: 8px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-twitter svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-google svg {
  height: 10px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-google svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-linkedin svg {
  height: auto;
  width: 8px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-linkedin svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-instagram svg {
  height: 12px;
  width: 12px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-instagram svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-rss svg {
  display: block;
  height: 8px;
  width: 7px;
  position: relative;
}

.component-button-pager {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 35px;
  width: 35px;
  background: #fff;
  border-color: #9FA5A9;
  border-width: 2px;
  margin: 0 7.5px 0 0;
  transition: background .4s;
  overflow: hidden;
}

.component-button-pager svg {
  display: block;
  fill: #9FA5A9;
  position: relative;
  width: 8px;
}

.component-button-pager.is-left svg {
  right: 1px;
}

.component-button-pager.is-left:hover svg {
  animation: pager .5s reverse;
}

.component-button-pager.is-right svg {
  left: 1px;
}

.component-button-pager.is-right:hover svg {
  animation: pager .5s;
}

.component-button-pager.is-inactive {
  opacity: .1;
}

.component-button-more {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  line-height: 0;
  margin-bottom: 30px;
}

.component-button-more svg {
  display: block;
  fill: #DD2222;
  height: 30px;
  margin-left: 15px;
  transform: rotate(90deg);
  width: 30px;
}

.component-button-more > span {
  color: #DD2222;
  display: block;
  font-size: 30px;
}

.component-button-more.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-button-newsletter {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.component-button-newsletter svg {
  display: block;
  height: auto;
  margin-right: 5px;
  width: 21px;
  fill: #1f1f1f;
}

@media only screen and (max-width: 1199px) {
  .component-button-newsletter svg {
    margin-right: 0;
  }
}

.component-button-newsletter-inline {
  border: 2px solid;
  border-width: 2px 0;
  -o-border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
     border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  border-image-slice: 1;
  margin: 30px 0;
}

@media only screen and (min-width: 750px) {
  .component-button-newsletter-inline {
    display: none;
  }
}

.component-button-newsletter-inline a {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  padding: 15px 0;
  text-align: left;
}

.component-button-recommended-inline {
  border: 2px solid #2c383c;
  border-width: 2px 0;
  border-image-slice: 1;
  margin: 30px 0;
}

.component-button-recommended-inline a {
  color: #1f1f1f;
  display: block;
  font-size: 24px;
  font-weight: 600;
  padding: 30px 0;
  text-align: center;
}

@keyframes pager {
  0% {
    transform: translateX(0);
  }

  49% {
    transform: translateX(250%);
  }

  50% {
    transform: translateX(-250%);
  }

  0% {
    transform: translateX(0);
  }
}

.component-gradient-button {
  background-image: linear-gradient(to right, #d22, #2b388f) !important;
  color: #fff !important;
  display: block;
  padding: 14px;
  font-size: 16px;
  margin: 30px auto 0;
  max-width: 250px;
  text-align: center;
  width: 100%;
}

.component-heading {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .component-heading {
    font-size: 24px;
  }
}

.component-heading svg {
  fill: #1f1f1f;
  display: inline-block;
  height: 30px;
  width: 30px;
  margin-left: 7.5px;
  margin-top: 2px;
}

@media only screen and (max-width: 769px) {
  .component-heading svg {
    height: 22px;
    width: 22px;
  }
}

.component-heading.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-heading.show-mobile {
  display: none;
}

@media only screen and (max-width: 769px) {
  .component-heading.show-mobile {
    display: block;
  }
}

.is-dark .component-heading {
  color: #fff;
}

.component-gallery {
  position: relative;
  z-index: 10;
  background: #f5f5f5;
}

@media only screen and (max-width: 1029px) {
  .component-gallery {
    background: #fff;
  }
}

.component-gallery .wp-caption {
  height: 100%;
}

.component-gallery .wp-caption-text {
  transform: translateY(0) !important;
}

@media only screen and (min-width: 1030px) {
  .component-gallery .wp-caption-text {
    padding-bottom: 0 !important;
  }
}

.component-gallery .wp-caption-text p {
  font-size: 0.875rem !important;
  transition: height .4s;
  overflow: hidden;
  height: 0;
}

@media only screen and (max-width: 1029px) {
  .component-gallery .wp-caption-text p {
    height: auto;
  }
}

.component-gallery .slick-dots {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  list-style: none;
  margin: 0 0 5px 0;
}

.component-gallery .slick-dots li {
  margin: 0 4px !important;
}

.component-gallery .slick-dots li.slick-active button {
  background: none;
}

.component-gallery .slick-dots button {
  background: #1f1f1f;
  border: 1px solid #1f1f1f;
  border-radius: 100%;
  height: 10px;
  margin: 0;
  padding: 0;
  text-indent: -999999px;
  width: 10px;
}

.component-gallery .component-button-pager {
  background: none;
  border-color: #fff;
}

.component-gallery .component-button-pager svg {
  fill: #fff;
}

.component-gallery .component-button-pager:hover {
  background: rgba(0, 0, 0, 0.8);
}

.component-gallery .component-gallery__numbers {
  position: relative;
  z-index: 10;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  margin: 0 0 0 7px;
  padding: 1px 0 0 40px;
}

.component-gallery .component-gallery__numbers > .line {
  background: #000;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 25px;
}

@media only screen and (min-width: 1030px) {
  .component-gallery:hover .wp-caption-text p {
    height: 75px;
  }
}

.component-gallery.is-ebook .component-gallery__nav {
  padding: 15px;
}

.component-gallery.is-ebook .component-button-pager {
  border-color: #000;
}

.component-gallery.is-ebook .component-button-pager svg {
  fill: #000;
}

.component-gallery.is-ebook .component-button-pager:hover {
  background: rgba(255, 255, 255, 0.8);
}

.component-gallery__nav {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 50;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1029px) {
  .component-gallery__nav {
    display: none;
  }
}

.component-gallery__nav a {
  background-image: none !important;
  text-shadow: none !important;
}

.view-single-post .content .component-gallery .wp-caption {
  margin: 0;
}

.component-magazine-rack {
  background-color: #f5f5f5;
  margin-bottom: 60px;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    border-top: 4px solid #2c383c;
  }
}

.component-magazine-rack .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.component-magazine-rack .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-magazine-rack .boxing figure {
  margin-top: 25px;
}

.component-magazine-rack .component-heading {
  text-transform: capitalize;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    padding: 30px 0 0;
  }

  .component-magazine-rack > .container,
  .card-article.is-featured .component-magazine-rack > .card-article__main-image,
  .component-magazine-rack > .block-topic__main-image {
    width: 100%;
  }

  .component-magazine-rack .component-heading {
    padding: 0 30px;
  }
}

.component-magazine-rack.is-last {
  margin-bottom: 0;
}

.component-menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li {
  margin: 0 15px;
  position: relative;
}

.component-menu > li .action-toggle-submenu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li .action-toggle-submenu .icon-chevron-down {
  background-image: url(../fonts/chevron-down.svg?e62234319323c0c1adbcfb907c6f0636);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.tag .component-menu .is-active a:not(.action-toggle-submenu),
.category .component-menu .is-active a:not(.action-toggle-submenu) {
  border-bottom: 2px solid red;
  padding-bottom: 2px;
}

.component-newsletter-policy {
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

.component-newsletter-policy a {
  border-bottom: 1px solid #fff;
}

.component-newsletter-policy a:hover {
  color: #fff;
}

.block-newsletter-overlay .component-newsletter-policy,
.block-newsletter-sidebar .component-newsletter-policy {
  color: #000;
}

.block-newsletter-overlay .component-newsletter-policy a,
.block-newsletter-sidebar .component-newsletter-policy a {
  border-bottom: 1px solid #000;
}

.block-newsletter-overlay .component-newsletter-policy a:hover,
.block-newsletter-sidebar .component-newsletter-policy a:hover {
  color: #000;
}

.component-recommended-inline {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 18.75px;
  padding: 37.5px 0;
}

@media only screen and (min-width: 770px) {
  .component-recommended-inline {
    text-align: center;
  }
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline {
    font-size: 18px;
    padding: 18.75px 0;
  }
}

.component-recommended-inline a {
  color: #DD2222;
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline span {
    text-transform: uppercase;
  }
}

.component-share a {
  display: block;
}

.component-share a:not(:last-child) {
  margin-bottom: 11.25px;
}

@media only screen and (min-width: 770px) {
  .component-share a.show-mobile {
    display: none;
  }
}

.component-share svg {
  fill: #000;
  height: 30px;
  width: 30px;
}

.is-dark .component-share svg {
  fill: #fff;
}

body[data-blogid="8"] .component-share__facebook,
body[data-blogid="8"] .component-share__google,
body[data-blogid="8"] .component-share__twitter {
  display: none;
}

.component-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-social a:not(:last-child) {
  margin-right: 10px;
}

@media only screen and (min-width: 830px) {
  .component-social a:not(:last-child) {
    margin-right: 18.75px;
  }
}

.component-social svg {
  display: block;
  height: auto;
  fill: #000;
  height: 30px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .component-sticky {
    position: fixed;
    z-index: 1;
  }
}

.component-submenu {
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  left: 0;
  top: 92px;
  background-color: white;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 45px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  border-top: 1px solid transparent;
  height: 0px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: all .3s;
}

.component-submenu > li {
  margin: 0 15px;
}

.is-dark .component-submenu {
  background: #2c383c;
}

.is-dark .component-submenu a {
  color: #fff;
}

.component-switcher {
  position: relative;
  z-index: 90;
  background: rgba(255, 255, 255, 0.7);
  color: #1f1f1f;
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: fixed;
  text-transform: none;
  top: 0;
  transition: all .3s;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .component-switcher {
    background-color: transparent;
  }
}

.component-switcher__current {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-switcher__current .icon-chevron-down {
  background-image: url(../fonts/chevron-down-white.svg?2645aade5a27736a7c7cff6f601e7e80);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.component-switcher__links {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #fff;
  bottom: 175px;
  left: 50%;
  letter-spacing: 0;
  padding: 25px;
  position: absolute;
  text-align: left;
  width: 370px;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

.component-switcher__links a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 18px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  margin: 0 0 11.25px 0;
  padding: 0 0 11.25px 0;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

.component-switcher__links h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

.component-switcher__links h4 {
  color: #555;
  font-size: 15px;
  margin-bottom: 37.5px;
}

.component-switcher__links .icon-check {
  background-image: url(../fonts/icon-check_black.svg?e9fa6e92ba956c6d7933afa889803055);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 18px;
  margin-left: 5px;
  opacity: 0;
  transition: .3s;
  width: 18px;
}

.component-switcher__link.is-current .icon-check {
  opacity: 1;
}

.component-switcher__link:not(.is-current):hover .icon-check {
  opacity: .2;
}

.card-ad-inline {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-bottom: 18.75px;
  background-image: none !important;
  text-shadow: none !important;
}

@media screen and (min-width: 601px) {
  .card-ad-inline > .col-1 {
    margin-right: 18.75px;
    max-width: 235px;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline > .col-1 {
    margin-bottom: 11.25px;
    width: 100%;
  }
}

.card-ad-inline > .col-2 {
  -ms-flex: 1;
      flex: 1;
}

.is-dark .card-ad-inline .card-ad-inline__action {
  border-color: #fff;
  color: #fff;
}

.card-ad-inline__image {
  display: block;
  height: auto;
  width: 100%;
  width: 100%;
}

@media screen and (min-width: 601px) {
  .card-ad-inline__image {
    border-right: 4px solid #000;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline__image {
    border-bottom: 4px solid #000;
  }
}

.card-ad-inline__content {
  font-size: 22px;
}

@media only screen and (min-width: 770px) {
  .card-ad-inline__content {
    margin-bottom: 18.75px;
  }
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__content {
    display: inline;
    font-size: 18px;
  }
}

.card-ad-inline__action {
  border-radius: 0;
  border-width: 1px;
  border-color: #000;
  color: #000;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

.card-ad-inline__action:hover {
  background: #000;
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__action {
    display: inline-block;
    color: #DD2222;
    border: none;
    font-size: 18px;
    font-weight: 400;
    text-transform: capitalize;
    padding: 0;
  }
}

@media only screen and (min-width: 770px) and (max-width: 1029px) {
  .card-ad-inline .col-1 {
    margin-right: 0;
  }

  .card-ad-inline .col-1 img {
    max-width: 125px;
  }

  .card-ad-inline .col-2 {
    padding-left: 18.75px;
  }

  .card-ad-inline__content {
    font-size: 16px;
    margin-bottom: 9.375px;
  }
}

.card-ad-sidebar {
  display: block;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar {
    margin-top: 7.5px;
    padding-left: 5%;
  }
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar {
    margin-bottom: 22.5px;
  }
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar .col-2 {
    padding: 0 18.75px;
  }
}

.card-ad-sidebar__image {
  display: block;
  height: auto;
  width: 100%;
  border-bottom: 4px solid #000;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar__content {
    margin-bottom: 18.75px;
  }
}

.card-ad-sidebar__action {
  border-radius: 0;
  border-width: 1px;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar__action {
    color: #DD2222;
    border: none;
    text-transform: capitalize;
    padding: 0;
  }
}

.card-article {
  position: relative;
}

.card-article.is-list figure {
  width: 33%;
}

.card-article.is-list .card-article__header {
  padding-left: 30px;
  width: 66%;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__header {
    padding: 0;
    width: 100%;
  }
}

.card-article.is-list .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 0 30px 12px 30px;
  }
}

.card-article.is-list .card-article__main-image {
  margin: 0;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__main-image {
    width: 100%;
  }
}

.card-article.is-list .card-article__title {
  font-size: 25px;
  line-height: 1.2em;
}

.card-article.is-list .card-article__author {
  color: #2c383c;
  font-size: 13px;
}

.card-article.is-list .card-article__topic {
  display: none;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 15px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large {
    padding: 0;
  }
}

.card-article.is-large .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .card-article.is-large .boxed {
    background: #fff;
  }
}

.card-article.is-large .card-article__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 40px;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article.is-large .card-article__title {
    font-size: 2rem;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large .card-article__title {
    font-size: 1.375rem;
  }
}

.card-article.is-large .card-article__author {
  font-size: 13px;
}

.card-article.is-large .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__header {
  padding: 0;
}

.card-article.is-small .card-article__main-image {
  margin-bottom: 15px;
}

@media only screen and (min-width: 770px) {
  .card-article.is-small .boxed {
    position: relative;
  }

  .card-article.is-small .card-article__title {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-small .card-article__header {
    position: relative;
    z-index: 10;
    margin: 0;
    max-width: 735px;
    padding-bottom: 30px;
  }

  .card-article.is-small .boxed {
    background: #fff;
  }

  .card-article.is-small .card-article__title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}

.card-article.is-small .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__title {
  cursor: pointer;
}

@media only screen and (min-width: 770px) {
  .card-article.is-featured {
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    padding: 30px 30px 0;
  }

  .card-article.is-featured:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-featured:nth-child(1) {
    border-width: 0;
    padding: 0;
    margin-top: 0;
  }

  .card-article.is-featured:nth-child(1) header {
    padding: 15px 30px 0;
  }

  .card-article.is-featured:nth-child(1) .card-article__title {
    margin-top: 5px;
    line-height: 1.1;
  }
}

.card-article.is-featured .card-article__header {
  background-color: #fff;
  text-align: center;
  width: 100%;
  margin-top: -6px;
  padding-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__header {
    text-align: left;
    padding-bottom: 0;
  }
}

.card-article.is-featured .card-article__title {
  font-size: 40px;
  max-width: 1230px;
  margin: 0 auto;
  padding: 15px 90px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__title {
    margin: 0;
    padding: 0;
  }
}

@media only screen and (max-width: 599px) {
  .card-article.is-featured .card-article__title {
    font-size: 25px;
  }
}

.card-article.is-featured .card-article__author {
  width: 675px;
  display: block;
  margin: 0 auto;
  border-bottom: 1px solid #9FA5A9;
  padding-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__author {
    display: none;
  }
}

.card-article.is-featured .card-article__topic a {
  font-size: 13px;
}

.card-article.is-aside,
.card-article.is-on-the-rack {
  width: 31%;
}

.card-article.is-aside .card-article__header,
.card-article.is-on-the-rack .card-article__header {
  border-radius: 100%;
  -ms-flex: 3;
      flex: 3;
  padding-left: 22.5px;
  width: 100%;
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .card-article__header,
  .card-article.is-on-the-rack .card-article__header {
    padding-left: 0;
  }
}

.card-article.is-aside .card-article__title,
.card-article.is-on-the-rack .card-article__title {
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-aside .card-article__title a,
  .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.3125rem;
  }
}

.card-article.is-aside figure,
.card-article.is-on-the-rack figure {
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  height: 105px;
  overflow: hidden;
  width: 105px;
}

@media only screen and (max-width: 1199px) {
  .card-article.is-aside figure,
  .card-article.is-on-the-rack figure {
    margin: 25px auto 0;
  }
}

.card-article.is-aside img,
.card-article.is-on-the-rack img {
  display: none;
}

@media only screen and (max-width: 829px) {
  .card-article.is-aside,
  .card-article.is-on-the-rack {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding: 30px 30px 0;
    width: 100%;
  }

  .card-article.is-aside:first-child,
  .card-article.is-on-the-rack:first-child {
    margin-top: 0;
  }

  .card-article.is-aside .card-article__main-image,
  .card-article.is-on-the-rack .card-article__main-image {
    height: 80px;
    width: 80px;
  }

  .card-article.is-aside .card-article__main-image img,
  .card-article.is-on-the-rack .card-article__main-image img {
    margin-left: -104%;
    width: 300px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .boxing,
  .card-article.is-on-the-rack .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-top: 30px;
    text-align: center;
  }
}

.card-article__main-image {
  position: relative;
  z-index: 10;
  display: block;
}

.card-article__main-image > a {
  display: block;
  overflow: hidden;
}

.card-article__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.card-article__main-image .autodesk {
  position: relative;
  z-index: 20;
  bottom: 30px;
  right: 30px;
  position: absolute;
}

@media only screen and (max-width: 749px) {
  .card-article__main-image .autodesk {
    display: none;
  }
}

.card-article__main-image .autodesk svg {
  display: block;
  fill: #fff;
  height: auto;
  width: 150px;
}

.card-article__header {
  padding: 15px 0;
}

.card-article__title {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 18px;
  padding: 7.5px 0;
}

.card-article__topic a {
  color: #9FA5A9;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__topic a {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__topic a {
    font-size: 15px;
  }
}

.card-article__author {
  color: #2c383c;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__author {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__author {
    font-size: 15px;
  }
}

.card-article__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article__description {
    display: block;
    margin-top: 15px;
  }
}

/* ================================== 
**** Video Card specific styles *****
===================================== */

.card-article--video {
  background-repeat: no-repeat;
  background-size: cover;
}

.card-article--video .card-article__thumbnail-navitem {
  cursor: pointer;
}

.card-article__main-video {
  background-color: #fff;
  background-image: url(../images/loading_spinner_black.gif?78a89c7221ae5de2c1f4c85809f17b54);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 90px 90px;
}

.card-article__main-video.loading--start iframe {
  opacity: 0;
  transition: opacity 0s;
}

.card-article__main-video.loading--end iframe {
  opacity: 1;
  transition: opacity .9s;
}

.card-article__scrolling-nav {
  max-height: 610px;
}

@media only screen and (min-width: 770px) {
  .card-article__scrolling-nav {
    overflow-y: scroll;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__scrolling-nav {
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    max-height: 200px;
    min-width: 100%;
    overflow-x: auto;
  }
}

.active .card-article__thumbnail-navitem a:after {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #fff;
  content: "Now Playing";
  font-size: 24px;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}

.card-article__thumbnail-navitem a {
  background-color: #000;
  display: block;
  position: relative;
}

.card-article__thumbnail-navitem img.wp-post-image {
  opacity: 1;
  transition: .3s;
  width: 100%;
}

.active .card-article__thumbnail-navitem img.wp-post-image {
  opacity: 0;
}

.card-article__play-btn {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: #fff;
  bottom: 0;
  height: 50px;
  left: 0;
  padding: 14px;
  position: absolute;
  width: 50px;
}

.card-article-feature {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 40px 0 45px;
}

@media only screen and (max-width: 749px) {
  .card-article-feature {
    padding: 0;
  }
}

.card-article-feature > .box-1 {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  width: 65%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 {
    width: 100%;
  }
}

.card-article-feature > .box-1 img {
  height: auto;
  height: auto;
  max-width: 100%;
  margin-top: 7px;
  width: 100%;
}

@media only screen and (max-width: 979px) {
  .card-article-feature > .box-1 img {
    margin-top: 4px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 img {
    margin-top: 0;
  }
}

.card-article-feature > .box-2 {
  width: 31%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-2 {
    padding: 37.5px 37.5px;
    width: 100%;
  }
}

.card-article-feature__topic {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

.card-article-feature__follow {
  margin-top: 75px;
}

.card-article-feature__title {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 36px;
  line-height: 1.2em;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 1399px) {
  .card-article-feature__title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 979px) {
  .card-article-feature__title {
    font-size: 24px;
  }
}

.card-article-feature__subtitle {
  color: #9FA5A9;
  font-size: 13px;
  letter-spacing: 1px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__subtitle {
    font-size: 10px;
  }
}

.card-article-feature__author {
  color: #2c383c;
  font-size: 16px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__author {
    font-size: 12px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article-feature__follow {
    display: none;
  }
}

.card-article-feature__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article-feature__description {
    display: block;
    margin-top: 15px;
  }
}

.card-article-snippet {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.card-article-snippet h2 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

@media only screen and (max-width: 749px) {
  .card-article-snippet {
    width: 100%;
  }
}

@media only screen and (min-width: 770px) and (max-width: 979px) {
  .card-article-snippet {
    width: calc(50% - 10px);
  }
}

.card-article-snippet figure {
  position: relative;
}

.card-article-snippet .component-general-category {
  bottom: 0;
  color: #fff;
  padding: 22.5px 15px;
  position: absolute;
}

.card-article-snippet .component-general-category svg {
  display: block;
  width: 10px;
}

.card-author {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  margin: 0 0 60px 0;
  padding: 60px 75px;
}

@media only screen and (max-width: 1029px) {
  .card-author {
    padding: 30px 30px;
  }
}

@media only screen and (max-width: 829px) {
  .card-author .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-1 {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .card-author .box-1 {
    margin: 0 0 30px 0;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-2 {
    width: 60%;
  }
}

.card-author header {
  margin: 0 0 15px 0;
}

.card-author h2 {
  font-size: 1.5625rem;
  line-height: 1.2;
}

.card-author p {
  font-size: 0.9375rem;
  line-height: 1.4;
}

.card-author p:not(:last-child) {
  margin: 0 0 1.4em 0;
}

.card-author .avatar {
  display: block;
  height: auto;
  max-width: 100%;
  margin: 0 0 15px 0;
}

@media only screen and (max-width: 749px) {
  .card-author .avatar {
    width: 100%;
  }
}

.card-author .social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-author .social a {
  margin: 0 5px;
}

.card-author .social .component-button-social {
  border-color: #a9b5b8;
}

.card-author .social .component-button-social svg {
  fill: #a9b5b8;
}

.card-author-snippet {
  background: #fff;
  display: block;
}

.card-author-snippet figure {
  position: relative;
}

.card-author-snippet h1 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.card-author-snippet__avatar {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  background: rgba(0, 0, 0, 0.5);
  transition: all .4s;
}

.card-author-snippet__avatar img {
  display: block;
  height: auto;
  width: 100%;
}

.card-author-snippet__blurred {
  height: 250px;
  opacity: .25;
  overflow: hidden;
  filter: blur(5px);
}

.card-speaker {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 15px 15px 0;
}

@media only screen and (min-width: 750px) {
  .card-speaker {
    width: 45%;
    width: calc(50% - 30px);
  }
}

@media only screen and (max-width: 749px) {
  .card-speaker {
    text-align: center;
  }
}

.card-speaker__copy {
  text-align: justify;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .card-speaker__copy {
    font-size: 21px;
  }
}

.card-speaker__name {
  font-size: 20px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .card-speaker__name {
    font-size: 23px;
  }
}

.card-speaker__image {
  border-radius: 50%;
  margin-bottom: 15px;
  max-width: 144px;
  width: 100%;
}

.has-one .card-speaker__image {
  max-width: 160px;
}

@media only screen and (max-width: 769px) {
  .has-one .card-speaker__image {
    max-width: 210px;
  }
}

@media only screen and (max-width: 769px) {
  .card-speaker__image {
    max-width: 210px;
  }
}

.card-header {
  color: #fff;
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 770px) {
  .card-header:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .card-header:before {
    left: 0;
  }
}

.card-header .box {
  position: relative;
  z-index: 10;
  background: #1f1f1f;
  background-size: cover;
  background-position: center center;
  padding: 180px 0;
}

@media only screen and (max-width: 769px) {
  .card-header .box {
    padding: 90px 0;
    width: 100%;
  }
}

.card-header .info {
  position: relative;
  z-index: 10;
}

.card-header .author-image {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  border-radius: 100%;
  margin: 0 auto 15px auto;
  width: 120px;
}

@media only screen and (max-width: 769px) {
  .card-header .author-image {
    width: 150px;
  }
}

.card-header .action {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-header .action a {
  margin: 0 5px;
}

.card-header.has-description .box {
  padding: 90px 0px;
  background: #fff;
  color: #1f1f1f;
}

@media only screen and (max-width: 769px) {
  .card-header.has-description .box {
    width: 90%;
  }
}

.card-header.has-description .info {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.card-header.has-description .info .box {
  padding: 0px 0px;
}

.card-header.has-description .subbox-1 {
  width: 34%;
}

.card-header.has-description .subbox-2 {
  width: 66%;
}

.card-header.has-description .card-header__title {
  font-size: 1.875rem;
  margin: 0 auto 15px;
  max-width: 62%;
}

@media only screen and (max-width: 1029px) {
  .card-header.has-description .grid-4,
  .card-header.has-description .grid-8 {
    width: 100%;
  }
}

.card-header .component-button-social:hover {
  background: #000;
  border-color: #000;
}

.card-header__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 3.125rem;
  margin: 0 0 15px 0;
}

.card-header__description {
  background: #fff;
  color: #000;
  padding: 60px 30px;
  text-align: left;
  border-left: 1px solid #9FA5A9;
}

@media only screen and (max-width: 1029px) {
  .card-header__description {
    padding: 45px;
    border: none;
    text-align: center;
  }
}

@media only screen and (max-width: 749px) {
  .card-header__description {
    padding: 45px 0;
  }

  .card-header__description p {
    padding: 0 30px;
  }
}

.card-header__description .boxed {
  margin: 0 auto;
  max-width: 600px;
}

.card-header__description p {
  line-height: 1.4;
}

.card-staff {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 749px) {
  .card-staff {
    text-align: center;
  }
}

.card-staff .box {
  width: 49%;
}

@media only screen and (max-width: 749px) {
  .card-staff .box {
    width: 100%;
  }
}

.card-staff__position {
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 3px 0 0 0;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) {
  .card-staff__position {
    text-align: right;
  }
}

@media only screen and (max-width: 749px) {
  .card-staff__position {
    margin: 0 0 5px 0;
  }
}

.card-staff__name {
  font-size: 18px;
  font-weight: 400;
}

.block-footer {
  background-color: #000;
  color: #fff;
  padding: 30px;
}

.block-footer-main {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer-main {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 {
    border-top: 1px solid #fff;
    -ms-flex-order: 2;
        order: 2;
    padding-top: 18.75px;
    text-align: center;
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 .logo img {
    margin: 0 auto;
  }
}

.block-footer-main .box-2 {
  margin: 0 75px;
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-2 {
    margin: 0 0 18.75px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-3 {
    margin: 0 0 18.75px 0;
  }
}

.block-footer__social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer__social {
    -ms-flex-pack: center;
        justify-content: center;
  }
}

.block-footer__social svg {
  fill: #fff;
  height: 25px;
  width: 25px;
}

.block-footer__social a:not(:first-child) {
  margin: 0 0 0 18.75px;
}

.block-footer__qr {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-left: 18.75px;
}

.block-footer__qr-img {
  margin-bottom: 7.5px;
}

.block-footer__menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer__menu > a {
  margin: 0 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu > a {
    margin: 0 0 7.5px 0;
  }
}

.block-footer-secondary {
  font-size: 12px;
  letter-spacing: .1em;
  margin: 15px 0 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer-secondary a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary a {
    margin: 5px 0;
  }
}

@media only screen and (min-width: 770px) {
  .block-footer__newsletter {
    display: none;
  }
}

body.state--image-enlarged {
  overflow-y: hidden;
}

.enlargeable {
  cursor: pointer;
}

#image-viewer {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  transition: all .3s;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow-y: scroll;
}

#image-viewer.active {
  opacity: 1;
  z-index: 999;
}

#image-viewer__img {
  max-width: calc(100% - 30px);
  padding-top: 115px;
}

#image-viewer__close {
  position: absolute;
  top: 30px;
  right: 30px;
  cursor: pointer;
  font-size: 30px;
}

#image-viewer__caption {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: #000;
  text-align: left;
  max-width: calc(100% - 30px);
  padding-bottom: 15px;
}

.block-header {
  position: relative;
  z-index: 60;
  background: #fff;
  border-bottom: 1px solid #9FA5A9;
  height: 92px;
  left: 0;
  position: fixed;
  transition: all .3s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header {
    height: 85px;
  }
}

.block-header .boxes {
  height: 60px;
}

.block-header .boxes > .box-1 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-1 {
    display: none;
  }
}

.block-header .boxes > .box-2 {
  position: relative;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 3;
        flex: 3;
  }

  .block-header .boxes > .box-2 img {
    display: block;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 349px) {
  .block-header .boxes > .box-2 {
    height: 40px;
  }

  .block-header .boxes > .box-2 img {
    height: 40px;
  }
}

.block-header .boxes > .box-2 .block-header__postmeta {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.block-header .boxes > .box-2 .block-header__postmeta > div.show-mobile {
  width: 100%;
}

.block-header .boxes > .box-2 .component-share {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 0 7.5px;
  width: 100%;
}

.block-header .boxes > .box-2 .component-share a {
  margin: 0;
}

.block-header .boxes > .box-2 .component-share svg {
  height: 29px;
  width: 29px;
}

.block-header .boxes > .box-3 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex: 5;
      flex: 5;
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-3 {
    display: none;
  }
}

.block-header .boxes > .box-3 .block-header__postmeta {
  display: -ms-flexbox;
  display: flex;
  padding: 0 18.75px;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
}

@media only screen and (max-width: 979px) {
  .block-header .boxes > .box-3 .block-header__postmeta {
    display: none;
  }
}

.block-header .boxes > .box-4 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 1399px) {
  .block-header .boxes > .box-4 span {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-4 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .box-4 > a {
    padding: 0 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .box-4 .component-button-autodesk,
  .block-header .box-4 .component-button-newsletter {
    display: none;
  }
}

@media only screen and (max-width: 829px) {
  .block-header .logo img {
    margin: 0 auto;
    width: auto;
    height: 44px;
    display: block;
  }
}

.block-header .logo-autodesk {
  display: block;
  margin: 0 22.5px 0 0;
  height: auto;
  width: 110px;
}

@media only screen and (max-width: 829px) {
  .block-header .logo-autodesk {
    display: none;
  }
}

.block-header .logo-letter {
  display: block;
  height: auto;
  margin: 0 15px 0 0;
  width: 25px;
}

.block-header .component-button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin: 0 15px 0 0;
  padding: 13.5px 30px;
}

@media only screen and (max-width: 829px) {
  .block-header .component-button {
    margin: 0;
  }
}

.block-header__main {
  padding: 15px;
}

@media only screen and (max-width: 829px) {
  .block-header__main {
    padding: 15px 22.5px;
  }
}

.block-header__main .logo-tease {
  transition: all .5s ease;
}

.block-header__main .logo-tease a {
  display: block;
}

.nav-tease {
  opacity: 1;
  transition: all 400ms ease-out;
}

.block-header__postmeta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  transition: all .5s ease;
  transform: translateY(100px);
  opacity: 0;
  height: 0;
  padding: 0 30px 0 0;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header__postmeta {
    transform: translate3d(0, 100%, 0);
    font-size: 14px;
    padding: 0 15px;
  }
}

.block-header__postmeta strong {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.block-header__postmeta .show-mobile {
  display: block;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-mobile {
    display: none;
  }
}

.block-header__postmeta .show-desktop {
  display: none;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-desktop {
    display: block;
  }
}

.block-header__postmeta__reading {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 80%;
}

.block-header__postmeta__reading strong {
  margin: 0 10px 0 0;
}

.block-header__postmeta__reading div {
  width: 50%;
}

.block-header__postmeta__share {
  margin-left: 20px;
  width: 15%;
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share {
    width: 10%;
  }
}

@media only screen and (max-width: 749px) {
  .block-header__postmeta__share {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share strong {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta-social {
    display: none;
  }
}

.block-header__postmeta-social > div {
  -ms-flex: auto;
      flex: auto;
}

.block-header__postmeta-social .component-share-alt {
  padding: 0 10%;
}

.block-header__postmeta-social a {
  background-color: #000;
  border-width: 0;
}

.block-header__postmeta-social svg {
  fill: #fff;
}

.block-search {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: -1;
  background: #fff;
  padding: 90px 0 90px 0;
  overflow-y: scroll;
  position: fixed;
  left: 0;
  height: 100%;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  visibility: visible;
  width: 101%;
}

.block-search .results {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-search .card-article-snippet {
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet {
    margin: 0 0 9px 0;
    width: 49%;
  }
}

@media only screen and (max-width: 749px) {
  .block-search .card-article-snippet {
    width: 100%;
  }
}

.block-search .card-article-snippet:not(:nth-child(4n+4)) {
  margin-right: 2%;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet:not(:nth-child(4n+4)) {
    margin-right: 1%;
  }
}

.block-search form {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin: 0 0 30px 0;
}

.block-search form .input {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 5rem;
  background: none;
  border: none;
  display: block;
  width: 100%;
}

@media only screen and (max-width: 829px) {
  .block-search form .input {
    font-size: 4.0625rem;
  }
}

@media only screen and (max-width: 749px) {
  .block-search form .input {
    font-size: 1.875rem;
  }
}

.block-search form .input:focus {
  outline: none;
}

.block-search form label {
  display: none;
}

.searchwp-live-search-results-fadeout {
  background: linear-gradient(transparent, #fff 65%);
  width: 100%;
  height: 15%;
  position: fixed;
  bottom: 0;
  z-index: 9999;
}

@media screen and (min-height: 800px) {
  .searchwp-live-search-results-fadeout {
    height: 20%;
  }
}

@media screen and (min-height: 900px) {
  .searchwp-live-search-results-fadeout {
    bottom: 50px;
  }
}

@media screen and (min-height: 1000px) {
  .searchwp-live-search-results-fadeout {
    bottom: 75px;
  }
}

.block-search__close {
  position: absolute;
  right: 25px;
  top: 25px;
}

.block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-search__close .line-2 {
  opacity: 0;
}

.block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (min-width: 750px) {
  .block-search__box1 {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .block-search__box1 {
    padding-left: 2%;
  }
}

.block-search__box2 {
  display: none;
}

.searchwp-live-search-results-showing {
  -ms-flex-align: stretch;
      align-items: stretch;
  box-shadow: none !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  left: 0 !important;
  width: 100% !important;
}

.searchwp-live-search-results {
  border-radius: 0 !important;
  min-height: none !important;
  max-height: 70vh !important;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-results {
    position: fixed !important;
    top: 170px !important;
  }
}

.searchwp-live-search-results .container,
.searchwp-live-search-results .card-article.is-featured .card-article__main-image,
.card-article.is-featured .searchwp-live-search-results .card-article__main-image,
.searchwp-live-search-results .block-topic__main-image {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
}

@media only screen and (min-width: 750px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 2%;
  }
}

.searchwp-live-search-results .spinner {
  left: calc(50% - 15px);
}

.searchwp-live-search-results .spinner > div > div {
  height: 30px !important;
  border-radius: 100px !important;
}

.searchwp-live-search-result {
  margin-bottom: 30px;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-result {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 979px) {
  .searchwp-live-search-result {
    width: calc(50% - 10px);
    margin-right: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-result {
    margin-right: 2%;
  }
}

.searchwp-live-search-result a {
  height: 100%;
}

.searchwp-live-search-result__author {
  position: absolute;
  color: #fff;
  bottom: 15px;
  left: 15px;
  font-size: 1rem;
}

.searchwp-live-search-result__link {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  display: flex !important;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  opacity: 1;
  white-space: normal !important;
  transition: opacity .2s;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.searchwp-live-search-result__link:hover {
  opacity: .9;
}

.searchwp-live-search-result__meta {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

.searchwp-live-search-result__thumbnail {
  background-color: #000;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  margin-right: 15px;
  width: 100%;
  height: auto;
  position: relative;
}

.searchwp-live-search-result__thumbnail img {
  max-width: 100%;
  height: auto;
  opacity: .7;
}

.searchwp-live-search-no-min-chars:after {
  display: none !important;
}

.block-newsletter form .mktoFormRow:nth-child(2) {
  margin-top: 16px !important;
}

.block-single {
  padding-top: 37.5px;
}

@media only screen and (max-width: 769px) {
  .block-single .box-1,
  .block-single .box-3 {
    display: none;
  }

  .block-single .box-2 {
    width: 100%;
  }
}

.block-single .component-share-alt {
  padding-top: 11.25px;
}

.block-single__top {
  -ms-flex-align: start;
      align-items: flex-start;
  margin-bottom: 18.75px;
}

@media only screen and (max-width: 769px) {
  .block-single__top {
    width: 100%;
  }
}

.block-single__top .component-share {
  -ms-flex-align: end;
      align-items: flex-end;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-top: 10.5px;
  margin-left: 56.25px;
}

@media only screen and (max-width: 979px) {
  .block-single__top .component-share {
    margin-left: 18.75px;
  }
}

.block-single__body {
  background-color: #fff;
  padding: 15px 0 30px;
  position: relative;
  z-index: 0;
}

.block-single__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .block-single__body .boxes {
    padding: 0 30px;
    width: 100%;
  }
}

.block-single__header {
  margin-bottom: 37.5px;
}

@media only screen and (min-width: 770px) {
  .block-single__header {
    max-width: 60%;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__header {
    padding: 0 30px;
  }
}

.block-single__meta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 13px;
  text-transform: uppercase;
}

.block-single__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #1f1f1f;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 770px) {
  .block-single__title {
    max-width: 1230px;
  }
}

@media only screen and (max-width: 749px) {
  .block-single__title {
    font-size: 1.75rem;
  }
}

.block-single__topic {
  color: #9FA5A9;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__topic {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__topic {
    font-size: 0.75rem;
  }
}

.block-single__author {
  color: #2c383c;
  margin-right: 18.75px;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__author {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__author {
    margin-bottom: 7.5px;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__author {
    font-size: 0.75rem;
  }
}

.block-single__content {
  color: #1f1f1f;
  position: relative;
}

.block-single__content img,
.block-single__content figure {
  height: auto;
  max-width: 100%;
}

.block-single__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-single__content p:first-of-type {
  font-weight: 600;
}

.block-single__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-single__content p a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
  display: inline-block;
}

.block-single__content p a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-single__content p a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-single__content p a:not([href^="https://cdn"]) *,
.block-single__content p a:not([href^="https://cdn"]) *:after,
.block-single__content p a:not([href^="https://cdn"]):after,
.block-single__content p a:not([href^="https://cdn"]) *:before,
.block-single__content p a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.block-single__content p a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.is-dark .block-single__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"]) *,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:after,
.is-dark .block-single__content a:not([href^="https://cdn"]):after,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:before,
.is-dark .block-single__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.block-single__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-single__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-single__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-single__box {
    padding: 0;
  }
}

.block-single__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-single__box .boxed {
    background: #fff;
  }
}

.block-single__main-image {
  position: relative;
  z-index: 10;
}

.block-single__main-image > a {
  display: block;
}

.block-single__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-single__main-image {
    width: 100%;
  }
}

.block-single__sidebar {
  background-color: #fff;
  z-index: 11;
}

.block-single__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 60px 30px;
  margin-top: 60px;
  text-align: left;
}

.block-single__recommended .entry {
  margin-bottom: 30px;
}

.block-single__recommended .entry:last-child .divider {
  display: none;
}

.block-single__recommended .component-heading span {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-single__recommended .category a {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-single__recommended .title {
  font-size: 16px;
}

.block-single__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-single__tag-list {
  margin-bottom: 45px;
  margin-top: 30px;
}

.block-single__tag,
.block-single__tag-spacer {
  color: #DD2222;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}

.is-dark .block-single__tag,
.is-dark .block-single__tag-spacer {
  color: #fff;
}

.block-single__tag:hover {
  text-decoration: underline;
}

body[data-blogid="8"] .block-single__read-time {
  display: none;
}

.block-topic__mobile-title {
  border-bottom: 1px solid #f5f5f5;
  display: none;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  padding: 22.5px 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__mobile-title {
    display: block;
  }
}

.block-topic__header {
  position: relative;
}

.block-topic__header .block-topic__title {
  font-size: 40px;
  margin-bottom: 30px;
  text-align: center;
}

@media only screen and (max-width: 769px) {
  .block-topic__header .block-topic__title {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic__header {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}

.block-topic__body {
  background-color: #fff;
  margin-top: -6px;
  padding: 15px 0 30px;
}

@media only screen and (max-width: 769px) {
  .block-topic__body {
    margin-top: 5px;
  }
}

.block-topic__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-topic__entry {
  text-align: center;
}

@media only screen and (max-width: 769px) {
  .block-topic__entry {
    text-align: left;
  }
}

.block-topic__subtopics {
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 500;
  height: 50px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics {
    border-top: 1px solid #9FA5A9;
    margin-bottom: 0;
  }
}

.block-topic__subtopics .slick-list {
  margin: 0 auto;
  width: 75%;
}

@media only screen and (min-width: 770px) {
  .block-topic__subtopics .slick-list {
    width: 600px;
  }
}

.block-topic__subtopics .slick-slide {
  height: 100%;
}

.block-topic__subtopics .is-active {
  border-bottom: 2px solid #DD2222;
  padding-bottom: 2px;
}

.block-topic__subtopics a {
  margin: 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics a {
    margin: 0;
    padding: 0 11.25px;
  }
}

.block-topic__arrow {
  position: absolute;
  top: 15px;
  right: 64px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .block-topic__arrow {
    display: none;
  }
}

.block-topic__arrow.is-right {
  right: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-right {
    right: 2.5%;
  }
}

.block-topic__arrow.is-left {
  left: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-left {
    left: 5%;
  }
}

.block-topic__arrow.slick-disabled svg {
  fill: #9FA5A9;
}

.block-topic__arrow svg {
  width: 20px;
  fill: #DD2222;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow {
    top: auto;
    bottom: 10px;
  }
}

.block-topic__title {
  font-size: 2.5rem;
  line-height: 1.2;
  color: #1f1f1f;
  font-size: 35px;
  margin: 15px auto;
  max-width: 90%;
  padding-left: 0 !important;
}

@media only screen and (max-width: 769px) {
  .block-topic__title {
    font-size: 1.875rem;
    margin: 15px 0;
  }
}

.block-topic__topic {
  margin-bottom: 7.5px;
}

.block-topic__topic a {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__topic a {
    font-size: 16px;
  }
}

.block-topic__author {
  border: 0 solid !important;
  color: #2c383c;
  display: block;
  font-size: 16px;
  line-height: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
  text-transform: uppercase;
  width: auto;
}

@media only screen and (max-width: 769px) {
  .block-topic__author {
    display: none;
  }
}

.block-topic__content {
  color: #1f1f1f;
}

.block-topic__content img,
.block-topic__content figure {
  height: auto;
  max-width: 100%;
}

.block-topic__content img {
  margin: 22.5px 0;
}

.block-topic__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-topic__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-topic__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-topic__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-topic__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-topic__box {
    padding: 0;
  }
}

.block-topic__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-topic__box .boxed {
    background: #fff;
  }
}

@media only screen and (max-width: 749px) {
  .block-topic__box .container,
  .block-topic__box .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .block-topic__box .card-article__main-image,
  .block-topic__box .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image {
  position: relative;
  z-index: 10;
  display: block;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image > a {
  display: block;
  overflow: hidden;
}

.block-topic__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

.block-topic__sidebar {
  margin-top: 8%;
}

.block-topic__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 30px;
  margin-top: 60px;
  text-align: left;
}

.block-topic__recommended .entry {
  margin-bottom: 30px;
}

.block-topic__recommended .entry:last-child .divider {
  display: none;
}

.block-topic__recommended .heading {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-topic__recommended .category {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-topic__recommended .title {
  font-size: 16px;
}

.block-topic__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-topic-section {
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-topic-section {
    border-top: 4px solid #000;
    padding: 30px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .component-heading {
    padding-left: 30px;
  }
}

.block-topic-section .card-article.is-video-nav {
  margin-bottom: 60px !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-video-nav {
    border: none !important;
    margin: 0 0 0 10px !important;
    min-width: 200px;
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 10px;
    padding: 30px 30px 0 30px !important;
  }

  .block-topic-section .card-article:last-child {
    padding-bottom: 30px;
  }

  .block-topic-section .card-article:first-child {
    margin-top: 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child .card-article__header {
    padding: 15px 30px;
  }
}

.block-topic-section .card-article .card-article__main-image {
  background-image: none !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__title {
    font-size: 35px !important;
    line-height: 1.2;
    padding-top: 5px;
  }
}

@media only screen and (max-width: 599px) {
  .block-topic-section .card-article__title {
    font-size: 25px !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__topic a {
    display: block;
    margin-top: 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section--video .box {
    width: 100%;
  }
}

.block-featured-section .component-magazine-rack {
  background: #fff;
  margin-bottom: 0;
}

@media only screen and (min-width: 770px) {
  .block-featured-section .component-magazine-rack {
    padding: 22.5px;
  }
}

.block-featured-section__article {
  background-color: #f5f5f5;
}

.block-featured-section__subtitle {
  font-size: 20px;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__subtitle {
    padding: 0 30px;
    font-size: 24px;
    margin-bottom: 30px;
  }
}

.block-featured-section__subtitle > a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-featured-section__icon-arrow-alt {
  margin-left: 11.25px;
}

@media only screen and (min-width: 770px) {
  .block-featured-section__icon-arrow-alt {
    display: none;
  }
}

.block-featured-section__icon-arrow-alt svg {
  display: block;
  height: auto;
  fill: #000;
  width: 28px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow-alt svg {
    width: 22px;
  }
}

.block-featured-section__icon-arrow {
  margin-left: 11.25px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow {
    display: none;
  }
}

@media only screen and (max-width: 749px) {
  .block-featured-section__icon-arrow {
    transform: rotate(90deg);
  }
}

.block-featured-section__icon-arrow svg {
  display: block;
  height: auto;
  fill: #DD2222;
  width: 8px;
}

.block-menu {
  text-transform: uppercase;
}

.block-menu a {
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
}

.block-megamenu {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: 40;
  background: #fff;
  left: 0;
  height: 100vh;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu {
    overflow-y: scroll;
  }
}

.block-megamenu .main-content {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .main-content {
    height: 100vh;
    overflow-y: scroll;
  }
}

.block-megamenu .navigation-secondary {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 1.5625rem;
  line-height: 1.2;
  font-size: 1.875rem;
  -ms-flex-direction: column;
      flex-direction: column;
  line-height: 1;
  padding: 0 0 118px 0;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary {
    font-size: 1.5rem;
    padding-top: 85px;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 749px) {
  .block-megamenu .navigation-secondary {
    font-size: 1rem;
  }
}

.block-megamenu .navigation-secondary a {
  padding: 14px 0;
  width: 100%;
}

.block-megamenu .navigation-secondary a:hover {
  background: rgba(255, 255, 255, 0.5);
}

.block-megamenu .navigation-secondary a svg {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary a {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: row;
        flex-direction: row;
    border-bottom: 1px solid #9FA5A9;
    line-height: 0;
    margin-bottom: 0;
    padding: 19.5px 30px;
  }

  .block-megamenu .navigation-secondary a span {
    color: #1f1f1f;
    font-size: 30px;
    text-align: left;
  }

  .block-megamenu .navigation-secondary a svg {
    display: block;
    fill: #1f1f1f;
    width: 30px;
    margin-left: 15px;
  }
}

@media only screen and (max-width: 499px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 22px;
  }
}

@media only screen and (max-width: 349px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 18px;
  }
}

.block-megamenu .block-footer {
  padding: 37.5px 30px 120px 30px;
}

.block-megamenu .block-footer-main .boxes {
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-megamenu .block-footer-main .box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin-bottom: 30px;
  width: 100%;
}

.block-megamenu .block-footer-main .box-1 {
  margin-bottom: 0;
  -ms-flex-order: 1;
      order: 1;
}

.block-megamenu .block-footer-main .box-1 img {
  width: 160px;
}

.block-megamenu .block-footer-main .box-2 {
  font-size: 18px;
  letter-spacing: 0;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .block-footer-main .box-3 {
    border-bottom: 1px solid #9FA5A9;
    padding-bottom: 45px;
    margin-bottom: 45px;
  }
}

@media only screen and (max-width: 769px) {
  .block-megamenu .block-footer-main .box-3 {
    margin-bottom: 18.75px;
  }
}

.block-megamenu .block-footer-main .box-3 a {
  margin: 0 10px;
}

.block-megamenu .block-footer-main .component-button-social {
  background-color: #fff;
  border: 0 solid;
  height: 48px;
  width: 48px;
}

.block-megamenu .block-footer-main .component-button-social svg {
  fill: #000;
  height: 28px;
  width: 28px;
}

.block-articles-aside {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    border-top: 4px solid #2c383c;
  }
}

.block-articles-aside .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-articles-aside .boxing {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    padding: 30px 0 0;
  }

  .block-articles-aside > .container,
  .card-article.is-featured .block-articles-aside > .card-article__main-image,
  .block-articles-aside > .block-topic__main-image {
    width: 100%;
  }

  .block-articles-aside .component-heading {
    padding: 0 30px;
  }
}

.block-articles-latest {
  padding: 60px 0;
}

.block-articles-latest article {
  margin-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .card-article__main-image {
    margin-bottom: 15px;
  }
}

.block-articles-latest .component-heading {
  margin-bottom: 60px;
}

.block-articles-latest .component-heading.is-centered {
  text-align: center;
}

.block-articles-latest .component-heading.is-bottomcap {
  -ms-flex-pack: center;
      justify-content: center;
  margin: 30px 0 0;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading.is-bottomcap {
    border-top: 1px solid #9FA5A9;
    margin-top: 0;
    padding: 20px 0;
  }

  .block-articles-latest .component-heading.is-bottomcap span {
    color: #DD2222;
  }

  .block-articles-latest .component-heading.is-bottomcap svg,
  .block-articles-latest .component-heading.is-bottomcap .st0 {
    stroke: #DD2222;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading {
    padding: 0 30px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest {
    padding-top: 30px;
    padding-bottom: 0;
  }

  .block-articles-latest > .container,
  .card-article.is-featured .block-articles-latest > .card-article__main-image,
  .block-articles-latest > .block-topic__main-image {
    width: 100%;
  }
}

.block-magazine-rack,
.block-editors-picks {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    border-top: 4px solid #2c383c;
  }
}

.block-magazine-rack .boxes,
.block-editors-picks .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-magazine-rack .boxing,
.block-editors-picks .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-magazine-rack .boxing figure,
.block-editors-picks .boxing figure {
  margin-top: 25px;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    padding: 30px 0;
  }

  .block-magazine-rack > .container,
  .block-editors-picks > .container,
  .card-article.is-featured .block-magazine-rack > .card-article__main-image,
  .card-article.is-featured .block-editors-picks > .card-article__main-image,
  .block-magazine-rack > .block-topic__main-image,
  .block-editors-picks > .block-topic__main-image {
    width: 100%;
  }

  .block-magazine-rack .component-heading,
  .block-editors-picks .component-heading {
    padding: 15px 30px;
  }
}

.block-magazine-rack.is-last,
.is-last.block-editors-picks {
  margin-bottom: 0;
}

.block-newsletter {
  position: relative;
}

.block-newsletter .mktoEmailField {
  z-index: 1;
}

.block-newsletter .title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #000;
  font-weight: 400;
  margin-bottom: 10px;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .title {
    display: none;
  }
}

.block-newsletter .subtitle {
  display: block;
  text-align: center;
}

.block-newsletter h3 {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #9FA5A9;
  padding: 30px 0;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter h3 {
    padding: 22.5px 0;
  }
}

.block-newsletter .logo {
  display: block;
  margin: 0 auto 20px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .logo {
    display: none;
  }
}

.block-newsletter form {
  width: 100% !important;
  /* ======== old styles to clean up============== */
}

.block-newsletter form #FirstName,
.block-newsletter form #LastName {
  display: none;
}

.block-newsletter form .mktoFormRow,
.block-newsletter form .mktoOFFset,
.block-newsletter form .mktoClear {
  display: none;
}

.block-newsletter form .mktoFieldDescriptor.mktoFormCol {
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(2),
.block-newsletter form .mktoFormRow:nth-child(3) {
  display: block;
  margin: 30px 0 60px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoFormRow:nth-child(3) {
    margin-bottom: 10px;
  }
}

.block-newsletter form .mktoFormRow label {
  color: #9FA5A9;
  font-size: 12px;
  font-weight: 200;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField {
  background-color: transparent;
  border: 1px solid #000;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  margin-bottom: 20px;
  margin-top: -31px;
  transition: background-color .3s;
  width: 100% !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField:focus,
.block-newsletter form .mktoFormRow .mktoEmailField.has-value {
  background-color: #fff;
}

.block-newsletter form .mktoFieldWrap {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  float: none !important;
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(3) > .mktoFieldDescriptor > .mktoFieldWrap > label {
  display: none;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList {
  margin-top: -15px;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #1f1f1f;
  -ms-flex: 1;
      flex: 1;
  font-weight: 400;
  max-width: 100px;
  margin: 0;
  text-align: left !important;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 25px;
}

.block-newsletter form .mktoRadioList {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoButtonRow {
    margin-bottom: 37.5px;
  }
}

.block-newsletter form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter form button.mktoButton {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 15px;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoGutter.mktoHasWidth {
  display: none;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorMsg {
  border-radius: 0;
  background-color: #DD2222;
  background-image: none;
  border: 0 solid;
  box-shadow: none;
  padding: 10px 20px;
  text-shadow: transparent 0 -1px 0;
  color: #fff;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorArrow {
  background-color: #DD2222;
  border: 0 solid;
}

.block-newsletter form p {
  margin: 0 0 39.99px 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

.block-newsletter form p a {
  color: #DD2222;
  border-bottom: 1px solid #DD2222;
}

.block-newsletter form .row:not(:last-child) {
  margin: 0 0 15px 0;
}

.block-newsletter form .row.touched.invalid {
  outline: 1px solid red;
}

.block-newsletter form .row p {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #DD2222;
  font-size: 10px;
  padding: 7.5px 15px;
}

.block-newsletter form .privacy {
  color: #9FA5A9;
  font-size: 11px;
  line-height: 1.5;
}

.block-newsletter form .privacy label {
  position: static;
}

.block-newsletter form .privacy a {
  color: #000;
  border-bottom: 1px solid #000;
}

.block-newsletter form .is-errored-privacy {
  background: rgba(255, 0, 0, 0.5);
  color: #fff;
  padding: 5px;
}

.block-newsletter form .privacy-message {
  color: red;
  font-size: 12px;
  margin: 10px 0 20px 0;
  text-align: center;
}

.block-newsletter form .input {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.block-newsletter form .input:focus {
  outline: none;
}

.block-newsletter form .submit {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.block-newsletter form .submit:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.block-newsletter form .submit span {
  position: relative;
  z-index: 1;
}

.block-newsletter form .submit:hover:after {
  width: 100%;
}

.block-newsletter form .submit:disabled {
  opacity: .5;
}

.block-newsletter form .submit:disabled:after {
  width: 100%;
}

.block-newsletter form .create {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid #9FA5A9;
  color: #9FA5A9;
  display: block;
  padding: 18px 0;
  text-align: center;
  width: 100%;
}

.block-newsletter form .errormsg {
  color: red;
  margin: 10px 0 0 0;
}

.block-newsletter .boxed {
  background: #fff;
  padding: 75px 135px;
  border-bottom: 20px solid;
  -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
     border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .boxed {
    padding: 22.5px;
  }
}

.block-newsletter.is-geo .isRadioRow {
  display: none !important;
}

.block-newsletter-sidebar.state-success .block-newsletter__success,
.block-newsletter-inline.state-success .block-newsletter__success,
.block-newsletter-footer.state-success .block-newsletter__success,
.state-success.block-newsletter-inline .block-newsletter__success,
.block-newsletter-unsubscribe.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.block-newsletter-sidebar {
  border-top: 5px solid #000;
}

.block-newsletter-sidebar .boxed {
  padding: 30px 30px;
}

.block-newsletter-sidebar .title,
.block-newsletter-sidebar .subtitle {
  text-align: left;
}

.block-newsletter-sidebar .title {
  font-size: 1.5rem;
  line-height: 1.2;
  margin-bottom: -5px;
}

.block-newsletter-sidebar .subtitle {
  line-height: 1.4;
  margin: 15px 0 0;
}

.block-newsletter-sidebar form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 15px;
}

.block-newsletter-sidebar form > div:nth-child(2) {
  width: 60%;
  margin-bottom: 0 !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(2) {
    width: 100%;
    margin-bottom: -10px !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-sidebar form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(3):nth-child(3) {
    margin-top: 15px !important;
    -ms-flex-order: 0 !important;
        order: 0 !important;
    margin-bottom: 0 !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) {
  width: 40%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(5) {
    width: 100%;
    -ms-flex-align: baseline;
        align-items: baseline;
    margin-bottom: 30px;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) span,
.block-newsletter-sidebar form > div:nth-child(5) button {
  width: 100%;
}

.block-newsletter-sidebar form > div:nth-child(5) button {
  margin-top: 18px;
}

.block-newsletter-sidebar form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-sidebar form .mktoRadioList {
  margin-top: -15px;
  padding: 0;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter-sidebar form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: left;
      justify-content: left;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-top: -1px;
  width: 100%;
}

.block-newsletter-sidebar form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter-sidebar form .mktoButtonRow button {
  min-width: 0 !important;
  font-size: 11px !important;
}

.block-newsletter-sidebar form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  font-size: "Artifakt Element", "Helvetica", sans-serif;
  padding-left: 15px;
  font-size: 12px;
}

.block-newsletter-sidebar form .mktoFormRow label.mktoLabel {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  margin-left: 15px;
  width: auto !important;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 0;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  font-size: 10px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-sidebar {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar .mktoEmailField {
    margin-bottom: 0 !important;
  }

  .block-newsletter-sidebar button.mktoButton {
    margin-top: 0 !important;
  }
}

.block-newsletter-inline__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-sidebar__policy {
  margin-top: 18.75px;
}

.block-newsletter-overlay {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 10;
  background-image: linear-gradient(to right, rgba(221, 34, 34, 0.95), rgba(43, 56, 143, 0.95));
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  transition: all .7s;
  width: 100%;
}

@media only screen and (min-width: 1030px) {
  .block-newsletter-overlay {
    transform: translate3d(0, 50px, 0);
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay {
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 740px) and (min-width: 750px) and (max-width: 866px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 680px) and (min-width: 867px) and (max-width: 1029px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 650px) and (min-width: 1030px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

.block-newsletter-overlay .box-container {
  position: relative;
  z-index: 20;
  max-width: 1060px;
}

@media only screen and (min-width: 1030px) and (max-width: 1399px) {
  .block-newsletter-overlay .box-container {
    width: 85%;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .box-container {
    width: 80%;
  }
}

.block-newsletter-overlay .actions {
  background: #f5f5f5;
  font-size: 1.25rem;
}

.block-newsletter-overlay .actions > .box {
  width: 50%;
}

.block-newsletter-overlay .actions a {
  padding: 37.5px 45px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .actions a {
    padding: 22.5px 22.5px;
  }
}

.block-newsletter-overlay .actions a.is-active {
  background: #fff;
}

.block-newsletter-overlay .title {
  font-size: 30px;
  line-height: 1.3;
}

.block-newsletter-overlay .subtitle {
  font-size: 1.25rem;
  line-height: 1.4;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .subtitle {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: 10px;
  }
}

@media only screen and (min-width: 750px) {
  .block-newsletter-overlay .subtitle {
    margin-top: 10px;
  }
}

.block-newsletter-overlay .forms {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 0;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .forms {
    border-top: 5px solid #000;
  }
}

.block-newsletter-overlay .featured-image {
  width: 50%;
  background-position: 50%;
  background-size: cover;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .featured-image {
    display: none;
  }
}

.block-newsletter-overlay .boxed {
  background: #fff;
  padding: 112.5px 45px 127.5px;
  width: 50%;
  border: 0 solid;
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .boxed {
    padding: 82.5px 45px 45px;
    border-bottom: 20px solid;
    -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
       border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay .boxed {
    padding: 52.5px 30px 30px;
  }
}

@media only screen and (max-height: 780px) and (min-width: 750px) {
  .block-newsletter-overlay .boxed {
    padding-top: 60px;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .mktoFormRow {
    height: 0;
  }

  .block-newsletter-overlay .mktoFormRow label {
    text-align: center !important;
  }

  .block-newsletter-overlay .mktoFormRow .mktoEmailField {
    margin-top: -37px !important;
  }
}

.block-newsletter-overlay form .mktoFormRow label {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300 !important;
  padding-left: 10px;
  width: 100% !important;
}

.block-newsletter-overlay form .mktoAsterix {
  display: none !important;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-overlay form .mktoLabel.mktoHasWidth {
    position: relative;
    top: -5px;
  }
}

.block-newsletter-overlay form button.mktoButton {
  border-radius: 0;
  font-family: "Artifakt Element", "Helvetica", sans-serif !important;
  font-weight: 500 !important;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form button.mktoButton {
    margin-top: 0 !important;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form .mktoFormRow:nth-child(3) .mktoRadioList {
    margin-top: -20px !important;
  }
}

.block-newsletter-overlay .message {
  text-align: center;
  padding: 0 0 30px 0;
}

.block-newsletter-overlay .block-newsletter__close .line {
  background: #1f1f1f;
}

.block-newsletter-overlay__policy {
  left: 0;
  bottom: 18.75px;
  position: absolute;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay__policy {
    padding: 0 15px;
  }
}

.block-newsletter-footer,
.block-newsletter-inline {
  background-color: #2c383c;
  position: relative;
  padding: 37.5px 0 0 0;
  z-index: 5;
}

.block-newsletter-footer:before,
.block-newsletter-inline:before {
  background: #fff;
  content: ' ';
  background-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4);
  background-size: 100px auto;
  height: 30px;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
}

.block-newsletter-footer .title,
.block-newsletter-inline .title {
  font-size: 2rem;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer .title,
  .block-newsletter-inline .title {
    display: block;
    font-size: 1.75rem;
  }
}

.block-newsletter-footer .title,
.block-newsletter-inline .title,
.block-newsletter-footer .subtitle,
.block-newsletter-inline .subtitle {
  color: #fff;
}

.block-newsletter-footer .boxed,
.block-newsletter-inline .boxed {
  background-color: transparent;
  border: 0 solid;
  padding: 30px 33%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 30px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 829px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 60px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 30px 25%;
  }
}

.block-newsletter-footer .block-newsletter__success,
.block-newsletter-inline .block-newsletter__success {
  background-color: #2c383c;
  padding: 0;
}

.block-newsletter-footer form,
.block-newsletter-inline form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 20px;
}

.block-newsletter-footer form > div:nth-child(2),
.block-newsletter-inline form > div:nth-child(2) {
  width: 75%;
  margin-bottom: 0 !important;
}

.block-newsletter-footer form > div:nth-child(2) .mktoError,
.block-newsletter-inline form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-footer form > div:nth-child(3),
.block-newsletter-inline form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList {
  margin-top: 0 !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList label,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList label {
  color: #fff !important;
  position: relative;
  top: 1px;
}

.block-newsletter-footer form > div:nth-child(5),
.block-newsletter-inline form > div:nth-child(5) {
  width: 25%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

.block-newsletter-footer form > div:nth-child(5) span,
.block-newsletter-inline form > div:nth-child(5) span,
.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  height: 33px;
  margin-top: 3px;
  width: 100%;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-footer form > div:nth-child(2),
  .block-newsletter-inline form > div:nth-child(2) {
    width: 60%;
  }

  .block-newsletter-footer form > div:nth-child(5),
  .block-newsletter-inline form > div:nth-child(5) {
    width: 40%;
  }

  .block-newsletter-footer form > div:nth-child(5) button,
  .block-newsletter-inline form > div:nth-child(5) button {
    min-width: 0;
  }
}

.block-newsletter-footer form .mktoFieldWrap,
.block-newsletter-inline form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-footer form button.mktoButton,
.block-newsletter-inline form button.mktoButton {
  border-radius: 0;
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField,
.block-newsletter-inline form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  color: #fff;
  height: 33px;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-inline form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-footer form .mktoFormRow .mktoEmailField.has-value,
.block-newsletter-inline form .mktoFormRow .mktoEmailField.has-value {
  background-color: #2c383c;
}

.block-newsletter-footer form .mktoFormRow label.mktoLabel.mktoHasWidth,
.block-newsletter-inline form .mktoFormRow label.mktoLabel.mktoHasWidth {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  color: #fff;
  left: 10px;
  position: relative;
  top: -8px;
  width: auto !important;
}

.block-newsletter-footer form .mktoFieldDescriptor.mktoFormCol,
.block-newsletter-inline form .mktoFieldDescriptor.mktoFormCol {
  margin-bottom: 5px !important;
}

.block-newsletter-footer form .mktoOffset,
.block-newsletter-inline form .mktoOffset {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer,
  .block-newsletter-inline {
    border: 0 solid;
  }
}

.block-newsletter-footer__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-inline {
  border-width: 0;
}

.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px;
}

.block-newsletter-unsubscribe {
  padding-top: 15px;
}

.block-newsletter-unsubscribe .mktoOffset {
  display: none;
}

.block-newsletter-unsubscribe .mktoFieldWrap {
  display: block !important;
}

.block-newsletter-unsubscribe .mktoFormRow:nth-child(2) {
  margin-bottom: 0 !important;
}

.block-newsletter-unsubscribe #Email {
  padding-left: 15px;
}

.block-newsletter-unsubscribe label {
  margin-left: 15px !important;
  width: auto !important;
}

.block-newsletter-unsubscribe button {
  color: #fff !important;
  margin-top: 0 !important;
}

.block-newsletter-unsubscribe .block-newsletter__success {
  margin: -30px -10% 0;
  width: 120%;
}

.block-newsletter-unsubscribe .block-newsletter__success .title {
  display: block;
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe .block-newsletter__success {
    margin: 0 -3% 0;
    width: 106%;
    display: block;
    padding: 60px 0 120px;
  }
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe {
    padding-top: 5px !important;
  }

  .block-newsletter-unsubscribe .mktoButtonWrap,
  .block-newsletter-unsubscribe button {
    width: 100% !important;
  }

  .block-newsletter-unsubscribe button {
    margin-top: 0 !important;
  }

  .block-newsletter-unsubscribe .mktoFormRow {
    margin-bottom: 0 !important;
  }
}

.block-newsletter__close {
  right: 10px;
  position: absolute;
  top: 60px;
  transform: translate3d(-50%, -200%, 0);
  width: 18px;
  z-index: 10;
}

.block-newsletter__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-newsletter__close .line-2 {
  opacity: 0;
}

.block-newsletter__close .line-3 {
  transform: rotate(-45deg);
  top: -11px;
}

.block-newsletter__success {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  height: 100%;
  left: 0;
  padding: 112.5px 45px 127.5px;
  opacity: 0;
  position: absolute;
  top: 0;
  visibility: hidden;
  transition: all .4s ease;
  width: 100%;
  z-index: 2;
}

.block-newsletter__success .boxeded {
  width: 100%;
}

.mktoButtonWrap .is-waiting {
  background-color: #fff !important;
  color: #9FA5A9 !important;
  display: none;
  background-image: none !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 2px !important;
  opacity: 1;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.mktoButtonWrap.state-waiting .is-waiting {
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  display: -ms-flexbox;
  display: flex;
}

.mktoButtonWrap.state-waiting button:first-child {
  display: none;
}

#mktoForm_2003 .mktoButtonWrap .is-waiting,
.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  color: #fff !important;
  margin-top: 15px !important;
  opacity: .5;
}

.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  top: 3px !important;
  position: relative;
  min-width: 0;
  font-size: 11px !important;
}

.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px !important;
}

/* ========= NEW MARKETO FORM MIGRATION ================= */

#emailsignup__footer,
#emailsignup__inline,
#emailsignup__overlay,
.emailsignup__sidebar {
  margin: 0 auto;
  max-width: 300px;
}

#emailsignup__footer iframe,
#emailsignup__inline iframe,
#emailsignup__overlay iframe,
.emailsignup__sidebar iframe {
  width: 100%;
}

.block-authors {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-authors > .box {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  margin: 0 0 35px 0;
  width: 19%;
}

@media only screen and (max-width: 829px) {
  .block-authors > .box {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .block-authors > .box {
    width: 46%;
    margin: 2%;
  }
}

.block-authors > .box.is-empty {
  opacity: 0;
}

.block-staff {
  margin: 37.5px auto 60px auto;
  max-width: 600px;
}

.block-staff ul {
  margin: 0 0 40px 0;
}

.block-staff li:not(:last-child) {
  margin: 0 0 20px 0;
}

.block-staff__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-staff__contributers {
  text-align: center;
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.block-staff__contributers a {
  border-bottom: 1px solid #9FA5A9;
}

.block-awards {
  margin: 0 auto;
  max-width: 570px;
}

.block-awards .boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-awards .boxes {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (min-width: 830px) {
  .block-awards .box:not(:nth-last-child(-n + 3)) {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 829px) {
  .block-awards .box:not(:last-child) {
    margin-bottom: 25px;
  }
}

.block-awards__heading {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-event .main-image .wp-post-image {
  width: 100%;
}

.block-event__container {
  padding-bottom: 75px !important;
}

@media only screen and (max-width: 769px) {
  .block-event__container {
    padding-top: 40px !important;
  }
}

.block-event__speakers {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-left: -15px;
  margin-right: -15px;
}

.block-event__speakers.has-one .card-speaker {
  width: auto;
}

.block-event__section {
  letter-spacing: -0.02em;
  margin: 45px 0 0;
  text-align: center;
}

.block-event__section--intro {
  margin: 30px 0;
}

.block-event__section--intro .block-event__subtext {
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__section--intro .block-event__subtext {
    font-size: 21px;
  }
}

.block-event__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__subtext {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__subtext {
    font-size: 23px;
  }
}

.block-event__copy {
  text-align: left;
  font-size: 18px;
}

@media only screen and (max-width: 769px) {
  .block-event__copy {
    font-size: 1rem;
  }
}

.block-event__copy h2,
.block-event__copy h3,
.block-event__copy h4,
.block-event__copy h5,
.block-event__copy h6 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__copy h3 {
  font-size: 32px;
}

.block-event__copy h4 {
  font-size: 24px;
}

.block-event__copy h5 {
  font-size: 18px;
}

.block-event__copy h6 {
  font-size: 12px;
}

.block-event__copy a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
  display: inline-block;
}

.block-event__copy a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"]) *,
.block-event__copy a:not([href^="https://cdn"]) *:after,
.block-event__copy a:not([href^="https://cdn"]):after,
.block-event__copy a:not([href^="https://cdn"]) *:before,
.block-event__copy a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.block-event__copy a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.block-event__cta {
  background-color: #dd2222;
  background-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 30px;
  min-width: 240px;
  padding: 22px 60px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__cta {
    font-size: 18px;
    padding: 15px 60px;
  }
}

.block-event__divider {
  border-bottom: 2px solid #DD2222;
  height: 0;
  margin: 0 auto;
  width: 105px;
}

.block-event__section--hotel {
  margin-top: 75px;
}

.block-event__hotel-image {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__google-map {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__url {
  margin: -5px 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__url {
    font-size: 18px;
    overflow-wrap: break-word;
  }
}

.block-event__social a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-event__social a {
    margin: 0 7.5px;
  }
}

.block-event__social svg {
  width: 25px;
}

@media only screen and (max-width: 769px) {
  .block-event__social svg {
    width: 50px;
  }
}

.block-event__footer-content {
  margin-top: 67.5px;
}

.block-event__footer-content h2 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__footer-content h3 {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__footer-content h3 {
    font-size: 23px;
  }
}

.block-event__footer-content p a {
  font-weight: 800;
}

.block-event__footer-content figure {
  margin: 30px 0;
  max-width: 100%;
}

.block-event__footer-content figure img {
  height: auto;
  width: 100%;
}

#gated-content--agenda {
  display: none;
  margin: 60px 0;
}

#gate_code--agenda {
  display: block;
  margin: 60px 0 0;
}

.block-event__gate-code .block-event__copy {
  text-align: center;
}

.block-event__gate-code #iframe1 {
  margin-top: 30px;
}

.block-event__gate-code #iframe1 iframe {
  width: 100%;
}

.block-event__gate-code .block-event__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-event__gate-code .block-event__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#gated-content--agenda {
  text-align: left;
}

#gated-content--agenda p {
  margin-bottom: 30px;
}

@media only screen and (min-width: 770px) {
  .view-author:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .view-author:before {
    left: 0;
  }

  .view-author:after {
    bottom: auto;
    height: 500px;
    top: 92px;
  }
}

@media only screen and (max-width: 769px) {
  .view-author {
    background: #fafafa;
  }

  .view-author .block-articles-latest .component-heading {
    line-height: 1;
  }
}

.view-author .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-author .row {
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .view-author .row > .box {
    width: 100%;
  }
}

.view-author > .container:first-child,
.card-article.is-featured .view-author > .card-article__main-image:first-child,
.view-author > .block-topic__main-image:first-child {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  margin: 100px auto;
}

@media only screen and (max-width: 769px) {
  .view-author > .container:first-child,
  .card-article.is-featured .view-author > .card-article__main-image:first-child,
  .view-author > .block-topic__main-image:first-child {
    margin: 0;
    padding-bottom: 30px;
  }
}

.view-author .card-header {
  padding-top: 10px;
}

.view-author .card-header .avatar {
  border-radius: 50%;
  height: 120px;
  margin: 0 auto 15px;
  width: 120px;
}

.view-author .card-header:after {
  background: none;
  display: none;
}

.view-author .block-articles-latest {
  padding: 60px;
}

@media only screen and (max-width: 769px) {
  .view-author .block-articles-latest {
    padding: 0;
  }
}

.view-front-page > .row:nth-child(1) {
  position: relative;
}

.view-front-page .container,
.view-front-page .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-front-page .card-article__main-image,
.view-front-page .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-front-page .container,
  .view-front-page .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-front-page .card-article__main-image,
  .view-front-page .block-topic__main-image {
    width: 100%;
  }
}

.view-front-page .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-front-page .row > .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.has-no-mobile-margin .card-article.is-large {
    margin: 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.grid-8-offset-1:not(.has-no-mobile-margin) .card-article.is-large {
    margin: 0 0 60px 0;
  }
}

.view-front-page .row > .box-2 .card-article.is-small:last-child {
  margin: 0;
}

.view-front-page .row:not(:last-child) {
  margin-bottom: 60px;
  padding-bottom: 1px;
}

@media only screen and (max-width: 749px) {
  .view-front-page .row:not(:last-child) {
    margin-bottom: 0px;
  }
}

@media only screen and (min-width: 750px) {
  .view-front-page .card-article.is-small:first-child {
    margin: 0 0 60px 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .card-article.is-small {
    margin: 0 0 60px 0;
  }
}

.view-front-page .button-the-latest {
  border-bottom: 4px solid #2c383c;
  border-top: 1px solid #9FA5A9;
  padding: 30px;
}

@media only screen and (max-width: 769px) {
  .view-front-page .block-editors-picks + .block-topic-section {
    padding-bottom: 0;
  }
}

.view-front-page__bar {
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px auto;
  height: 37.5px;
}

.view-page-authors header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: left;
}

.view-page-authors header h2 {
  color: #1f1f1f;
  margin: 30px 0;
  font-size: 40px;
  text-align: center;
}

.view-page-authors .block-authors__name {
  font-size: 16px;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.view-page {
  padding-bottom: 90px;
}

.view-page .page-container {
  position: relative;
  z-index: 40;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
  margin-top: -90px;
  max-width: 810px;
  padding: 60px 75px 90px 75px;
}

@media only screen and (max-width: 749px) {
  .view-page .page-container {
    padding: 30px;
  }
}

.view-page .stripes-container {
  position: relative;
  z-index: -1;
  margin-bottom: -400px;
  min-height: 500px;
}

.view-page .stripes-container:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .stripes-container:before {
  left: 0;
}

.view-page .main-image {
  position: relative;
  z-index: 10;
}

.view-page .main-image:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .main-image:before {
  left: 0;
}

.view-page .main-image .container,
.view-page .main-image .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-page .main-image .card-article__main-image,
.view-page .main-image .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-page .main-image .container,
  .view-page .main-image .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-page .main-image .card-article__main-image,
  .view-page .main-image .block-topic__main-image {
    width: 100%;
  }
}

.view-page header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: center;
}

.view-page header h2 {
  margin: 0;
}

.view-page header h1,
.view-page header h2,
.view-page header h3,
.view-page header h4,
.view-page header h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content h1,
.view-page__content h2,
.view-page__content h3,
.view-page__content h4,
.view-page__content h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content p {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-page__content p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-page__content p {
    font-size: 1rem;
  }
}

.view-page__content p:last-child {
  margin: 0;
}

.view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
}

.view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"]) *,
.view-page__content a:not([href^="https://cdn"]) *:after,
.view-page__content a:not([href^="https://cdn"]):after,
.view-page__content a:not([href^="https://cdn"]) *:before,
.view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.is-dark .view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"]) *,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:after,
.is-dark .view-page__content a:not([href^="https://cdn"]):after,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:before,
.is-dark .view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.view-page__content strong,
.view-page__content b {
  font-weight: 800;
}

.view-page__content em {
  font-style: italic;
}

.view-page__content img {
  height: auto;
  max-width: 100%;
}

.view-page__content .post-password-form input[type="password"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.view-page__content .post-password-form input[type="password"]:focus {
  outline: none;
}

.view-page__content .post-password-form input[type="submit"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.view-page__content .post-password-form input[type="submit"]:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.view-page__content .post-password-form input[type="submit"] span {
  position: relative;
  z-index: 1;
}

.view-page__content .post-password-form input[type="submit"]:hover:after {
  width: 100%;
}

.ebook-container {
  padding: 0 0 25px 0;
  position: relative;
}

.ebook-container .ebook-controls {
  position: relative;
  z-index: 50;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: rgba(255, 255, 255, 0.8);
  top: 0;
  left: 0;
  position: absolute;
}

.ebook-container .slick-arrow {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% auto;
  border: none;
  height: 30px;
  transition: all .4s;
  text-indent: -999999px;
  width: 30px;
}

.ebook-container .slick-arrow.slick-next {
  background-image: url(../fonts/icon-arrow-right.svg?b403f8b74908f4a3e1fda131cc7d7325);
}

.ebook-container .slick-arrow.slick-prev {
  background-image: url(../fonts/icon-arrow-left.svg?f00bf64937e01744a0a3404e50f8af25);
}

.ebook-container .slick-arrow.slick-disabled {
  opacity: .25;
}

.view-single-post .wistia_responsive_padding {
  margin-bottom: 1.4em;
}

.view-single-post .block-magazine-rack,
.view-single-post .block-editors-picks {
  position: relative;
  z-index: 10;
}

.view-single-post .main-image__caption {
  bottom: 90px;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  left: 0;
  max-width: 640px;
  opacity: 0;
  padding: 0 75px;
  position: absolute;
  transition: all .4s;
  width: 100%;
}

.view-single-post .main-image__caption > .boxed {
  border-left: 3px solid #fff;
  padding: 0 0 0 15px;
}

.view-single-post .block-single__content h2,
.view-single-post .block-single__content h3,
.view-single-post .block-single__content h4,
.view-single-post .block-single__content h5,
.view-single-post .block-single__content h6 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-bottom: 7.5px;
}

.view-single-post .container strong,
.view-single-post .card-article.is-featured .card-article__main-image strong,
.card-article.is-featured .view-single-post .card-article__main-image strong,
.view-single-post .block-topic__main-image strong,
.view-single-post .container b,
.view-single-post .card-article.is-featured .card-article__main-image b,
.card-article.is-featured .view-single-post .card-article__main-image b,
.view-single-post .block-topic__main-image b {
  font-weight: 800;
}

.view-single-post .container em,
.view-single-post .card-article.is-featured .card-article__main-image em,
.card-article.is-featured .view-single-post .card-article__main-image em,
.view-single-post .block-topic__main-image em {
  font-style: italic;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p {
  position: relative;
  z-index: 10;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p,
.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1rem;
  }
}

.view-single-post .container p:last-child,
.view-single-post .card-article.is-featured .card-article__main-image p:last-child,
.card-article.is-featured .view-single-post .card-article__main-image p:last-child,
.view-single-post .block-topic__main-image p:last-child,
.view-single-post .container ul:last-child,
.view-single-post .card-article.is-featured .card-article__main-image ul:last-child,
.card-article.is-featured .view-single-post .card-article__main-image ul:last-child,
.view-single-post .block-topic__main-image ul:last-child {
  margin: 0;
}

.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  margin-left: 1.4em;
}

.view-single-post .container ul li:not(:last-child),
.view-single-post .card-article.is-featured .card-article__main-image ul li:not(:last-child),
.card-article.is-featured .view-single-post .card-article__main-image ul li:not(:last-child),
.view-single-post .block-topic__main-image ul li:not(:last-child) {
  margin: 0 0 5px 0;
}

.view-single-post .container blockquote,
.view-single-post .card-article.is-featured .card-article__main-image blockquote,
.card-article.is-featured .view-single-post .card-article__main-image blockquote,
.view-single-post .block-topic__main-image blockquote {
  border-bottom: 1px solid #a9b5b8;
  border-top: 1px solid #a9b5b8;
  margin: 2.2em 0;
  text-align: center;
}

.view-single-post .container blockquote p,
.view-single-post .card-article.is-featured .card-article__main-image blockquote p,
.card-article.is-featured .view-single-post .card-article__main-image blockquote p,
.view-single-post .block-topic__main-image blockquote p {
  font-weight: 800;
  font-size: 1.5rem;
  margin: 35px auto !important;
}

@media only screen and (min-width: 750px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    max-width: 70%;
  }
}

@media only screen and (max-width: 769px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.25rem;
  }
}

.view-single-post .container .entry-content-asset,
.view-single-post .card-article.is-featured .card-article__main-image .entry-content-asset,
.card-article.is-featured .view-single-post .card-article__main-image .entry-content-asset,
.view-single-post .block-topic__main-image .entry-content-asset,
.view-single-post .container .wp-video,
.view-single-post .card-article.is-featured .card-article__main-image .wp-video,
.card-article.is-featured .view-single-post .card-article__main-image .wp-video,
.view-single-post .block-topic__main-image .wp-video,
.view-single-post .container .component-gallery,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery,
.view-single-post .block-topic__main-image .component-gallery {
  margin: 0 0 1.4em 0;
}

.view-single-post .container .size-full,
.view-single-post .card-article.is-featured .card-article__main-image .size-full,
.card-article.is-featured .view-single-post .card-article__main-image .size-full,
.view-single-post .block-topic__main-image .size-full,
.view-single-post .container .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .alignnone,
.view-single-post .block-topic__main-image .alignnone {
  display: block;
  height: auto;
  max-width: 100%;
}

@media only screen and (min-width: 770px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    position: relative;
    width: 100vw !important;
    max-width: none;
    left: -75px;
    margin: 7% 0 !important;
  }

  .view-single-post .container .is-fullbrowserwidth img,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth img,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth img,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth img {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 980px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - 5vw + -21%);
  }
}

@media only screen and (min-width: 1400px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - ( (100vw - 1230px) / 2) + -21%);
  }
}

.view-single-post .container .is-fullbrowserwidth .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth .alignnone,
.view-single-post .block-topic__main-image .is-fullbrowserwidth .alignnone {
  width: 100% !important;
}

.view-single-post .container .redshift-video-embed.aligncenter > div,
.view-single-post .card-article.is-featured .card-article__main-image .redshift-video-embed.aligncenter > div,
.card-article.is-featured .view-single-post .card-article__main-image .redshift-video-embed.aligncenter > div,
.view-single-post .block-topic__main-image .redshift-video-embed.aligncenter > div {
  width: 100% !important;
}

.view-single-post .container .alignright,
.view-single-post .card-article.is-featured .card-article__main-image .alignright,
.card-article.is-featured .view-single-post .card-article__main-image .alignright,
.view-single-post .block-topic__main-image .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignright,
  .view-single-post .card-article.is-featured .card-article__main-image .alignright,
  .card-article.is-featured .view-single-post .card-article__main-image .alignright,
  .view-single-post .block-topic__main-image .alignright {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .alignleft,
.view-single-post .card-article.is-featured .card-article__main-image .alignleft,
.card-article.is-featured .view-single-post .card-article__main-image .alignleft,
.view-single-post .block-topic__main-image .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignleft,
  .view-single-post .card-article.is-featured .card-article__main-image .alignleft,
  .card-article.is-featured .view-single-post .card-article__main-image .alignleft,
  .view-single-post .block-topic__main-image .alignleft {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .component-gallery .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery .wp-caption,
.view-single-post .block-topic__main-image .component-gallery .wp-caption {
  margin-bottom: 0;
}

.view-single-post .container .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption,
.view-single-post .block-topic__main-image .wp-caption {
  margin-bottom: 1.4em;
  overflow: hidden;
  position: relative;
  z-index: 11;
}

.view-single-post .container .wp-caption img,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption img,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption img,
.view-single-post .block-topic__main-image .wp-caption img {
  display: block;
  height: auto;
  width: 100%;
}

.view-single-post .container .wp-caption .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  bottom: 0;
  left: 0;
  font-size: 0.875rem;
  margin: 0;
  padding: 30px;
  position: absolute;
  transform: translateY(100%);
  transition: transform .4s;
  width: 100%;
  z-index: 5;
}

@media only screen and (max-width: 1029px) {
  .view-single-post .container .wp-caption .wp-caption-text,
  .view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
  .card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
  .view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
    background: #fff;
    color: #9FA5A9;
    position: static;
    transform: none;
  }
}

.view-single-post .container .wp-caption .wp-caption-text a,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text a,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text a,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text a {
  background: none;
  border-bottom: 1px solid #fff;
  text-shadow: none;
}

.view-single-post .container .wp-caption:hover .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption:hover .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption:hover .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption:hover .wp-caption-text {
  transform: translateY(0);
}

.block-single__sidebar .site-ad {
  margin-bottom: 40px;
}

.block-single__sidebar .site-ad:last-child {
  margin-bottom: 0;
}

.is-dark,
.is-dark .block-single__body,
.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  background-color: #222d31;
  color: #fff;
}

.is-dark .box-4 svg {
  fill: #fff;
}

.is-dark .block-newsletter-footer:before,
.is-dark .block-newsletter-inline:before {
  background-color: transparent !important;
}

.is-dark .block-menu a,
.is-dark .component-button-newsletter,
.is-dark .block-single__title,
.is-dark .block-single__content,
.is-dark .component-heading span {
  color: #fff;
}

.is-dark .block-single__author {
  color: #9FA5A9;
}

.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  border-top: 1px solid #9FA5A9;
}

.is-dark .block-magazine-rack .card-article__title,
.is-dark .block-editors-picks .card-article__title,
.is-dark .block-magazine-rack .card-article__author,
.is-dark .block-editors-picks .card-article__author {
  color: #fff;
}

.is-dark.block-header {
  border-color: #fff;
}

.is-dark .component-share-alt {
  background-color: transparent;
}

.is-dark .component-share-alt a {
  border-color: transparent;
}

.is-dark .component-share-alt svg {
  fill: #2c383c;
}

.is-dark .block-single__sidebar {
  background-color: #222d31;
  outline: 30px solid #222d31;
}

.is-dark .block-single__recommended {
  border-color: #9FA5A9;
}

.is-dark .block-single__recommended .title {
  color: #fff;
}

.is-dark .block-single__recommended .divider {
  background-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar {
  border-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar .boxed {
  background-color: transparent;
  -o-border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
     border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
}

.is-dark .block-newsletter-sidebar .title,
.is-dark .block-newsletter-sidebar .subtitle {
  color: #fff;
}

.is-dark .block-newsletter-sidebar form button.mktoButton {
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.is-dark .block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #fff;
}

.is-dark .container .wp-caption .wp-caption-text,
.is-dark .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .is-dark .card-article__main-image .wp-caption .wp-caption-text,
.is-dark .block-topic__main-image .wp-caption .wp-caption-text {
  background-color: #2c383c;
  color: #fff;
}

/* ==== Event pop up hacks ========== */

body[data-blogid="4"] .container p,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
body[data-blogid="4"] .block-topic__main-image p,
body[data-blogid="4"] .container ul,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
body[data-blogid="4"] .block-topic__main-image ul {
  font-size: 1rem;
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 749px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 0.8125rem;
  }
}

#block-single__gated-content {
  display: none;
  margin: 60px 0;
}

#block-single__gate_code {
  display: block;
  margin: 60px 0 0;
}

#block-single__gate_code h3 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
  margin-top: 60px;
  text-align: center;
}

#block-single__gate_code .block-single__gate-code-footer p {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 12px;
  font-weight: 100;
  line-height: 1.5;
  margin: 7.5px auto 10px;
  max-width: 500px;
}

#block-single__gate_code .block-single__gate-code-footer p a {
  background-image: none;
  color: #9FA5A9;
  text-decoration: underline;
}

@media only screen and (max-width: 769px) {
  #block-single__gate_code .block-single__gate-code-footer p {
    font-size: 12px;
  }
}

.block-single__gate-code .block-single__copy {
  text-align: center;
}

.block-single__gate-code #iframe1 {
  margin-top: 30px;
}

.block-single__gate-code #iframe1 iframe {
  width: 100%;
}

.block-single__gate-code .block-single__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-single__gate-code .block-single__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#block-single__gated-content {
  text-align: left;
}

#block-single__gated-content p {
  margin-bottom: 30px;
}

.view-topic-page .block-magazine-rack,
.view-topic-page .block-editors-picks {
  padding: 30px 0 15px 0;
}

.view-topic-page .block-magazine-rack .component-heading,
.view-topic-page .block-editors-picks .component-heading {
  margin-bottom: 7.5px;
}

.view-topic-page .block-magazine-rack .component-heading span,
.view-topic-page .block-editors-picks .component-heading span {
  font-size: 20px;
}

.state-header-shadowed .block-header {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.state-header-shadowed .block-header.is-dark {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #000;
  color: rgba(255, 255, 255, 0.9);
}

.state-header-shadowed .block-header.is-dark .logo svg {
  fill: rgba(255, 255, 255, 0.9);
}

.state-header-init .nav-tease {
  opacity: 0;
}

.state-header-init .logo-tease {
  height: 60px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-tease {
    transform: translateY(-100px);
    opacity: 0;
  }
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-image {
    display: none;
  }
}

.state-header-init .block-header__postmeta {
  transform: translateY(-12px);
  opacity: 1;
  visibility: visible;
  height: 14px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .block-header__postmeta {
    transform: translateY(0);
    text-align: center;
  }
}

.state-header-init .block-header__postmeta-social {
  transform: translateY(-60px);
  opacity: 1;
  height: 58px;
}

@media only screen and (min-width: 1030px) and (min-width: 750px) {
  .state-newsletter-open {
    overflow: hidden;
  }
}

@media only screen and (min-width: 1030px) {
  .state-newsletter-open .site {
    overflow: hidden;
    filter: blur(1px);
  }
}

.state-newsletter-open .block-newsletter {
  opacity: 1;
  visibility: visible;
  z-index: 60;
  transform: translate3d(0, 0, 0);
}

.state-newsletter-open .block-newsletter.block-newsletter-overlay.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.state-newsletter-open .component-layout-close-overlay {
  opacity: 1;
  visibility: visible;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

@media only screen and (max-width: 1029px) {
  .state-newsletter-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-megamenu-open {
    overflow: hidden;
  }
}

.state-megamenu-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-megamenu-open .block-header .navigation-primary {
  opacity: 1;
  visibility: visible;
}

.state-megamenu-open .block-megamenu__bottom,
.state-megamenu-open .block-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.state-megamenu-open .component-button-menu .line-1,
.state-megamenu-open .block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.state-megamenu-open .component-button-menu .line-2,
.state-megamenu-open .block-search__close .line-2 {
  opacity: 0;
}

.state-megamenu-open .component-button-menu .line-3,
.state-megamenu-open .block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (max-width: 1029px) {
  .state-megamenu-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-search-open {
    overflow: hidden;
  }
}

.state-search-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-search-open .block-search {
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 70;
  position: fixed;
  transform: translate3d(0, 0, 0);
}

.state-submenu-open .component-submenu {
  height: 50px;
  margin-top: 0px;
  padding: 15px 0;
  opacity: 1;
  overflow: hidden;
}

body.state-switcher-open {
  overflow: hidden;
}

.state-switcher-open .component-switcher {
  opacity: 1;
  overflow-y: scroll;
  visibility: visible;
}

@media only screen and (max-width: 769px) {
  .state-switcher-open .component-switcher__links {
    left: 30px;
    width: calc(100% - 30px);
  }
}

@media screen and (max-height: 900px) and (min-width: 770px) {
  .state-switcher-open .component-switcher__links {
    width: 400px;
    left: calc(100% - 400px);
  }
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .block-newsletter-footer .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-single__title {
    font-size: 29.4px !important;
  }

  body[data-blogid="4"] .block-topic__mobile-title {
    font-size: 31.5px;
  }

  body[data-blogid="4"] .block-topic-section .card-article__title {
    font-size: 26.25px !important;
  }

  body[data-blogid="4"] .card-article-feature__title,
  body[data-blogid="4"] .block-featured-section__subtitle,
  body[data-blogid="4"] .component-heading {
    font-size: 25.25px;
  }

  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title,
  body[data-blogid="4"] .view-single-post .container p,
  body[data-blogid="4"] .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .view-single-post .card-article__main-image p,
  body[data-blogid="4"] .view-single-post .block-topic__main-image p,
  body[data-blogid="4"] .block-newsletter .subtitle,
  body[data-blogid="4"] .view-page-authors .block-authors__name {
    font-size: 16.8px;
  }

  body[data-blogid="4"] .card-article__topic a,
  body[data-blogid="4"] .card-article__author {
    font-size: 15.75px;
  }

  body[data-blogid="4"] .block-footer__menu {
    font-size: 14.7px;
  }

  body[data-blogid="4"] .card-article-feature__author,
  body[data-blogid="4"] .block-footer-secondary,
  body[data-blogid="4"] .block-single__author,
  body[data-blogid="4"] .block-single__topic {
    font-size: 12.6px;
  }

  body[data-blogid="4"] .card-article.is-aside .card-article__title a,
  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.378rem;
  }

  body[data-blogid="4"] .card-header.has-description .card-header__title {
    font-size: 1.968rem;
  }
}

@media screen and (min-width: 1400px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter {
    font-size: 13px;
    padding: 0 2px;
    letter-spacing: unset;
  }
}

@media screen and (min-width: 1541px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: block;
  }
}

@media screen and (min-width: 1400px) and (max-width: 1540px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: none;
  }
}

.gform_wrapper ul {
  list-style: none;
}

.gform_wrapper .gform_title {
  display: none;
}

.gform_wrapper .gfield_description.validation_message {
  color: #DD2222;
}

.gform_wrapper div.validation_error {
  color: #DD2222 !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.gform_wrapper .gform_fields li.gfield.gfield_error {
  background-color: transparent !important;
  border-bottom: none !important;
  border-top: none !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.gform_wrapper li {
  margin: 0 0 15px 0;
}

.gform_wrapper .ginput_complex > span {
  display: block;
}

.gform_wrapper .ginput_complex > span:not(:last-child) {
  margin: 0 0 15px 0;
}

.gform_wrapper label {
  position: absolute;
  left: -999999px;
}

.gform_wrapper .gform_description {
  font-size: 0.9375rem;
  line-height: 1.4;
  display: block;
  margin: 0 0 15px 0;
}

.gform_wrapper ul.gform_fields li.gfield {
  padding-right: 0 !important;
}

.gform_wrapper .ginput_complex.ginput_container {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.gform_wrapper .ginput_complex.ginput_container > span:not(:last-child) {
  margin-bottom: 0;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span {
  display: block;
  width: 100%;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:first-child {
  margin-bottom: 15px;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:last-child {
  margin-bottom: 0px;
}

.gform_wrapper input,
.gform_wrapper textarea {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100% !important;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
  outline: none;
}

.gform_wrapper input[type="submit"].gform_button.button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #000;
  color: #fff;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  width: 100%;
}

.gform_wrapper input[type="submit"].gform_button.button:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.gform_wrapper input[type="submit"].gform_button.button span {
  position: relative;
  z-index: 1;
}

.gform_wrapper input[type="submit"].gform_button.button:hover {
  background: #000;
}

.gform_wrapper input[type="submit"].gform_button.button:hover:after {
  width: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9zY3NzL2FwcC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2hlbHBlcnMuY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L3ZhcmlhYmxlcy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fYnJlYWtwb2ludHMtcGFyc2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fc3RyaW5nLXRvLW51bWJlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvZnVuY3Rpb25zL19icmVha3BvaW50cy12YWx1ZXMuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9fYnJlYWtwb2ludC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi92YXJpYWJsZXMvX2JhY2tncm91bmRzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19pbWFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGluay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGV2ZWxzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGF5b3V0LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19vdmVybGF5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19zaGFkb3dzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi9zZXR1cC9fYmFzZS5zY3NzIiwibm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIm5vZGVfbW9kdWxlcy9ycy1icmVha3BvaW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvX2xheW91dC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL190cmFuc2l0aW9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21hZ2F6aW5lLXJhY2suc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX25ld3NsZXR0ZXItcG9saWN5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19yZWNvbW1lbmRlZC1pbmxpbmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19zb2NpYWwuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtaW5saW5lLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtc2lkZWJhci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX2FydGljbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLWZlYXR1cmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLXNuaXBwZXQuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Iuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Itc25pcHBldC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX3NwZWFrZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2Zvb3Rlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fc2VhcmNoLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX3NpbmdsZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy1zZWN0aW9uLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2ZlYXR1cmVkLXNlY3Rpb24uc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19tZWdhbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1hc2lkZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1sYXRlc3Quc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWFnYXppbmUtcmFjay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19lZGl0b3JzLXBpY2tzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX25ld3NsZXR0ZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hd2FyZHMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fZXZlbnQuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fYXV0aG9yLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fZnJvbnQtcGFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2UtYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL19zaW5nbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX2hlYWRlci5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19uZXdzbGV0dGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX21lZ2FtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3NlYXJjaC5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19zdWJtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3N3aXRjaGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9nZW9zLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92ZW5kb3IvZ3Jhdml0eS9faW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmVuZG9yL2hlbHBlcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYnJlYWtwb2ludC9pbmRleFwiO1xuXG5AaW1wb3J0IFwiZW52L2luZGV4XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmRleFwiO1xuQGltcG9ydCBcImNhcmRzL2luZGV4XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2luZGV4XCI7XG5AaW1wb3J0IFwidmlld3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdGF0ZXMvaW5kZXhcIjtcblxuXG4vLyBnZW8gc3BlY2lmaWMgXG5AaW1wb3J0IFwiZ2Vvc1wiO1xuXG4vLyBncmF2aXR5IGZvcm1zXG5AaW1wb3J0IFwidmVuZG9yL2dyYXZpdHkvaW5kZXhcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59LyoqXG4gKlxuICogRlJOVCBSZXNldFxuICogTm9ybWFsaXplIHYzLjAuMiArIEN1c3RvbSBcbiAqL1xuXG4qIHtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufS5pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuLmdyb3VwOmJlZm9yZSwgLmdyb3VwOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAwMjBcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdyb3VwOmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi5ncm91cCB7XG5cdHpvb206IDE7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMvaW5kZXgnO1xuQGltcG9ydCAnZnVuY3Rpb25zL2luZGV4JztcbkBpbXBvcnQgJ21peGlucy9pbmRleCc7XG4iLCIkYnJlYWtwb2ludHMtdmFsdWVzOiAoXG4gIG1vYmlsZS1zbWFsbDogMzIwLFxuICBtb2JpbGUtbWVkaXVtOiA0ODAsXG4gIG1vYmlsZS1sYXJnZTogNzUwLFxuXG4gIHRhYmxldC1zbWFsbDogNzcwLFxuICB0YWJsZXQtbWVkaXVtOiA4MzAsXG4gIHRhYmxldC1sYXJnZTogOTgwLFxuXG4gIGRlc2t0b3Atc21hbGw6IDEwMzAsXG4gIGRlc2t0b3AtbWVkaXVtOiAxMjAwLFxuICBkZXNrdG9wLWxhcmdlOiAxNDAwXG4pICFkZWZhdWx0O1xuXG4kYnJlYWtwb2ludHMtaWU4OiBmYWxzZSFkZWZhdWx0O1xuIiwiQGltcG9ydCAnYnJlYWtwb2ludHMtcGFyc2UnO1xuQGltcG9ydCAnc3RyaW5nLXRvLW51bWJlcic7XG5AaW1wb3J0ICdicmVha3BvaW50cy12YWx1ZXMnO1xuIiwiQGZ1bmN0aW9uIF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKSB7XG4gIC8vIHRleHQgdG8gc2VhcmNoIGZvclxuICAkRlJPTTogJ2Zyb20gJztcbiAgJFRPOiAndG8gJztcblxuXG4gIC8vIGNvbnZlcnQgdG8gc3RyaW5nXG4gICRzdHJpbmc6IGluc3BlY3QoJHN0cmluZyk7XG5cblxuICAvLyBmbGFncyBmb3IgbWluIGFuZCBtYXggdmFsdWVzXG4gICRoYXMtbWluOiBmYWxzZTtcbiAgJGhhcy1tYXg6IGZhbHNlO1xuXG5cbiAgLy8gY2hlY2sgd2hhdCB0eXBlIG9mIGJyZWFrcG9pbnRzIHdlIGhhdmVcbiAgQGlmIHR5cGUtb2Yoc3RyLWluZGV4KCRzdHJpbmcsICRGUk9NKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1pbjogdHJ1ZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pKSA9PSBudW1iZXIge1xuICAgICRoYXMtbWF4OiB0cnVlO1xuICB9XG5cblxuICAvLyBzbGljZSB0aGUgc3RyaW5nIHRvIHJldHJpZXZlIG1pbiBhbmQgbWF4IHZhbHVlcyBmb3IgYnJlYWtwb2ludHNcbiAgQGlmICRoYXMtbWluIGFuZCAkaGFzLW1heCB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSAtIDIpO1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pICsgc3RyLWxlbmd0aCgkVE8pKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1pbiA9PSBmYWxzZSB7XG4gICAgJG1heC1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkVE8pICsgMSk7XG5cbiAgICBAcmV0dXJuIChmYWxzZSwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1heCA9PSBmYWxzZSB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgZmFsc2UpO1xuICB9XG5cbiAgQHJldHVybiAoZmFsc2UsIGZhbHNlKTtcbn1cbiIsIkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cbiIsIkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtdmFsdWVzKCR2YWx1ZSkge1xuICAvLyB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBwcmUtZXhpc3RpbmcgYnJlYWtwb2ludHNcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMtdmFsdWVzLCAkdmFsdWUpO1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nIHtcbiAgICAkdmFsdWU6IF9zdHJpbmctdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9IG51bWJlciB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiQGltcG9ydCAnYnJlYWtwb2ludCc7XG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkc3RyaW5nKSB7XG4gICRzdHJpbmc6IF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKTtcbiAgJG1pbi1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAxKSk7XG4gICRtYXgtYnJlYWtwb2ludDogX2JyZWFrcG9pbnRzLXZhbHVlcyhudGgoJHN0cmluZywgMikpO1xuXG4gIEBpZiAoJG1pbi1icmVha3BvaW50ID09IGZhbHNlIGFuZCAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UpIG9yICgkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRicmVha3BvaW50cy1pZTgpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZXR1cC9pbmRleFwiO1xuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmRzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIi8vIGdlbmVyaWNcblxuJFdISVRFOiAjZmZmO1xuJEJMQUNLOiAjMDAwO1xuXG4vLyBicmFuZFxuXG4kV0hJVEUtT0ZGOiAjZmFmYWZhO1xuJEJMQUNLLU9GRjogIzFmMWYxZjtcbiRHUkVZOiAjOUZBNUE5O1xuJEdSRVktQkxVRTogI2E5YjViODtcbiRHUkVZLUxJR0hUOiAjZjVmNWY1O1xuJERBUkstQkxVRTogIzJjMzgzYztcbiRSRUQ6ICNERDIyMjI7XG4kRVJST1I6ICRSRUQ7XG5cbiREQVJLLUFSVElDTEUtQkc6ICMyMjJkMzE7XG5cbiRGQUNFQk9PSzogIzNiNTk5ODtcbiRUV0lUVEVSOiAjNTVhY2VlO1xuJEdPT0dMRTogI2YwMzUzMDtcbiRMSU5LRURJTjogIzAwNzdiNTtcbiIsIi8vIGRpYWdvbmFsIHN0cmlwZWQgcGF0dGVyblxuJFNUUklQRUQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpIGNlbnRlciBjZW50ZXI7IiwiLy8gJENPTFVNTlM6IDIwcHg7XG5cbiRHUklELUNPTDogNzU7XG4kR1JJRC1TUEFDRVI6IDMwO1xuXG4kR1JJRC1DT05UQUlORVI6ICgkR1JJRC1DT0wgKiAxMikgKyAoJEdSSUQtU1BBQ0VSICogMTEpO1xuXG5cbiRIRUFERVJfSEVJR0hUOiA5MnB4O1xuJEhFQURFUl9IRUlHSFRfTU9CSUxFOiA4NXB4O1xuJE5BVklHQVRJT05fQkFSOiA1MnB4O1xuJEZPT1RFUl9IRUlHSFQ6IDkzcHg7XG5cbi8vIGxheW91dFxuJENPTlRBSU5FUjogMCAxMHZ3O1xuIiwiJFRJVExFOiAnQXJ0aWZha3QgTGVnZW5kJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kU0FOUzogJ0FydGlmYWt0IEVsZW1lbnQnLCdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJFNFUklGOiAnR2VvcmdpYScsIHNlcmlmO1xuXG4kTElORUhFSUdIVDogMS40O1xuXG4kQkFTRS1TSVpFOiAxNnB4O1xuXG4kSDE6IDMwcHg7XG4kSDI6IDI0cHg7XG4kSDM6IDIwcHg7XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIkBmdW5jdGlvbiBncmlkKCRuOiAxKSB7XG4gICAgQHJldHVybiAkR1JJRC1DT0wgKiAkbiArIHB4O1xufVxuXG5AZnVuY3Rpb24gZ3JpZC1waXhlbHMoJGNvbCwkc3BhY2VyKSB7XG4gICAgQHJldHVybiAoJEdSSUQtQ09MICogJGNvbCkgKyAoJEdSSUQtU1BBQ0VSICogJHNwYWNlcikgKyBweDtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtcGVyY2VudGFnZSgkY29sLCRzcGFjZXIpIHtcbiAgICAkbnVtYmVyOiAoKCRHUklELUNPTCAqICRjb2wpICsgKCRHUklELVNQQUNFUiAqICRzcGFjZXIpKSAvICRHUklELUNPTlRBSU5FUjtcbiAgICAkbnVtYmVyOiBmbG9vcigkbnVtYmVyKjEwMCkgLyAxMDA7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCRudW1iZXIpO1xufVxuIiwiQGZ1bmN0aW9uIHBpeGVscy10by1yZW0oJHBpeGVscykge1xuICAgIEByZXR1cm4gJHBpeGVscy8kQkFTRS1TSVpFICsgcmVtO1xufVxuIiwiQGltcG9ydCBcImltYWdlXCI7XG5AaW1wb3J0IFwibGlua1wiO1xuQGltcG9ydCBcImxldmVsc1wiO1xuQGltcG9ydCBcInByb3BzXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwib3ZlcmxheVwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJzaGFkb3dzXCI7XG4iLCJAbWl4aW4gaW1hZ2UtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGltYWdlLWZ1bGwge1xuICAgIEBpbmNsdWRlIGltYWdlLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gaW1hZ2UtbWF4IHtcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGluay10ZXh0LXVuZGVybGluZS1jcm9wKCRiYWNrZ3JvdW5kKSB7XG4gIHRleHQtc2hhZG93OiAgLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAwIC4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIDAgLS4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAuMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0uMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4xNWVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4xNWVtIDAgJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtdW5kZXJsaW5lKCRjb2xvci1iZywgJGNvbG9yLXRleHQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvci10ZXh0LCAkY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtc2VsZWN0aW9uKCRzZWxlY3Rpb24pIHtcblxuICAmOjpzZWxlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGxpbmstdGV4dC11bmRlcmxpbmUtY3JvcCgkc2VsZWN0aW9uKTtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uO1xuICB9XG5cbn1cblxuQG1peGluIGxzcy1saW5rLXVuZGVybGluZSgkYmFja2dyb3VuZCwgJHRleHQsICRzZWxlY3Rpb24pe1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lKCRiYWNrZ3JvdW5kLCAkdGV4dCk7XG4gIEBpbmNsdWRlIGxpbmstdGV4dC1zZWxlY3Rpb24oJHNlbGVjdGlvbik7XG5cbiAgY29sb3I6ICR0ZXh0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgKixcbiAgKjphZnRlcixcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICY6YmVmb3JlIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR0ZXh0O1xuICB9XG5cbn1cbiIsIkBtaXhpbiBsZXZlbHMoJGxldmVsOiAwKXtcblxuICAgIEBpZigkbGV2ZWwgPT0gMCl7XG4gICAgICAgICRsZXZlbDogLTE7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSAxKXtcbiAgICAgICAgJGxldmVsOiAxMDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDIpe1xuICAgICAgICAkbGV2ZWw6IDIwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gMyl7XG4gICAgICAgICRsZXZlbDogMzA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA0KXtcbiAgICAgICAgJGxldmVsOiA0MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDUpe1xuICAgICAgICAkbGV2ZWw6IDUwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gNil7XG4gICAgICAgICRsZXZlbDogNjA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA3KXtcbiAgICAgICAgJGxldmVsOiA3MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDgpe1xuICAgICAgICAkbGV2ZWw6IDgwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gOSl7XG4gICAgICAgICRsZXZlbDogOTA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6ICRsZXZlbDtcbn1cbiIsIkBtaXhpbiBwcm9wLW1heC13aWR0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG5AbWl4aW4gcHJvcC1mdWxsLXdpZHRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkZGlyZWN0aW9uOiByb3cpe1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuXG5AbWl4aW4gbGF5b3V0LW92ZXJsYXl7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGxheW91dC1idXR0b24oJGRpbWVuc2lvbil7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkQkxBQ0s7XG4gICAgaGVpZ2h0OiAkZGltZW5zaW9uO1xuICAgIHdpZHRoOiAkZGltZW5zaW9uO1xufVxuXG5AbWl4aW4gbGF5b3V0LWhpZGRlbntcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIGxheW91dC12aXNpYmxle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTs7XG59XG5cbkBtaXhpbiBsYXlvdXQtc3RhdGUtb3BlbntcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2l0ZXtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gbmVlZGVkIGZvciBtb2JpbGUvdGFibGV0c1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMXB4KTtcbiAgICB9XG5cbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQtYmFzaWN7XG4gICAgYmFja2dyb3VuZDogJFNUUklQRUQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweDtcbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmR7XG4gICAgJjphZnRlcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKC0xKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZC1iYXNpYztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDAgOTk5OXB4O1xuICAgICAgICBtYXJnaW46IDAgLTk5OTlweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXlvdXQtZGl2aWRlZC1saXN0KCRzcGFjZXI6IDEsICRjb2xvcjogJEdSRVkpIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcblx0bWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgJHNwYWNlcik7XG5cdHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblx0fVxufVxuXG4iLCJAbWl4aW4gbGF5b3V0LW92ZXJsYXkoJGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLCAuOCkpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiQG1peGluIGgxIHtcbiAgICBmb250LXNpemU6ICRIMTtcbn1cblxuQG1peGluIGgyIHtcbiAgICBmb250LXNpemU6ICRIMjtcbn1cblxuQG1peGluIGgzIHtcbiAgICBmb250LXNpemU6ICRIMztcbn1cblxuQG1peGluIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogJExJTkVIRUlHSFQ7XG59XG5cbi8vIG9sZFxuXG5AbWl4aW4gdHlwZS1oMSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDQwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbkBtaXhpbiB0eXBlLWgzIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQG1peGluIHR5cGUtaDQge1xuICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5cbkBtaXhpbiB0eXBlLXNtYWxsIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA3ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5AbWl4aW4gdHlwZS1wIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuXG5cbiIsIkBtaXhpbiBzaGFkb3ctMSB7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAyNHB4IHJnYmEoJEJMQUNLLC4xKTtcbn1cblxuQG1peGluIHNoYWRvdy0xLWhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDU0cHggcmdiYSgkQkxBQ0ssLjIpO1xufVxuXG5AbWl4aW4gc2hhZG93LTIge1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMjRweCByZ2JhKCRCTEFDSywuMik7XG59XG4iLCJAaW1wb3J0IFwiYmFzZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJwcm9wc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG4iLCJAaW1wb3J0IFwifm5vcm1hbGl6ZS5jc3NcIjtcbkBpbXBvcnQgXCJ+cmVzZXQtY3NzL3Jlc2V0LmNzc1wiO1xuQGltcG9ydCBcIn5ycy1icmVha3BvaW50cy9pbmRleFwiO1xuXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuKiwgOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYWRkcmVzc3tcblxufVxuXG5ib2R5e1xuICAgIGxpbmUtaGVpZ2h0OiAkTElORUhFSUdIVDtcbn1cblxuZmlndXJle1xuICAgIG1hcmdpbjogMDtcbn1cblxuaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5tYXJre1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIiRicmVha3BvaW50cy12YWx1ZXM6IChcbiAgbW9iaWxlLXNtYWxsOiAzMjAsXG4gIG1vYmlsZS1tZWRpdW06IDQ4MCxcbiAgbW9iaWxlLWxhcmdlOiA2NDAsXG5cbiAgdGFibGV0LXNtYWxsOiA3NjgsXG4gIHRhYmxldC1tZWRpdW06IDgwMCxcbiAgdGFibGV0LWxhcmdlOiA5ODAsXG5cbiAgZGVza3RvcC1zbWFsbDogMTAyNCxcbiAgZGVza3RvcC1tZWRpdW06IDEyMDAsXG4gIGRlc2t0b3AtbGFyZ2U6IDE0MDBcbikgIWRlZmF1bHQ7XG5cbiRicmVha3BvaW50cy1pZTg6IGZhbHNlIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtcGFyc2UoJHN0cmluZykge1xuICAvLyB0ZXh0IHRvIHNlYXJjaCBmb3JcbiAgJEZST006ICdmcm9tICc7XG4gICRUTzogJ3RvICc7XG5cblxuICAvLyBjb252ZXJ0IHRvIHN0cmluZ1xuICAkc3RyaW5nOiBpbnNwZWN0KCRzdHJpbmcpO1xuXG5cbiAgLy8gZmxhZ3MgZm9yIG1pbiBhbmQgbWF4IHZhbHVlc1xuICAkaGFzLW1pbjogZmFsc2U7XG4gICRoYXMtbWF4OiBmYWxzZTtcblxuXG4gIC8vIGNoZWNrIHdoYXQgdHlwZSBvZiBicmVha3BvaW50cyB3ZSBoYXZlXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkRlJPTSkpID09IG51bWJlciB7XG4gICAgJGhhcy1taW46IHRydWU7XG4gIH1cblxuICBAaWYgdHlwZS1vZihzdHItaW5kZXgoJHN0cmluZywgJFRPKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1heDogdHJ1ZTtcbiAgfVxuXG5cbiAgLy8gc2xpY2UgdGhlIHN0cmluZyB0byByZXRyaWV2ZSBtaW4gYW5kIG1heCB2YWx1ZXMgZm9yIGJyZWFrcG9pbnRzXG4gIEBpZiAkaGFzLW1pbiBhbmQgJGhhcy1tYXgge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSwgc3RyLWluZGV4KCRzdHJpbmcsICRUTykgLSAyKTtcbiAgICAkbWF4LWJyZWFrcG9pbnQ6IHN0ci1zbGljZSgkc3RyaW5nLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSArIHN0ci1sZW5ndGgoJFRPKSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1taW4gPT0gZmFsc2Uge1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJFRPKSArIDEpO1xuXG4gICAgQHJldHVybiAoZmFsc2UsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1tYXggPT0gZmFsc2Uge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsIGZhbHNlKTtcbiAgfVxuXG4gIEByZXR1cm4gKGZhbHNlLCBmYWxzZSk7XG59XG5cbkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIF9icmVha3BvaW50cy12YWx1ZXMoJHZhbHVlKSB7XG4gIC8vIHRyeSB0byBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIHByZS1leGlzdGluZyBicmVha3BvaW50c1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLXZhbHVlcywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSk7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gICAgfVxuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICR2YWx1ZTogX3N0cmluZy10by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCkge1xuICBAaWYgJG1heC1icmVha3BvaW50ICE9IGZhbHNlIHtcbiAgICBAaWYgdW5pdCgkbWF4LWJyZWFrcG9pbnQpID09IHB4IHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50IC0gMTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG1heC1icmVha3BvaW50O1xufVxuXG5cbkBtaXhpbiBicmVha3BvaW50KCRzdHJpbmcpIHtcbiAgJHN0cmluZzogX2JyZWFrcG9pbnRzLXBhcnNlKCRzdHJpbmcpO1xuICAkbWluLWJyZWFrcG9pbnQ6IF9icmVha3BvaW50cy12YWx1ZXMobnRoKCRzdHJpbmcsIDEpKTtcbiAgJG1heC1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAyKSk7XG5cbiAgJG1heC1icmVha3BvaW50OiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSkgb3IgKCRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSBhbmQgJGJyZWFrcG9pbnRzLWllOCkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICRtaW4tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyByZXF1aXJlIGJyZWFrcG9pbnRcbkBtaXhpbiB0bygkbWVkaWEtcXVlcnkpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20oJG1lZGlhLXF1ZXJ5KSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20tdG8oJG1pbiwgJG1heCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gJG1pbiB0byAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG5cblxuIiwiXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgIC5ncmlkLSN7JGl9IHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgIH1cblxuICAgIC5ncmlkLSN7JGl9LW9mZnNldC0xIHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSk7XG4gICAgfVxuXG4gICAgLmdyaWQtI3skaX0tb2Zmc2V0LTIge1xuICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKCRpLCRpIC0gMi4yNSk7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gZGVza3RvcC1zbWFsbCkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC10YWJsZXQtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC1tb2JpbGUtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIjo6c2VsZWN0aW9ue1xuICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICBjb2xvcjogJFdISVRFO1xufVxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaHRtbHtcbiAgICBmb250LXNpemU6ICRCQVNFLVNJWkU7XG59XG5cbmJvZHl7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxubWFya3tcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG46Zm9jdXN7b3V0bGluZTogbm9uZX1cbmlucHV0OjotbXMtY2xlYXIge2Rpc3BsYXk6IG5vbmV9XG5cbi5jb250YWluZXJ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogJEdSSUQtQ09OVEFJTkVSICsgcHg7XG4gICAgd2lkdGg6IDkwJTtcbn1cblxuLmJveGVze1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xufVxuXG4uc2l0ZXtcbiAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgIH1cblxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi5wcm9wLWZ1bGwtd2lkdGh7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1oaWRlLW92ZXJmbG93e1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9wLW1heC13aWR0aHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1vdmVybGF5e1xuICAgIEBpbmNsdWRlIGxldmVscygyKTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbn1cblxuLnByb3AtaW1hZ2UtZ3JhZGllbnQtZGFya2Vue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgPiBpbWd7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygwKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoJEJMQUNLLC40KSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuXG4ucHJvcC1pbWFnZS1ncmFkaWVudC1kYXJrZW4tLWxpZ2h0e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gaW1ne1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAtMTAlLHJnYmEoJEJMQUNLLC4xNCkpO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG59XG5cbi5wcm9wLWRhcmtlbi1pbWFnZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IGltZ3tcbiAgICAgICAgLy9AaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLC40NSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuIiwiLmZhZGUtaW4tdHJhbnNpdGlvbntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYWRlLWluLWVudGVyLFxuLmZhZGUtaW4tbGVhdmV7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJoZWFkaW5nc1wiO1xuQGltcG9ydCBcImdhbGxlcnlcIjtcbkBpbXBvcnQgXCJtYWdhemluZS1yYWNrXCI7XG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXItcG9saWN5XCI7XG5AaW1wb3J0IFwicmVjb21tZW5kZWQtaW5saW5lXCI7XG5AaW1wb3J0IFwic2hhcmVcIjtcbkBpbXBvcnQgXCJzb2NpYWxcIjtcbkBpbXBvcnQgXCJzdGlja3lcIjtcbkBpbXBvcnQgXCJzdWJtZW51XCI7XG5AaW1wb3J0IFwic3dpdGNoZXJcIjtcbiIsIi5jb21wb25lbnQtYnV0dG9ue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJEdSRVk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBjb2xvcjogJEdSRVk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcblxuXG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgJi5pcy1maWxle1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl17XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmNvbXBvbmVudC1idXR0b24tbWVudXtcbiAgICBib3JkZXItY29sb3I6ICRHUkVZO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgLmxpbmVze1xuICAgICAgICAvL3dpZHRoOiA1MCU7XG5cbiAgICAgICAgLmxpbmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkR1JFWTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHM7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS0ye1xuICAgICAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJjpob3ZlcntcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgLmxpbmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG59XG5cbi5jb21wb25lbnQtYnV0dG9uLWJsb2NreXtcbiAgICBiYWNrZ3JvdW5kOiAkR1JFWTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEwcHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDJlbTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC4yNSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbXBvbmVudC1idXR0b24tY2xvc2V7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWJ1dHRvbigzNnB4KTtcbiAgICBib3JkZXItY29sb3I6ICRHUkVZO1xuXG4gICAgLmxpbmVze1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIC5saW5le1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS0xe1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS0ye1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lLTN7XG4gICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmNvbXBvbmVudC1idXR0b24tc2VhcmNoe1xuICAgIGJvcmRlci1jb2xvcjogJEdSRVk7XG5cbiAgICBzdmd7XG4gICAgICAkZDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkZDtcbiAgICAgIGZpbGw6ICRCTEFDSy1PRkY7XG4gICAgICB3aWR0aDogJGQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cywmOmhvdmVye1xuICAgICAgICBib3JkZXItY29sb3I6ICRCTEFDSztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICBzdmd7XG4gICAgICAgICAgICBmaWxsOiAkQkxBQ0s7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1zb2NpYWx7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWJ1dHRvbigzMnB4KTtcbiAgICBib3JkZXItY29sb3I6ICRXSElURTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgJGRpbWVuc2lvbjogNThweDtcbiAgICAgICAgaGVpZ2h0OiAkZGltZW5zaW9uO1xuICAgICAgICB3aWR0aDogJGRpbWVuc2lvbjtcbiAgICB9O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgJGRpbWVuc2lvbjogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAkZGltZW5zaW9uO1xuICAgICAgICB3aWR0aDogJGRpbWVuc2lvbjtcbiAgICB9O1xuXG4gICAgc3Zne1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmaWxsOiAkV0hJVEU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICB9XG5cbiAgICAmLmlzLWZhY2Vib29re1xuICAgICAgICBzdmd7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtdHdpdHRlcntcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZ29vZ2xle1xuICAgICAgICBzdmd7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGlua2VkaW57XG4gICAgICAgIHN2Z3tcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWluc3RhZ3JhbXtcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXJzc3tcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOjdweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1wYWdlcntcbiAgICAkRklMTDogJEdSRVk7XG5cbiAgICBAaW5jbHVkZSBsYXlvdXQtYnV0dG9uKDM1cHgpO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBib3JkZXItY29sb3I6ICRGSUxMO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIG1hcmdpbjogMCBncmlkLXBpeGVscygwLC4yNSkgMCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjRzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBzdmd7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmaWxsOiAkRklMTDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgIH1cblxuICAgICYuaXMtbGVmdHtcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBwYWdlciAuNXMgcmV2ZXJzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5pcy1yaWdodHtcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHBhZ2VyIC41cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5pcy1pbmFjdGl2ZXtcbiAgICAgICAgb3BhY2l0eTogLjE7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1tb3JlIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuXG4gICAgc3Zne1xuICAgICAgJGQ6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZpbGw6ICRSRUQ7XG4gICAgICBoZWlnaHQ6ICRkO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHdpZHRoOiAkZDtcbiAgICB9XG5cblxuICAgID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkUkVEO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cblxuICAgICYuaGFzLXRvcHN0cm9rZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgcGFkZGluZy10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBzdmd7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICBmaWxsOiAkQkxBQ0stT0ZGO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbn1cblxuLmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlci1pbmxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDA7XG4gICAgLW1vei1ib3JkZXItaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAjZGQyMjIyIDAlLCAjMmMzODhmIDEwMCUpO1xuICAgIC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgI2RkMjIyMiAwJSwgIzJjMzg4ZiAxMDAlKTtcbiAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RkMjIyMiAwJSwgIzJjMzg4ZiAxMDAlKTtcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgbWFyZ2luOiBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1yZWNvbW1lbmRlZC1pbmxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICREQVJLLUJMVUU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgbWFyZ2luOiBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMSkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwYWdlciB7XG5cbiAgICAwJXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIDQ5JXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MCUpO1xuICAgIH1cblxuICAgIDUwJXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTAlKTtcbiAgICB9XG5cbiAgICAwJXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxufVxuXG4uY29tcG9uZW50LWdyYWRpZW50LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNkMjIsIzJiMzg4ZikhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDMwcHggYXV0byAwO1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiLmNvbXBvbmVudC1oZWFkaW5nIHtcbiAgY29sb3I6ICRCTEFDSy1PRkY7XG4gIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZmlsbDogJEJMQUNLLU9GRjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAuMjUpO1xuICAgIG1hcmdpbi10b3A6IDJweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICB9XG4gIH1cblxuICAmLmhhcy10b3BzdHJva2Uge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcbiAgICBwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgMSkgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuc2hvdy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRhcmsgJiB7XG4gICAgY29sb3I6ICRXSElURTtcbiAgfVxufVxuIiwiLmNvbXBvbmVudC1nYWxsZXJ5e1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBiYWNrZ3JvdW5kOiAkR1JFWS1MSUdIVDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgLndwLWNhcHRpb257aGVpZ2h0OiAxMDAlfVxuXG4gICAgLndwLWNhcHRpb24tdGV4dHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwe1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE0cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjRzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zbGljay1kb3Rze1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG5cbiAgICAgICAgbGl7XG4gICAgICAgICAgICBtYXJnaW46IDAgNHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBidXR0b257XG4gICAgICAgICAgICAkZDogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkQkxBQ0stT0ZGO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJGQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICAgICAgICAgIHdpZHRoOiAkZDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1idXR0b24tcGFnZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJFdISVRFO1xuXG4gICAgICAgIHN2Z3tmaWxsOiAkV0hJVEV9XG5cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLC44KTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1nYWxsZXJ5X19udW1iZXJze1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgN3B4O1xuICAgICAgICBwYWRkaW5nOiAxcHggMCAwIDQwcHg7XG5cbiAgICAgICAgPiAubGluZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC01MCUsMCk7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJjpob3ZlcntcbiAgICAgICAgLndwLWNhcHRpb24tdGV4dHtcbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZWJvb2t7XG4gICAgICAgIC5jb21wb25lbnQtZ2FsbGVyeV9fbmF2e1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtYnV0dG9uLXBhZ2Vye1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgICAgICAgICBzdmd7ZmlsbDogJEJMQUNLfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJFdISVRFLC44KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jb21wb25lbnQtZ2FsbGVyeV9fbmF2e1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBsZXZlbHMoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGF7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuXG5cbi8vIFRPRE86IGJyZWFrIG91dCBzaW5nbGUgcGFnZSBpbnRvIHNtYWxsZXIgc2VjdGlvbnMgdG8gaGVscCB3aXRoIHRoaXNcbi52aWV3LXNpbmdsZS1wb3N0e1xuICAgIC5jb250ZW50e1xuICAgICAgICAuY29tcG9uZW50LWdhbGxlcnl7XG4gICAgICAgICAgICAud3AtY2FwdGlvbnttYXJnaW46IDB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29tcG9uZW50LW1hZ2F6aW5lLXJhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWS1MSUdIVDtcblx0bWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMik7XG5cdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIDA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLLUJMVUU7XG5cdH1cblxuXHQuYm94ZXMge1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHR9XG5cdC5ib3hpbmcge1xuXHRcdEBpbmNsdWRlIGxheW91dC1mbGV4KGZsZXgtc3RhcnQsIGNlbnRlciwgcm93KTtcblxuXHRcdGZpZ3VyZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNXB4O1xuXHRcdH1cblx0fVxuXG5cdC5jb21wb25lbnQtaGVhZGluZyB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDAgMDtcblxuICAgICAgICA+IC5jb250YWluZXIge1xuICAgICAgICBcdHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBvbmVudC1oZWFkaW5nICB7XG4gICAgICAgIFx0cGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGFzdCB7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5jb21wb25lbnQtbWVudXtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgPiBsaXtcbiAgICBtYXJnaW46IDAgZ3JpZCguMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmFjdGlvbi10b2dnbGUtc3VibWVudSB7XG4gICAgXHRAaW5jbHVkZSBsYXlvdXQtZmxleDtcblxuICAgIFx0Lmljb24tY2hldnJvbi1kb3duIHtcbiAgICBcdFx0JGQ6IDEwcHg7XG5cbiAgICBcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2hldnJvbi1kb3duLnN2ZycpO1xuICAgIFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIFx0XHRkaXNwbGF5OiBibG9jaztcbiAgICBcdFx0aGVpZ2h0OiAkZDtcbiAgICBcdFx0bWFyZ2luLWxlZnQ6IDVweDtcbiAgICBcdFx0d2lkdGg6ICRkO1xuICAgIFx0fVxuICAgIH1cbiAgfVxuXG4gIC50YWcgJiwgLmNhdGVnb3J5ICYge1xuICBcdC5pcy1hY3RpdmUge1xuXG4gIFx0XHRhOm5vdCguYWN0aW9uLXRvZ2dsZS1zdWJtZW51KSB7XG4gIFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQ7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBcdFx0fVxuXG4gIFx0fVxuICB9XG5cbn1cbiIsIi5jb21wb25lbnQtbmV3c2xldHRlci1wb2xpY3l7XG4gIGNvbG9yOiAkV0hJVEU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcblxuICBhe1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkV0hJVEU7XG4gICAgJjpob3Zlcntjb2xvcjogJFdISVRFO31cbiAgfVxuXG4gIC5ibG9jay1uZXdzbGV0dGVyLW92ZXJsYXkgJiwgLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciAmIHtcbiAgXHRjb2xvcjogJEJMQUNLO1xuXG4gIFx0YXtcblx0ICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkQkxBQ0s7XG5cdCAgICAmOmhvdmVye2NvbG9yOiAkQkxBQ0s7fVxuXHQgIH1cbiAgfVxufVxuIiwiLmNvbXBvbmVudC1yZWNvbW1lbmRlZC1pbmxpbmV7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkQkxBQ0s7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkQkxBQ0s7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICBwYWRkaW5nOiBncmlkKC41KSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogZ3JpZCguMjUpIDA7XG4gIH1cblxuICBhe2NvbG9yOiAkUkVEO31cblxuICBzcGFue1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG4iLCIuY29tcG9uZW50LXNoYXJle1xuXG4gIGF7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xNSk7XG4gICAgfVxuXG4gICAgJi5zaG93LW1vYmlsZXtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe2Rpc3BsYXk6IG5vbmU7fVxuICAgIH1cbiAgfVxuXG4gIHN2Z3tcbiAgICAkZDogMzBweDtcbiAgICBmaWxsOiAkQkxBQ0s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICB3aWR0aDogJGQ7XG4gIH1cblxuICAuaXMtZGFyayAmIHN2Z3tcbiAgICBmaWxsOiAkV0hJVEU7XG4gIH1cbn1cblxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmNvbXBvbmVudC1zaGFyZV9fZmFjZWJvb2ssXG5ib2R5W2RhdGEtYmxvZ2lkPVwiOFwiXSAuY29tcG9uZW50LXNoYXJlX19nb29nbGUsXG5ib2R5W2RhdGEtYmxvZ2lkPVwiOFwiXSAuY29tcG9uZW50LXNoYXJlX190d2l0dGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi5jb21wb25lbnQtc29jaWFse1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG5cbiAgYXtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3JpZCguMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN2Z3tcbiAgICAkZDogMzBweDtcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBmaWxsOiAkQkxBQ0s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICB3aWR0aDogJGQ7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtc3RpY2t5e1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuIiwiLmNvbXBvbmVudC1zdWJtZW51e1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHRvcDogOTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzlGQTVBOTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiA0NXB4O1xuXHRwYWRkaW5nOiAxNXB4IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRoZWlnaHQ6IDBweDtcblx0b3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcblxuXG5cdD4gbGl7XG5cdFx0bWFyZ2luOiAwIGdyaWQoLjIpO1xuXHR9XG5cblx0LmlzLWRhcmsgJiB7XG5cdFx0YmFja2dyb3VuZDogJERBUkstQkxVRTtcblx0XHRhe2NvbG9yOiAkV0hJVEV9XG5cdH1cbn1cbiIsIi5jb21wb25lbnQtc3dpdGNoZXJ7XG4gIEBpbmNsdWRlIGxldmVscygkbGV2ZWw6IDkpO1xuXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmNvbXBvbmVudC1zd2l0Y2hlcl9fY3VycmVudHtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgLmljb24tY2hldnJvbi1kb3duIHtcbiAgICAkZDogMTBweDtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NoZXZyb24tZG93bi13aGl0ZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHdpZHRoOiAkZDtcbiAgfVxufVxuXG5cbi5jb21wb25lbnQtc3dpdGNoZXJfX2xpbmtze1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCggJGFsaWduOiBmbGV4LXN0YXJ0LCAkZGlyZWN0aW9uOiBjb2x1bW4sICRqdXN0aWZ5OiBmbGV4LXN0YXJ0ICk7XG4gIEBpbmNsdWRlIHNoYWRvdy0yO1xuXG4gIGJhY2tncm91bmQ6ICRXSElURTtcbiAgYm90dG9tOiAxNzVweDtcbiAgbGVmdDogNTAlO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgcGFkZGluZzogMjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMzcwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgLjVzO1xuXHRcdH1cblx0XHRcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogOTAwcHggKSB7XG5cdFx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IGxlZnQgLjVzO1xuXHRcdH1cblxuICBhe1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCAkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4gKTtcblxuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICBtYXJnaW46IDAgMCAgZ3JpZCguMTUpIDA7XG4gICAgcGFkZGluZzogMCAwICBncmlkKC4xNSkgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogOTAwcHggKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIGg0IHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMS4yNSk7XG4gIH1cblxuICAuaWNvbi1jaGVjayB7XG4gICAgJGQ6IDE4cHg7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWNoZWNrX2JsYWNrLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRkO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgd2lkdGg6ICRkO1xuICB9XG59XG5cbi5jb21wb25lbnQtc3dpdGNoZXJfX2xpbmsgIHtcbiAgJi5pcy1jdXJyZW50IHtcbiAgICAuaWNvbi1jaGVjayB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5pcy1jdXJyZW50KTpob3ZlciB7XG4gICAgLmljb24tY2hlY2sge1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgfVxuICB9IFxufVxuIiwiQGltcG9ydCBcImFkLWlubGluZVwiO1xuQGltcG9ydCBcImFkLXNpZGViYXJcIjtcbkBpbXBvcnQgXCJhcnRpY2xlXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZS1mZWF0dXJlXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZS1zbmlwcGV0XCI7XG5AaW1wb3J0IFwiYXV0aG9yXCI7XG5AaW1wb3J0IFwiYXV0aG9yLXNuaXBwZXRcIjtcbkBpbXBvcnQgXCJzcGVha2VyXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwic3RhZmZcIjtcbiIsIi5jYXJkLWFkLWlubGluZXtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoKTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgPiAuY29sLTF7XG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XHRcbiAgICAgIG1hcmdpbi1yaWdodDogZ3JpZCguMjUpO1xuXHQgIG1heC13aWR0aDogMjM1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjE1KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICA+IC5jb2wtMntcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmlzLWRhcmsgJiB7XG4gICAgLmNhcmQtYWQtaW5saW5lX19hY3Rpb257XG4gICAgICBib3JkZXItY29sb3I6ICRXSElURTtcbiAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgfVxuICB9XG5cbn1cblxuLmNhcmQtYWQtaW5saW5lX19pbWFnZXtcbiAgQGluY2x1ZGUgaW1hZ2UtZnVsbDtcblxuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAkQkxBQ0s7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJEJMQUNLO1xuXHRcdFx0XHQvLyB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uY2FyZC1hZC1pbmxpbmVfX2NvbnRlbnR7XG4gIGZvbnQtc2l6ZTogMjJweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG4uY2FyZC1hZC1pbmxpbmVfX2FjdGlvbntcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogJEJMQUNLO1xuICBjb2xvcjogJEJMQUNLO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICY6aG92ZXJ7YmFja2dyb3VuZDogJEJMQUNLO31cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkUkVEO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vIG1pZC1zaXplZCBkZXZpY2UgY3VzdG9taXphdGlvbnNcblxuQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCB0byBkZXNrdG9wLXNtYWxsKXtcblxuXHQvLyAuY2FyZC1hZC1pbmxpbmVfX2NvbnRlbnQge1xuXHQvLyBcdG1hcmdpbi1ib3R0b206IDA7XG5cdC8vIH1cbi8vIH1cblxuLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKXtcblx0LmNhcmQtYWQtaW5saW5lIHtcblx0XHQuY29sLTEge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHQvLyBib3JkZXItd2lkdGg6IDA7XG5cdFx0XHRcdG1heC13aWR0aDogMTI1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jb2wtMiB7XG5cdFx0XHQvLyBib3JkZXItbGVmdDogNHB4IHNvbGlkICRCTEFDSztcblx0XHRcdHBhZGRpbmctbGVmdDogZ3JpZCguMjUpO1xuXHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IGdyaWQoLjI1KTtcblx0XHR9XG5cdH1cblxuXHQuY2FyZC1hZC1pbmxpbmVfX2NvbnRlbnQge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRtYXJnaW4tYm90dG9tOiBncmlkKC4xMjUpO1xuXHR9XG59XG5cbi8vIHZlcnkgc21hbGwgbW9iaWxlIGRldmljZSBjdXN0b21pemF0aW9uc1xuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuLy8gXHQuY2FyZC1hZC1pbmxpbmUge1xuLy8gXHRcdC5jb2wtMSB7XG4vLyBcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbi8vIFx0XHRcdGltZyB7XG4vLyBcdFx0XHRcdG1heC13aWR0aDogODBweDtcbi8vIFx0XHRcdH1cbi8vIFx0XHR9XG4vLyBcdFx0LmNvbC0yIHtcblx0XHRcdFxuLy8gXHRcdH1cbi8vIFx0fVxuXG4vLyBcdC5jYXJkLWFkLWlubGluZV9fY29udGVudCB7XG4vLyBcdFx0Zm9udC1zaXplOiAxM3B4O1xuLy8gXHRcdG1hcmdpbi1ib3R0b206IDA7XG4vLyBcdH1cblxuLy8gXHQuY2FyZC1hZC1pbmxpbmVfX2FjdGlvbntcbi8vIFx0XHRmb250LXNpemU6IDEzcHg7XG4vLyBcdH1cbi8vIH0iLCIuY2FyZC1hZC1zaWRlYmFye1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICBtYXJnaW4tdG9wOiA3LjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjMpO1xuICB9XG5cbiAgLmNvbC0ye1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2Upe1xuICAgICAgcGFkZGluZzogMCBncmlkKC4yNSk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWFkLXNpZGViYXJfX2ltYWdle1xuICBAaW5jbHVkZSBpbWFnZS1mdWxsO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJEJMQUNLO1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG59XG5cbi5jYXJkLWFkLXNpZGViYXJfX2NvbnRlbnR7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2Upe1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgfVxufVxuXG4uY2FyZC1hZC1zaWRlYmFyX19hY3Rpb257XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICBjb2xvcjogJFJFRDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLmNhcmQtYXJ0aWNsZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVye1xuICAgICAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdlIGltZ3tcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsMS4xLDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1saXN0IHtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgICAgd2lkdGg6IDY2JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94aW5nIHtcbiAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCwgJGFsaWduOiBmbGV4LXN0YXJ0KTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKSBncmlkLXBpeGVscygwLCAuNCkgZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19hdXRob3Ige1xuICAgICAgICAgICAgY29sb3I6ICREQVJLX0JMVUU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1kaXZpZGVkLWxpc3QoKTtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxhcmdle1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3hlZHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURS1PRkY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGV7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDIycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RvcGlje2Rpc3BsYXk6IG5vbmU7fVxuXG4gICAgfVxuXG4gICAgJi5pcy1zbWFsbHtcblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX21haW4taW1hZ2V7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAuYm94ZWR7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cbiAgICAgICAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IGdyaWQtcGl4ZWxzKDcsNyk7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm94ZWR7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdG9waWN7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1mZWF0dXJlZHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZC1iYXNpYztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWRpdmlkZWQtbGlzdCgpO1xuICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpIGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgLjUpIGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRHUklELUNPTlRBSU5FUiArIHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSBncmlkLXBpeGVscygwLDMpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fYXV0aG9ye1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGl4ZWxzKDksIDApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLDEuNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RvcGljIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFzaWRlLCAmLmlzLW9uLXRoZS1yYWNrIHsgLy8gbmVlZCB0byByZWZhY3RvciBhbGwgLmlzLWFzaWRlIG1lbnRpb25zXG4gICAgICAgIHdpZHRoOiAzMSU7XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9faGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBmbGV4OiAzO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBncmlkLXBpeGVscygwLC43NSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0gdG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwNXB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgd2lkdGg6IDEwNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMSkgZ3JpZC1waXhlbHMoMCwgMSkgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTA0JTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LW1lZGl1bSB0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgLmJveGluZyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJkLWFydGljbGVfX21haW4taW1hZ2V7XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiBhe1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWd7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1cztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hdXRvZGVza3tcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDIpO1xuICAgICAgICBib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHJpZ2h0OiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmd7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZpbGw6ICRXSElURTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi5jYXJkLWFydGljbGVfX2hlYWRlciB7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNSkgMDtcbn1cblxuLmNhcmQtYXJ0aWNsZV9fdGl0bGV7XG4gIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjI1KSAwO1xufVxuXG4uY2FyZC1hcnRpY2xlX190b3BpY3tcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19hdXRob3J7XG4gIGNvbG9yOiAkREFSS19CTFVFO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgfSBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbioqKiogVmlkZW8gQ2FyZCBzcGVjaWZpYyBzdHlsZXMgKioqKipcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkLWFydGljbGUtLXZpZGVvIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAuY2FyZC1hcnRpY2xlX190aHVtYm5haWwtbmF2aXRlbSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5jYXJkLWFydGljbGVfX21haW4tdmlkZW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9hZGluZ19zcGlubmVyX2JsYWNrLmdpZlwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5MHB4IDkwcHg7XG5cbiAgICAmLmxvYWRpbmctLXN0YXJ0IHtcbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHM7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgICYubG9hZGluZy0tZW5kIHtcbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC45czsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuLmNhcmQtYXJ0aWNsZV9fc2Nyb2xsaW5nLW5hdiB7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiA2MTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG59XG4uY2FyZC1hcnRpY2xlX190aHVtYm5haWwtbmF2aXRlbSB7XG4gICAgLmFjdGl2ZSAmIGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCggY2VudGVyLCBjZW50ZXIgKTtcblxuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICBjb250ZW50OiBcIk5vdyBQbGF5aW5nXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQkxBQ0s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIGltZy53cC1wb3N0LWltYWdlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmFjdGl2ZSAmIGltZy53cC1wb3N0LWltYWdlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9ICAgIFxufVxuLmNhcmQtYXJ0aWNsZV9fcGxheS1idG4ge1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDUwcHg7XG59XG4iLCIuY2FyZC1hcnRpY2xlLWZlYXR1cmV7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyKTtcblxuICBwYWRkaW5nOiA0MHB4IDAgNDVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gID4gLmJveC0xe1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDY1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tdG9wOiA3cHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5ib3gtMntcbiAgICAvLyBwYWRkaW5nOiBncmlkKC41KSAwIGdyaWQoLjUpIDA7XG4gICAgd2lkdGg6IDMxJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICAgIHBhZGRpbmc6IGdyaWQoLjUpIGdyaWQoLjUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fdG9waWN7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2hlYWRlcntcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSl7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogZ3JpZCgxKTtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2ZvbGxvdyB7XG4gIG1hcmdpbi10b3A6IGdyaWQoMSk7XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fdGl0bGUge1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLWxhcmdlKXtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1sYXJnZSl7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fc3VidGl0bGV7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1sYXJnZSl7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fYXV0aG9yIHtcbiAgY29sb3I6ICREQVJLX0JMVUU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1sYXJnZSl7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fZm9sbG93e1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7ZGlzcGxheTogbm9uZX1cbn1cblxuLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgfSBcbn1cbiIsIi5jYXJkLWFydGljbGUtc25pcHBldHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG5cbiAgICBoMntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oNDtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwgdG8gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIH1cblxuICAgIGZpZ3VyZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtZ2VuZXJhbC1jYXRlZ29yeXtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBzdmd7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5jYXJkLWF1dGhvcntcbiAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGZsZXgtc3RhcnQpO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLDIpIDA7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKSBncmlkLXBpeGVscygxLDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMSkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB9XG5cbiAgICAuYm94e1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC0xe1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKDUsMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLDEpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LTJ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBncmlkLXBlcmNlbnRhZ2UoMTAsMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoZWFkZXJ7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgfVxuXG4gICAgaDJ7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDM7XG4gICAgfVxuXG4gICAgcHtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1wO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjRlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF2YXRhcntcbiAgICAgICAgQGluY2x1ZGUgcHJvcC1tYXgtd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG5cbiAgICAgICAgYXttYXJnaW46IDAgNXB4fVxuXG4gICAgICAgIC5jb21wb25lbnQtYnV0dG9uLXNvY2lhbHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjokR1JFWS1CTFVFO1xuXG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgZmlsbDogJEdSRVktQkxVRTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5jYXJkLWF1dGhvci1zbmlwcGV0e1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZpZ3VyZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGgxe1xuICAgICAgICBAaW5jbHVkZSB0eXBlLWg0O1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgfVxuXG5cbn1cblxuLmNhcmQtYXV0aG9yLXNuaXBwZXRfX2F2YXRhcntcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRCTEFDSywuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcblxuICAgIGltZ3tcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG59XG5cblxuLmNhcmQtYXV0aG9yLXNuaXBwZXRfX2JsdXJyZWR7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBvcGFjaXR5OiAuMjU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmaWx0ZXI6IGJsdXIoNXB4KTtcbn1cbiIsIi5jYXJkLXNwZWFrZXJ7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGRpcmVjdGlvbjogY29sdW1uKTtcbiAgICBcbiAgICBtYXJnaW46IDE1cHggMTVweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIH0gICAgXG4gICAgXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbn1cbi5jYXJkLXNwZWFrZXJfX2NvcHl7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cblxufVxuXG4uY2FyZC1zcGVha2VyX19uYW1le1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgfVxufVxuLmNhcmQtc3BlYWtlcl9faW1hZ2V7XG4gICAgJG1vYmlsZS13aWR0aDogMjEwcHg7XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIG1heC13aWR0aDogMTQ0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaGFzLW9uZSAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9iaWxlLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbW9iaWxlLXdpZHRoO1xuICAgIH1cbn1cbiIsIi5jYXJkLWhlYWRlcntcbiAgICBjb2xvcjogJFdISVRFO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLmJveHtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0stT0ZGO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDYpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMykgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuaW5mb3tcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgIH1cblxuICAgIC5hdXRob3ItaW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYWN0aW9ue1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgYXttYXJnaW46IDAgNXB4O31cbiAgICB9XG5cbiAgICAmLmhhcy1kZXNjcmlwdGlvbntcblxuICAgICAgICAuYm94e1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwzKSBncmlkLXBpeGVscygwLDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMCkgZ3JpZC1waXhlbHMoMCwwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJib3gtMSB7XG4gICAgICAgICAgICB3aWR0aDogMzQlO1xuICAgICAgICB9XG4gICAgICAgIC5zdWJib3gtMiB7XG4gICAgICAgICAgICB3aWR0aDogNjYlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtaGVhZGVyX190aXRsZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYyJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgLmdyaWQtNCwgLmdyaWQtOCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQtYnV0dG9uLXNvY2lhbDpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICBib3JkZXItY29sb3I6ICRCTEFDSztcbiAgICB9XG5cbn1cblxuLmNhcmQtaGVhZGVyX190aXRsZXtcbiAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSg1MHB4KTtcbiAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xufVxuXG5cbi5jYXJkLWhlYWRlcl9fZGVzY3JpcHRpb257XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIGNvbG9yOiAkQkxBQ0s7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKSBncmlkLXBpeGVscygwLDEpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkR1JFWTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEuNSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMS41KSAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZzogMCBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveGVke1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLXBpeGVscyg4LDApO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxufVxuIiwiLmNhcmQtc3RhZmZ7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYm94e1xuICAgICAgICB3aWR0aDogNDklO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbi5jYXJkLXN0YWZmX19wb3NpdGlvbntcbiAgICBjb2xvcjogJEdSRVk7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgbWFyZ2luOiAzcHggMCAwIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgIH1cblxufVxuXG4uY2FyZC1zdGFmZl9fbmFtZXtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIkBpbXBvcnQgXCJmb290ZXJcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJzZWFyY2hcIjtcbkBpbXBvcnQgXCJzaW5nbGVcIjtcbkBpbXBvcnQgXCJ0b3BpY1wiO1xuQGltcG9ydCBcInRvcGljLXNlY3Rpb25cIjtcbkBpbXBvcnQgXCJmZWF0dXJlZC1zZWN0aW9uXCI7XG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcIm1lZ2FtZW51XCI7XG5AaW1wb3J0IFwiYXJ0aWNsZXMtYXNpZGVcIjtcbkBpbXBvcnQgXCJhcnRpY2xlcy1sYXRlc3RcIjtcbkBpbXBvcnQgXCJtYWdhemluZS1yYWNrXCI7XG5AaW1wb3J0IFwiZWRpdG9ycy1waWNrc1wiOyAvLyBleHRlbmRzIG1hZ2F6aW5lLXJhY2tcbkBpbXBvcnQgXCJuZXdzbGV0dGVyXCI7XG5AaW1wb3J0IFwiYXV0aG9yc1wiO1xuQGltcG9ydCBcInN0YWZmXCI7XG5AaW1wb3J0IFwiYXdhcmRzXCI7XG5AaW1wb3J0IFwiZXZlbnRcIjtcbiIsIi5ibG9jay1mb290ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkQkxBQ0s7XHRjb2xvcjogJFdISVRFO1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xufVxuXG4uYmxvY2stZm9vdGVyLW1haW57XG5cdEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC5ib3gtMSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkV0hJVEU7XG5cdFx0XHRvcmRlcjogMjtcblx0XHRcdHBhZGRpbmctdG9wOiBncmlkKC4yNSk7XG5cdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0ICB9XG5cblx0ICAubG9nbyBpbWcge1xuXHQgIFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0ICBcdFx0bWFyZ2luOiAwIGF1dG87XG5cdCAgXHR9XG5cdFx0fVxuXHR9XG5cblx0LmJveC0yIHtcblx0XHRtYXJnaW46IDAgZ3JpZCgxKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW46IDAgMCBncmlkKC4yNSkgMDtcblx0XHR9XG5cdH1cblxuXHQuYm94LTMge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW46IDAgMCBncmlkKC4yNSkgMDtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLWZvb3Rlcl9fc29jaWFse1xuXHRAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1lbmQpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0JGQ6IDI1cHg7XG5cdFx0ZmlsbDogJFdISVRFO1xuXHRcdGhlaWdodDogJGQ7XG5cdFx0d2lkdGg6ICRkO1xuXHR9XG5cblx0YSB7XG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKXtcblx0XHRcdG1hcmdpbjogMCAwIDAgZ3JpZCguMjUpO1xuXHRcdH1cblx0fVxufVxuXG4uYmxvY2stZm9vdGVyX19xciB7XG5cdEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbiwgJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuXG5cdG1hcmdpbi1sZWZ0OiBncmlkKC4yNSk7XG5cblx0Ji1pbWcge1xuXHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC4yNSk7XG5cdH1cbn1cblxuLmJsb2NrLWZvb3Rlcl9fbWVudXtcblx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG5cdFx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoJGRpcmVjdGlvbjogY29sdW1uKTtcblx0fVxuXG5cdD4gYSB7XG5cdFx0bWFyZ2luOiAwIGdyaWQoLjEpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuXHRcdFx0bWFyZ2luOiAwIDAgZ3JpZCguMSkgMDtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLWZvb3Rlci1zZWNvbmRhcnkge1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHRtYXJnaW46IGdyaWQtcGl4ZWxzKDAsLjUpIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0IGRpc3BsYXk6IGZsZXg7XG5cdFx0IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuICBhIHtcbiAgXHRtYXJnaW46IDAgNXB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0XHRcdG1hcmdpbjogNXB4IDA7XG5cdFx0fVxuICB9XG59XG5cbi5ibG9jay1mb290ZXJfX25ld3NsZXR0ZXJ7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe2Rpc3BsYXk6IG5vbmV9XG59XG5cblxuLy8gSW1hZ2UgZW5sYXJnZW1lbnQgdGVzdFxuXG5ib2R5LnN0YXRlLS1pbWFnZS1lbmxhcmdlZCB7XG5cdG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5lbmxhcmdlYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2ltYWdlLXZpZXdlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjk1KTtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDB2dztcblx0aGVpZ2h0OiAxMDB2aDtcblx0ei1pbmRleDogLTE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG9wYWNpdHk6IDA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0dHJhbnNpdGlvbjogYWxsIC4zcztcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXG5cdCYuYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHotaW5kZXg6IDk5OTtcblx0fVxuXG5cdCZfX2ltZyB7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0XHRwYWRkaW5nLXRvcDogMTE1cHg7XG5cdH1cblx0Jl9fY2xvc2Uge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDMwcHg7XG5cdFx0cmlnaHQ6IDMwcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0fVxuXHQmX19jYXB0aW9uIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRjb2xvcjogIzAwMDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdH1cbn1cbiIsIi5ibG9jay1oZWFkZXJ7XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDYpO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgaGVpZ2h0OiAkSEVBREVSX0hFSUdIVDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGhlaWdodDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgIH1cblxuICAgIC5ib3hlc3tcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgICAgID4gLmJveHtcblxuICAgICAgICAgICAgJi0xIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge2ZsZXg6IDE7fVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMztcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDM1MHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuYmxvY2staGVhZGVyX19wb3N0bWV0YXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgID4gZGl2LnNob3ctbW9iaWxle3dpZHRoOiAxMDAlfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmNvbXBvbmVudC1zaGFyZXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlcik7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBncmlkKC4xKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGF7bWFyZ2luOiAwfVxuICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICRkOiAyOXB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkZDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTN7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgICAgICAgICAgZmxleDogNTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGdyaWQoLjI1KTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLTR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtZW5kKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYm94LTQge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1hdXRvZGVzaywgLmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubG9nbyB7XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmxvZ28tYXV0b2Rlc2t7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgZ3JpZC1waXhlbHMoMCwuNzUpIDAgMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTEwcHg7XG5cblxuXG4gICAgfVxuXG4gICAgLmxvZ28tbGV0dGVye1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtYnV0dG9ue1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbjogMCBncmlkLXBpeGVscygwLC41KSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjQ1KSBncmlkLXBpeGVscygwLDEpO1xuICAgIH1cblxufVxuXG5cbi5ibG9jay1oZWFkZXJfX21haW4ge1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIGdyaWQtcGl4ZWxzKDAsLjc1KTtcbiAgICB9XG5cbiAgLmxvZ28tdGVhc2V7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIGF7ZGlzcGxheTogYmxvY2t9XG4gIH1cbn1cblxuXG4ubmF2LXRlYXNle1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1vdXQ7XG4gICAgLy8gaGVpZ2h0OiAwO1xuICAgIC8vIHBhZGRpbmc6IDAgMzBweCAwIDA7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhe1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgMzBweCAwIDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBzdHJvbmd7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuc2hvdy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGFfX3JlYWRpbmd7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHN0cm9uZ3ttYXJnaW46IDAgMTBweCAwIDA7fVxuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB3aWR0aDogODAlO1xuXG4gICAgZGl2e3dpZHRoOiA1MCV9XG5cbn1cblxuLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGFfX3NoYXJle1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiAxNSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzdHJvbmd7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGEtc29jaWFsIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe2Rpc3BsYXk6IG5vbmV9XG5cblxuICAgID4gZGl2IHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXNoYXJlLWFsdCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQkxBQ0s7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgZmlsbDogJFdISVRFO1xuICAgIH1cbn1cbiIsIi5ibG9jay1zZWFyY2h7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWhpZGRlbjtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMCk7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkV0hJVEUgMTAlLHJnYmEoJFdISVRFLC44NSkpO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMykgMCBncmlkLXBpeGVscygwLDMpIDA7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDUwcHgsMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC43cztcbiAgICB0b3A6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAxJTtcblxuICAgIC5yZXN1bHRze1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IHN0cmV0Y2gsICRqdXN0aWZ5OiBmbGV4LXN0YXJ0KTtcbiAgICB9XG5cbiAgICAuY2FyZC1hcnRpY2xlLXNuaXBwZXR7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMSkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuMykgMDtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDRuKzQpKXtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDpncmlkLXBlcmNlbnRhZ2UoMCwxKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGZvcm17XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCk7XG5cbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwxKSAwO1xuXG4gICAgICAgIC5pbnB1dHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cGUtaDE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oODBweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDY1cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1c3tvdXRsaW5lOm5vbmV9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0cy1mYWRlb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRyYW5zcGFyZW50LCAkV0hJVEUgNjUlICk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNSU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDgwMHB4KXtcbiAgICAgICAgaGVpZ2h0OiAyMCU7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA5MDBweCl7XG4gICAgICAgIGJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDEwMDBweCl7XG4gICAgICAgIGJvdHRvbTogNzVweFxuICAgIH1cbn1cblxuXG4uYmxvY2stc2VhcmNoX19jbG9zZXtcbiAgICBAZXh0ZW5kIC5jb21wb25lbnQtYnV0dG9uLW1lbnU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMjVweDtcblxuICAgICR0b3A6IDlweDtcblxuICAgIC5saW5lLTF7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgIH1cblxuICAgIC5saW5lLTJ7b3BhY2l0eTogMDt9XG5cbiAgICAubGluZS0ze1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0b3A6IC0gJHRvcCAtIDE7XG4gICAgfVxuXG59XG5cbi5ibG9jay1zZWFyY2hfX2JveDEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgfVxufVxuXG4uYmxvY2stc2VhcmNoX19ib3gyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0cy1zaG93aW5nIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiA3MHZoICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAxNzBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLnNwaW5uZXIge1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgICBcbiAgICAgICAgPiBkaXYgPiBkaXYge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICB9XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtbGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X19hdXRob3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogJFdISVRFO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1yZXN1bHRfX2xpbmsge1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbiwgJGFsaWduOiBmbGV4LXN0YXJ0LCAkanVzdGlmeTogZmxleC1zdGFydCk7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuXG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuXG4gICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xuXG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdF9fbWV0YSB7XG4gICAgQGluY2x1ZGUgdHlwZS1oNDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgbWluLWhlaWdodDogODBweDtcbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1yZXN1bHRfX3RodW1ibmFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuXG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X19tZXRhIHtcbiAgICBzdHJvbmcge1xuICAgICAgICAvLyBmb250LXNpemU6IDE4cHg7XG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLW5vLW1pbi1jaGFyczphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSIsIi8vICoqKioqIFRlbXAgc2lnbnVwIGZvcm0gZml4ICoqKioqXG4uYmxvY2stbmV3c2xldHRlciBmb3JtIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cbi8vICoqKioqKiBFbmQgdGVtcCBmaXggKioqKioqKipcblxuLmJsb2NrLXNpbmdsZSB7XG4gIHBhZGRpbmctdG9wOiBncmlkKC41KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG4gICAgICAuYm94LTEsIC5ib3gtMyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5ib3gtMiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gIH1cblxuICAuY29tcG9uZW50LXNoYXJlLWFsdCB7XG4gICAgcGFkZGluZy10b3A6IGdyaWQoLjE1KTtcbiAgfVxufVxuXG4uYmxvY2stc2luZ2xlX190b3B7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbXBvbmVudC1zaGFyZXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogZmxleC1lbmQpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQoLjE0KTtcbiAgICBtYXJnaW4tbGVmdDogZ3JpZCguNzUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgICAgbWFyZ2luLWxlZnQ6IGdyaWQoLjI1KTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDAgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgIC5ib3hlcyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgIG1heC13aWR0aDogNjAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwxKTtcbiAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19tZXRhe1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrLXNpbmdsZV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtaDE7XG4gICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICAgIG1heC13aWR0aDogJEdSSUQtQ09OVEFJTkVSICsgcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMycHgpOyAgLy8gbmVlZCB0byBsb29rIGludG8gdGhpcyBhbmQgcG9zc2libHkgcmVtb3ZlLlxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjhweCk7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX190b3BpYyB7XG4gIGNvbG9yOiAkR1JFWTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLW1lZGl1bSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1tZWRpdW0pIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTJweCk7XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fYXV0aG9yIHtcbiAgICBjb2xvcjogJERBUktfQkxVRTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdyaWQoLjI1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbWVkaXVtIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxMnB4KTtcbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2NvbnRlbnQge1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZywgZmlndXJlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgLy8gbWFyZ2luOiBncmlkLXBpeGVscygwLC43NSkgMCAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwuNSk7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBle2ZvbnQtd2VpZ2h0OiA2MDA7fVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIH1cblxuICAgICAgICBhOm5vdChbaHJlZl49XCJodHRwczovL2NkblwiXSl7XG4gICAgICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCRXSElURSwgcmdiYSgkQkxBQ0ssLjkpLCAkQkxBQ0spO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazs7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAuaXMtZGFyayAmIHtcbiAgICAgIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCREQVJLLUFSVElDTEUtQkcsIHJnYmEoJFdISVRFLC45KSwgJFdISVRFKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDUlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG5cbiAgICAuYm94ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX21haW4taW1hZ2Uge1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1cztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgei1pbmRleDogMTE7XG59XG4uYmxvY2stc2luZ2xlX19yZWNvbW1lbmRlZCB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLX0JMVUU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSBncmlkLXBpeGVscygwLDEpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5lbnRyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtaGVhZGluZyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC41KTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnkgYXtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjI1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgIH1cblxufVxuLmJsb2NrLXNpbmdsZV9fdGFnLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuNSk7XG4gICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG59XG4uYmxvY2stc2luZ2xlX190YWcsIC5ibG9jay1zaW5nbGVfX3RhZy1zcGFjZXIge1xuICAgIGNvbG9yOiAkUkVEO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAuaXMtZGFyayAmIHtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICB9XG59XG4uYmxvY2stc2luZ2xlX190YWcge1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5ib2R5W2RhdGEtYmxvZ2lkPVwiOFwiXSAuYmxvY2stc2luZ2xlX19yZWFkLXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmJsb2NrLXRvcGlje1xuICAuY2FyZC1hcnRpY2xlLWZlYXR1cmUgPiAuYm94LTJ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgLy8gbWluLWhlaWdodDogNDI3cHg7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay10b3BpY19fbW9iaWxlLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVktTElHSFQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAuNzUpIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxufVxuLmJsb2NrLXRvcGljX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5ibG9jay10b3BpY19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSk7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDAgZ3JpZC1waXhlbHMoMCwxKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG5cbiAgICAuYm94ZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fZW50cnkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3N1YnRvcGljcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEdSRVktTElHSFQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zbGljay1saXN0IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJFJFRDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIG1hcmdpbjogMCBncmlkKC4yKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIGdyaWQoLjE1KTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDY0cHg7XG4gICAgd2lkdGg6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxuXG4gICAgJi5pcy1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiA4JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcmlnaHQ6IDIuNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxlZnQge1xuICAgICAgICBsZWZ0OiA4JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLWRpc2FibGVke1xuICAgICAgc3Zne2ZpbGw6ICRHUkVZO31cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgZmlsbDogJFJFRDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtaDE7XG5cbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbWFyZ2luOiBncmlkLXBpeGVscygwLC41KSBhdXRvO1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fdG9waWMge1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2F1dGhvciB7XG4gICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICREQVJLX0JMVUU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19jb250ZW50IHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcblxuICAgIGltZywgZmlndXJlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiBncmlkLXBpeGVscygwLC43NSkgMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjUpO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDUlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLmJsb2NrLXRvcGljX19tYWluLWltYWdlIGltZyB7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLDEuMSwxKTsgLy8gKioqKk5vdCBzdXJlIGlmIHdlIGFyZSB1c2luZyB0aGlzIG9yIG5vdC5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURS1PRkY7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXJ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fbWFpbi1pbWFnZSB7XG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1cztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3NpZGViYXIge1xuICAgIG1hcmdpbi10b3A6IDglO1xufVxuLmJsb2NrLXRvcGljX19yZWNvbW1lbmRlZCB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLX0JMVUU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5lbnRyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC41KTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnkge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwuMjUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuZGl2aWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLX0JMVUU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgfVxuXG59XG4iLCIuYmxvY2stdG9waWMtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRCTEFDSztcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG4gIH1cblxuICAuY29tcG9uZW50LWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWFydGljbGUge1xuICAgICYuaXMtdmlkZW8tbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDIpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1kaXZpZGVkLWxpc3QoKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5pcy1sYXJnZTpsYXN0LWNoaWxke1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlcntcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWFydGljbGVfX21haW4taW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gNjAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICB9XG5cbiAgLmNhcmQtYXJ0aWNsZV9fdG9waWMge1xuICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG5cbi5ibG9jay10b3BpYy1zZWN0aW9uLS12aWRlbyB7XG4gIC5ib3gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uIHtcbiAgLmNvbXBvbmVudC1tYWdhemluZS1yYWNre1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICBwYWRkaW5nOiBncmlkKC4zKTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLWZlYXR1cmVkLXNlY3Rpb25fX2FydGljbGV7XG4gIGJhY2tncm91bmQtY29sb3I6ICRHUkVZLUxJR0hUO1xufVxuXG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19zdWJ0aXRsZXtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBwYWRkaW5nOiAwIGdyaWQoLjQpO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC40KTtcbiAgfVxuXG4gID4gYXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG4gIH1cbn1cblxuLmJsb2NrLWZlYXR1cmVkLXNlY3Rpb25fX2ljb24tYXJyb3ctYWx0e1xuICBtYXJnaW4tbGVmdDogZ3JpZCguMTUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBzdmd7XG4gICAgQGluY2x1ZGUgaW1hZ2UtYmxvY2s7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIHdpZHRoOiAyOHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgfVxuICB9XG59XG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19pY29uLWFycm93e1xuICBtYXJnaW4tbGVmdDogZ3JpZCguMTUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuXG4gIHN2Z3tcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBmaWxsOiAkUkVEO1xuICAgIHdpZHRoOiA4cHg7XG4gIH1cbn1cbiIsIi5ibG9jay1tZW51IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBhIHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuIiwiLmJsb2NrLW1lZ2FtZW51e1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDQpO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAuN3M7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuXG4gICAgLm1haW4tY29udGVudHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tc2Vjb25kYXJ5e1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMztcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMCAwICgkRk9PVEVSX0hFSUdIVCArIDI1KSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJFdISVRFLC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC42NSkgZ3JpZC1waXhlbHMoMCwgMSk7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJEJMQUNLLU9GRjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDUwMHB4KSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gMzUwcHgpIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1mb290ZXIge1xuICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMS4yNSkgZ3JpZC1waXhlbHMoMCwxKSBncmlkLXBpeGVscygwLCA0KSBncmlkLXBpeGVscygwLDEpO1xuICAgIH1cblxuICAgIC5ibG9jay1mb290ZXItbWFpbiB7XG4gICAgICAgIC5ib3hlcyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC0xIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LTIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtMyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMS41KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuNSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWwgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRCTEFDSztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stYXJ0aWNsZXMtYXNpZGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWS1MSUdIVDtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRib3JkZXItdG9wOiA0cHggc29saWQgJERBUkstQkxVRTtcblx0fVxuXG5cdC5ib3hlcyB7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cblx0LmJveGluZyB7XG5cdFx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoY2VudGVyLCBjZW50ZXIsIHJvdyk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDAgMDtcblxuICAgICAgICA+IC5jb250YWluZXIge1xuICAgICAgICBcdHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBvbmVudC1oZWFkaW5nICB7XG4gICAgICAgIFx0cGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ibG9jay1hcnRpY2xlcy1sYXRlc3Qge1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdGFydGljbGUge1xuXHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMS41KTtcblx0fVxuXG5cdC5jYXJkLWFydGljbGVfX21haW4taW1hZ2V7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IGdyaWQoLjIpO1xuXHRcdH1cblx0fVxuXG5cdC5jb21wb25lbnQtaGVhZGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwyKTtcblxuXHRcdCYuaXMtY2VudGVyZWQge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdCYuaXMtYm90dG9tY2FwIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0bWFyZ2luOiBncmlkLXBpeGVscygwLDEpIDAgMDtcblxuXHQgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdCAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcblx0ICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblx0ICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG5cdCAgICAgICAgICAgIHNwYW4ge1xuXHQgICAgICAgICAgICAgICAgY29sb3I6ICRSRUQ7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgc3ZnLCAuc3QwIHtcblx0XHRcdFx0XHRzdHJva2U6ICRSRUQ7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICB9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0cGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cblx0XHRwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICA+IC5jb250YWluZXIge1xuXG4gICAgICAgXHRcdHdpZHRoOiAxMDAlO1xuICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stbWFnYXppbmUtcmFjayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRHUkVZLUxJR0hUO1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuXHR9XG5cblx0LmJveGVzIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuXHQuYm94aW5nIHtcblx0XHRAaW5jbHVkZSBsYXlvdXQtZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIsIHJvdyk7XG5cblx0XHRmaWd1cmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtaGVhZGluZyAge1xuICAgICAgICBcdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC41KSBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGFzdCB7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5ibG9jay1lZGl0b3JzLXBpY2tzIHtcblx0QGV4dGVuZCAuYmxvY2stbWFnYXppbmUtcmFjaztcbn0iLCIuYmxvY2stbmV3c2xldHRlcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAgIC50aXRsZXtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgY29sb3I6ICRCTEFDSztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBoM3tcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICNGaXJzdE5hbWUsICNMYXN0TmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93LC5ta3RvT0ZGc2V0LCAubWt0b0NsZWFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkRGVzY3JpcHRvci5ta3RvRm9ybUNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMiksIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5ta3RvRm9ybVJvdyAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkQkxBQ0s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmLmhhcy12YWx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyLCAkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICA+IC5ta3RvRmllbGREZXNjcmlwdG9yID4gLm1rdG9GaWVsZFdyYXAgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ta3RvUmFkaW9MaXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9CdXR0b25Sb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLm1rdG9CdXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIyMSwzNCwzNCwxKSwgcmdiYSg0Myw1NiwxNDMsMSkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDAgc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9HdXR0ZXIubWt0b0hhc1dpZHRoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1rdG9Gb3JtIC5ta3RvRXJyb3IgLm1rdG9FcnJvck1zZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEVSUk9SO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogdHJhbnNwYXJlbnQgMCAtMXB4IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWt0b0Zvcm0gLm1rdG9FcnJvciAubWt0b0Vycm9yQXJyb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEVSUk9SO1xuICAgICAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICB9XG5cbi8qID09PT09PT09IG9sZCBzdHlsZXMgdG8gY2xlYW4gdXA9PT09PT09PT09PT09PSAqL1xuICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwxLjMzMykgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRSRUQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRSRUQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3d7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50b3VjaGVkLmludmFsaWR7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkRVJST1I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjI1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnByaXZhY3l7XG4gICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRCTEFDSztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWVycm9yZWQtcHJpdmFjeXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDAsMCwuNSk7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaXZhY3ktbWVzc2FnZXtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRHUkVZLUxJR0hUO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmZvY3Vze291dGxpbmU6IG5vbmV9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWl0e1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkV0hJVEUsLjEpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7d2lkdGg6IDEwMCV9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWR7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICAgICAgJjphZnRlcnt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWF0ZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC42KSAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3Jtc2d7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYm94ZWR7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi41KSBncmlkLXBpeGVscygwLDQuNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuX2RhcmsucG5nKSA1MCAwIHJlcGVhdDtcbiAgICAgICAgLy8gYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAgZ3JpZC1waXhlbHMoMCwuNzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgLy8gcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi41KSBncmlkLXBpeGVscygwLDIuNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5pcy1nZW8gLmlzUmFkaW9Sb3d7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cbi5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIsIC5ibG9jay1uZXdzbGV0dGVyLWlubGluZSwgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyLCAuYmxvY2stbmV3c2xldHRlci11bnN1YnNjcmliZSB7XG4gICAgJi5zdGF0ZS1zdWNjZXNze1xuICAgICAgLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3N7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxufVxuLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRCTEFDSztcblxuICAgIC5ib3hlZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgICB9XG5cbiAgICAudGl0bGUsIC5zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAgICAgPiBkaXYge1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLm1rdG9FcnJvciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC02NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXJnaW46IC03cHggMCAtMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IC0yNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KXtcbiAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgc3BhbiwgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkV3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGxlZnQsICRqdXN0aWZ5OiBjZW50ZXIsICRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBmbGV4LWVuZCk7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0J1dHRvblJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGxlZnQpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93IC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJFNBTlM7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3cgbGFiZWwubWt0b0xhYmVsIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gLm1rdG9FcnJvciB7XG4gICAgICAgICAgICAvLyAgICAgcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vICAgICBib3R0b206IC0yMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgLm1rdG9FbWFpbEZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItaW5saW5lX19wb2xpY3l7bWFyZ2luLXRvcDogZ3JpZCguMjUpOyB0ZXh0LWFsaWduOiBjZW50ZXJ9XG4uYmxvY2stbmV3c2xldHRlci1zaWRlYmFyX19wb2xpY3l7bWFyZ2luLXRvcDogZ3JpZCguMjUpfVxuXG4uYmxvY2stbmV3c2xldHRlci1vdmVybGF5e1xuICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyMjEsMzQsMzQsLjk1KSwgcmdiYSg0Myw1NiwxNDMsLjk1KSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjdzO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3Atc21hbGwpe1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNTBweCwwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIFxuICAgIC8vIEFkanVzdG1lbnRzIGZvciBzaG9ydCBicm93c2VyIHdpbmRvd3NcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NDBweCApIGFuZCAobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDg2NnB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY4MHB4ICkgYW5kIChtaW4td2lkdGg6IDg2N3B4KSBhbmQgKG1heC13aWR0aDogMTAyOXB4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY1MHB4ICkgYW5kIChtaW4td2lkdGg6IDEwMzBweCkge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5ib3gtY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMik7XG4gICAgICAgIG1heC13aWR0aDogMTA2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsIHRvIGRlc2t0b3AtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAgODUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uc3tcbiAgICAgICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMHB4KTtcblxuICAgICAgICA+IC5ib3h7d2lkdGg6IDUwJX1cblxuICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxLjI1KSBncmlkLXBpeGVscygwLDEuNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjc1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmV7YmFja2dyb3VuZDogJFdISVRFO31cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgaDE7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1zIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJEJMQUNLO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDMuNzUpIGdyaWQtcGl4ZWxzKDAsMS41KSBncmlkLXBpeGVscygwLDQuMjUpO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgIC8vIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMi43NSkgZ3JpZC1waXhlbHMoMCwxLjUpIGdyaWQtcGl4ZWxzKDAsMS41KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuX2RhcmsucG5nKSA1MCAwIHJlcGVhdDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLW1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDEuNzUpIGdyaWQtcGl4ZWxzKDAsMSkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc4MHB4ICkgYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWt0b0Zvcm1Sb3cge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTM3cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvcm17XG4gICAgICAubWt0b0Zvcm1Sb3cgbGFiZWx7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5ta3RvQXN0ZXJpeHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxuXG4gICAgICAubWt0b0xhYmVsLm1rdG9IYXNXaWR0aHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSBidXR0b24ubWt0b0J1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRTQU5TICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKSAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2V7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlcl9fY2xvc2V7XG4gICAgICAgIC5saW5le2JhY2tncm91bmQ6ICRCTEFDSy1PRkZ9XG4gICAgfVxuXG59XG5cbi5ibG9jay1uZXdzbGV0dGVyLW92ZXJsYXlfX3BvbGljeSB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogZ3JpZCguMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgcGFkZGluZzogMCBncmlkKC4yKTtcbiAgfVxufVxuXG4uYmxvY2stbmV3c2xldHRlci1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUJMVUU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGdyaWQoLjUpIDAgMCAwO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICAgICAgaGVpZ2h0OiBncmlkKC40KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuXG4gICAgfVxuXG4gICAgLnRpdGxlLCAuc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cblxuICAgIC5ib3hlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpIDMzJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1tZWRpdW0gdG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgZ3JpZC1waXhlbHMoMCwgMik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LW1lZGl1bSB0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMSkgMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1CTFVFO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4gZGl2IHtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAubWt0b0Vycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC02NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC03cHggMCAtMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KXtcbiAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgIHNwYW4sIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpe1xuICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogbGVmdCwgJGp1c3RpZnk6IGNlbnRlciwgJGRpcmVjdGlvbjogY29sdW1uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJERBUkstQkxVRSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykgLm1rdG9SYWRpb0xpc3QgbGFiZWwge1xuICAgICAgICAgICAgLy8gY29sb3I6ICRXSElURTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmLmhhcy12YWx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQkxVRTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyBsYWJlbC5ta3RvTGFiZWwubWt0b0hhc1dpZHRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkRGVzY3JpcHRvci5ta3RvRm9ybUNvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvT2Zmc2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyX19wb2xpY3l7XG4gIG1hcmdpbi10b3A6IGdyaWQoLjI1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvY2stbmV3c2xldHRlci1pbmxpbmUge1xuICAgIEBleHRlbmQgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyO1xuICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgIGZvcm0gPiBkaXY6bnRoLWNoaWxkKDUpIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItdW5zdWJzY3JpYmUge1xuICAgIHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgLm1rdG9PZmZzZXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ta3RvRmllbGRXcmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNFbWFpbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIC41KSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNzIHtcbiAgICAgICAgbWFyZ2luOiAtMzBweCAtMTAlIDA7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTMlIDA7XG4gICAgICAgICAgICB3aWR0aDogMTA2JTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMCBncmlkLXBpeGVscygwLCA0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcblxuICAgICAgICAubWt0b0J1dHRvbldyYXAsIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1rdG9Gb3JtUm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXJfX2Nsb3Nle1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC0yMDAlLDApO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgJHRvcDogOXB4O1xuXG4gICAgLmxpbmUtMXtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgfVxuXG4gICAgLmxpbmUtMntvcGFjaXR5OiAwO31cblxuICAgIC5saW5lLTN7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRvcDogLSAkdG9wIC0gMjtcbiAgICB9XG5cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXJfX3N1Y2Nlc3N7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsMy43NSkgZ3JpZC1waXhlbHMoMCwxLjUpIGdyaWQtcGl4ZWxzKDAsNC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG5cbiAgLmJveGVkZWR7d2lkdGg6IDEwMCV9XG59XG5cbi5ta3RvQnV0dG9uV3JhcCB7XG4gICAgLmlzLXdhaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRHUkVZICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFydGlmYWt0IEVsZW1lbnRcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5zdGF0ZS13YWl0aW5nIHtcbiAgICAgICAgLmlzLXdhaXRpbmcge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiNta3RvRm9ybV8yMDAzIC5ta3RvQnV0dG9uV3JhcCwgLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciAjbWt0b0Zvcm1fMTkxOSAubWt0b0J1dHRvbldyYXAge1xuICAgIC5pcy13YWl0aW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGQyMjIyLCAjMmIzODhmKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbn1cbi5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIgI21rdG9Gb3JtXzE5MTkgLm1rdG9CdXR0b25XcmFwIHtcbiAgICAuaXMtd2FpdGluZyB7XG4gICAgICAgIHRvcDogM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICB9XG59XG4vLyBxdWljayBmaXguIE5lZWRzIHQgYmUgcmVmYWN0b3JlZFxuLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyIGZvcm0gPiBkaXY6bnRoLWNoaWxkKDUpIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PSBORVcgTUFSS0VUTyBGT1JNIE1JR1JBVElPTiA9PT09PT09PT09PT09PT09PSAqL1xuXG4jZW1haWxzaWdudXBfX2Zvb3RlciwgI2VtYWlsc2lnbnVwX19pbmxpbmUsICNlbWFpbHNpZ251cF9fb3ZlcmxheSwgLmVtYWlsc2lnbnVwX19zaWRlYmFyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi5ibG9jay1hdXRob3Jze1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IHN0cmV0Y2gpO1xuXG4gID4gLmJveHtcbiAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICBtYXJnaW46IDAgMCAzNXB4IDA7XG4gICAgd2lkdGg6IDE5JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgIG1hcmdpbjogMiU7XG4gICAgfVxuXG4gICAgJi5pcy1lbXB0eXtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5ibG9jay1zdGFmZntcbiAgbWFyZ2luOiBncmlkKC41KSBhdXRvIDYwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA2MDBweDtcblxuICB1bHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIH1cblxuICBsaXtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1zdGFmZl9faGVhZGluZ3tcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9jay1zdGFmZl9fY29udHJpYnV0ZXJze1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBhe2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWX1cbn1cbiIsIi5ibG9jay1hd2FyZHN7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcblxuICAgIC5ib3hlc3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKXtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ib3h7XG5cbiAgICAgICAgJjpub3QoOm50aC1sYXN0LWNoaWxkKC1uICsgMykpe1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbi5ibG9jay1hd2FyZHNfX2hlYWRpbmd7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiLmJsb2NrLWV2ZW50e1xuICAvLyBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IHN0cmV0Y2gpO1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG5cbiAgICB9XG5cbiAgICAubWFpbi1pbWFnZSB7XG4gICAgICAud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxufVxuLmJsb2NrLWV2ZW50X19jb250YWluZXIge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUtT0ZGICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjUpICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIFxufVxuLmJsb2NrLWV2ZW50X19zcGVha2VycyB7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXG4gICYuaGFzLW9uZSB7XG4gICAgLmNhcmQtc3BlYWtlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbi5ibG9jay1ldmVudF9fc2VjdGlvbiB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEuNSkgMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi0taW50cm8ge1xuICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcbiAgICBcbiAgICAuYmxvY2stZXZlbnRfX3N1YnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxufVxuLmJsb2NrLWV2ZW50X19oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xufVxuLmJsb2NrLWV2ZW50X19zdWJ0ZXh0IHtcbiAgY29sb3I6ICRHUkVZO1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuMjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG59XG4uYmxvY2stZXZlbnRfX2NvcHkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDE4cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgfVxuICBoMywge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxuICBoNCwge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICBoNSwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICBoNiwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICBAaW5jbHVkZSBsc3MtbGluay11bmRlcmxpbmUoJFdISVRFLCByZ2JhKCRCTEFDSywuOSksICRCTEFDSyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOztcbiAgfVxufVxuLmJsb2NrLWV2ZW50X19jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQyMjIyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkZDIyMjIgMCUsICMyYzM4OGYgMTAwJSk7XG4gIGNvbG9yOiAkV0hJVEU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAxKTtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgcGFkZGluZzogMjJweCBncmlkLXBpeGVscygwLCAyKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAxNXB4IGdyaWQtcGl4ZWxzKDAsIDIpO1xuICB9IFxufVxuLmJsb2NrLWV2ZW50X19kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRSRUQ7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDVweDtcbn1cbi5ibG9jay1ldmVudF9fc2VjdGlvbi0taG90ZWwge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAyLjUpO1xufVxuLmJsb2NrLWV2ZW50X19ob3RlbC1pbWFnZSB7XG4gIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjI1KTtcbn1cbi5ibG9jay1ldmVudF9fZ29vZ2xlLW1hcCB7XG4gIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAyLjI1KTtcbn1cbi5ibG9jay1ldmVudF9fdXJsIHtcbiAgbWFyZ2luOiAtNXB4IDAgMTVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB9ICBcbn1cbi5ibG9jay1ldmVudF9fc29jaWFsIHtcbiAgYSB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIH1cbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB9XG4gIH1cbn1cbi5ibG9jay1ldmVudF9fZm9vdGVyLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAyLjI1KTtcblxuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICB9XG4gIGgzIHtcbiAgICBjb2xvcjogJEdSRVk7XG4gICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjI1KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cbiAgfVxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBHYXRlZCBDb250ZW50IHN0eWxlc1xuI2dhdGVkLWNvbnRlbnQtLWFnZW5kYXtcbiAgZGlzcGxheTpub25lO1xuICBtYXJnaW46NjBweCAwO1xufVxuI2dhdGVfY29kZS0tYWdlbmRhe1xuICBkaXNwbGF5OmJsb2NrO1xuICBtYXJnaW46IDYwcHggMCAwO1xufVxuXG4uYmxvY2stZXZlbnRfX2dhdGUtY29kZSB7XG4gIC5ibG9jay1ldmVudF9fY29weSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNpZnJhbWUxIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuYmxvY2stZXZlbnRfX2dhdGUtY29kZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuYmxvY2stZXZlbnRfX2RpdmlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4jZ2F0ZWQtY29udGVudC0tYWdlbmRhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59IiwiQGltcG9ydCBcImF1dGhvclwiO1xuQGltcG9ydCBcImZyb250LXBhZ2VcIjtcbkBpbXBvcnQgXCJwYWdlLWF1dGhvcnNcIjtcbkBpbXBvcnQgXCJwYWdlXCI7XG5AaW1wb3J0IFwic2luZ2xlXCI7XG5AaW1wb3J0IFwidG9waWNcIjsiLCIudmlldy1hdXRob3J7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICB0b3A6ICRIRUFERVJfSEVJR0hUOyAgIFxuICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgfSAgICBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURS1PRkY7XG5cbiAgICAgICAgLmJsb2NrLWFydGljbGVzLWxhdGVzdCAuY29tcG9uZW50LWhlYWRpbmcge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm93e1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmOmxhc3QtY2hpbGR7XG4gICAgICAgIC8vICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDIpIDA7XG4gICAgICAgIC8vIH1cblxuICAgICAgICA+IC5ib3h7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgID4gLmNvbnRhaW5lciB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93LTE7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIG1hcmdpbjogMTAwcHggYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYXJ0aWNsZXMtbGF0ZXN0IHtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnZpZXctZnJvbnQtcGFnZXtcblxuICAgID4gLnJvdzpudGgtY2hpbGQoMSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJvd3tcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgPiAuYm94e1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmJveC0xe1xuXG4gICAgICAgICAgICAmLmhhcy1uby1tb2JpbGUtbWFyZ2lue1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZXtcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1sYXJnZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZ3JpZC04LW9mZnNldC0xOm5vdCguaGFzLW5vLW1vYmlsZS1tYXJnaW4pe1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZXtcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1sYXJnZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmJveC0ye1xuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xle1xuXG4gICAgICAgICAgICAgICAgJi5pcy1zbWFsbHtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke21hcmdpbjowfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucm93Om5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jYXJkLWFydGljbGV7XG5cbiAgICAgICAgJi5pcy1zbWFsbHtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMikgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5idXR0b24tdGhlLWxhdGVzdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgIH1cblxuXG4gIC5ibG9jay1lZGl0b3JzLXBpY2tzICsgLmJsb2NrLXRvcGljLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi52aWV3LWZyb250LXBhZ2VfX2JhcntcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuLnBuZykgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDBweCBhdXRvO1xuICBoZWlnaHQ6IGdyaWQoLjUpO1xufVxuIiwiLnZpZXctcGFnZS1hdXRob3Jze1xuXG4gICAgaGVhZGVye1xuICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC43NSkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBoMntcbiAgICAgICAgXHRjb2xvcjogJEJMQUNLLU9GRjtcbiAgICAgICAgXHRtYXJnaW46IDMwcHggMDtcbiAgICAgICAgXHRmb250LXNpemU6IDQwcHg7XG4gICAgICAgIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWF1dGhvcnNfX25hbWUge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC43NSkgZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH1cblxufVxuIiwiLnZpZXctcGFnZXtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwzKTtcblxuICAgIC5wYWdlLWNvbnRhaW5lcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDQpO1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLC0zKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLXBpeGVscyg4LDcpO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDIpIGdyaWQtcGl4ZWxzKDEsMCkgZ3JpZC1waXhlbHMoMCwzKSBncmlkLXBpeGVscygxLDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0cmlwZXMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDApO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00MDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgLm1haW4taW1hZ2V7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgICAgICAuY29udGFpbmVye1xuICAgICAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGhlYWRlcntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaDJ7bWFyZ2luOjB9XG5cbiAgICAgICAgaDEsaDIsaDMsaDQsaDV7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi52aWV3LXBhZ2VfX2NvbnRlbnR7XG5cbiAgICBoMSxoMixoMyxoNCxoNXtcbiAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCRXSElURSwgcmdiYSgkQkxBQ0ssLjkpLCAkQkxBQ0spO1xuICAgIH1cblxuICAgIC5pcy1kYXJrICYge1xuICAgICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgICBAaW5jbHVkZSBsc3MtbGluay11bmRlcmxpbmUoJERBUkstQVJUSUNMRS1CRywgcmdiYSgkV0hJVEUsLjkpLCAkV0hJVEUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyxie2ZvbnQtd2VpZ2h0OiA4MDB9XG4gICAgZW17Zm9udC1zdHlsZTogaXRhbGljfVxuXG4gICAgaW1ne2hlaWdodDphdXRvO21heC13aWR0aDogMTAwJX1cblxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm17XG5cbiAgICAgICAgbGFiZWx7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6Zm9jdXN7b3V0bGluZTogbm9uZX1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuMSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNHM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgJjphZnRlcnt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4uZWJvb2stY29udGFpbmVye1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmVib29rLWNvbnRyb2xze1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRXSElURSwuOCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvd3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIGF1dG87XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICAgICAgICB3aWR0aDogMzBweDtcblxuICAgICAgICAmLnNsaWNrLW5leHR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQuc3ZnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stcHJldntcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1hcnJvdy1sZWZ0LnN2Zyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWRpc2FibGVke1xuICAgICAgICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi52aWV3LXNpbmdsZS1wb3N0IHtcblxuXHQud2lzdGlhX3Jlc3BvbnNpdmVfcGFkZGluZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjRlbTtcblx0fVxuXG4gIC5ibG9jay1tYWdhemluZS1yYWNre1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gICAgLm1haW4taW1hZ2VfX2NhcHRpb257XG4gICAgICAgIGJvdHRvbTogZ3JpZC1waXhlbHMoMCwzKTtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIGdyaWQtcGl4ZWxzKDEsMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAuYm94ZWR7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRXSElURTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19jb250ZW50e1xuICAgICAgaDIsaDMsaDQsaDUsaDZ7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lcntcblxuICAgICAgICBzdHJvbmcsIGJ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZW17XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICBwe0BpbmNsdWRlIGxldmVscygxKTt9XG5cbiAgICAgICAgcCwgdWx7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMThweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE2cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWx7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS40ZW07XG5cbiAgICAgICAgICAgIGxpOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVktQkxVRTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWS1CTFVFO1xuICAgICAgICAgICAgbWFyZ2luOiAyLjJlbSAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzVweCBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5lbnRyeS1jb250ZW50LWFzc2V0LCAud3AtdmlkZW8sIC5jb21wb25lbnQtZ2FsbGVyeXtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNGVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2l6ZS1mdWxsLC5hbGlnbm5vbmV7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1mdWxsYnJvd3NlcndpZHRoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0gNzVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDclIDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgLy8gbGVmdDogY2FsYyggMHB4IC0gKCAoKDEwMHZ3IC0gKCAxMDB2dyAqIC45KSkgLyAyKSkgLSA2JSApOyAvLyAoKHdpbmRvdyB3aWR0aCAtIGNvbnRhaW5lciB3aWR0aCkgLyAyKSAtIEJveCAxJ3Mgd2lkdGhcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAwcHggLSA1dncgKyAtMjElICk7IC8vIFNlZSBmdWxsIGNhbGN1bGF0aW9uIGFib3ZlIGZvciByZWZlcmVuY2VcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3AtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAwcHggLSAoICgxMDB2dyAtIDEyMzBweCkgLyAyKSArIC0yMSUgKTsgLy8gKCh3aW5kb3cgd2lkdGggLSBjb250YWluZXIgd2lkdGgpIC8gMikgLSBCb3ggMSdzIHdpZHRoXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbGlnbm5vbmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVkc2hpZnQtdmlkZW8tZW1iZWR7XG5cbiAgICAgICAgICAgICYuYWxpZ25jZW50ZXJ7XG4gICAgICAgICAgICAgICAgPiBkaXZ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuYWxpZ25yaWdodHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNSU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuYWxpZ25sZWZ0e1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgNSUgMCAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBvbmVudC1nYWxsZXJ5IC53cC1jYXB0aW9ue21hcmdpbi1ib3R0b206IDB9XG5cbiAgICAgICAgLndwLWNhcHRpb257XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMTtcblxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9wLWZ1bGwtd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53cC1jYXB0aW9uLXRleHR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkQkxBQ0ssLjUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE0cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRXSElURTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgLndwLWNhcHRpb24tdGV4dHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fc2lkZWJhciB7XG5cbiAgICAuc2l0ZS1hZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXMtZGFyayB7XG5cbiAgICAmLCAmIC5ibG9jay1zaW5nbGVfX2JvZHksICYgLmJsb2NrLW1hZ2F6aW5lLXJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1BUlRJQ0xFLUJHO1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cblxuICAgIC5ib3gtNCBzdmcge1xuICAgICAgICBmaWxsOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyIHtcbiAgICAgICY6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnR9XG4gICAgfVxuXG4gICAgLmJsb2NrLW1lbnUgYSwgLmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlciwgLmJsb2NrLXNpbmdsZV9fdGl0bGUsIC5ibG9jay1zaW5nbGVfX2NvbnRlbnQsIC5jb21wb25lbnQtaGVhZGluZyBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19hdXRob3IsIHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgIH1cblxuICAgIC5ibG9jay1tYWdhemluZS1yYWNrIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlLCAuY2FyZC1hcnRpY2xlX19hdXRob3Ige1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtc3VibWVudSBhIHtcbiAgICAgIC8vIGNvbG9yOiAkREFSSy1CTFVFO1xuICAgIH1cblxuICAgICYuYmxvY2staGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1zaGFyZS1hbHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogJERBUkstQkxVRTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1zaW5nbGVfX3NpZGViYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1BUlRJQ0xFLUJHO1xuICAgICAgICBvdXRsaW5lOiAzMHB4IHNvbGlkICREQVJLLUFSVElDTEUtQkc7XG4gICAgfVxuXG4gICAgLmJsb2NrLXNpbmdsZV9fcmVjb21tZW5kZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRHUkVZO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEdSRVk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlci1zaWRlYmFyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkR1JFWTtcblxuICAgICAgICAuYm94ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpIDUwIDAgcmVwZWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlLCAuc3VidGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgYnV0dG9uLm1rdG9CdXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJERBUkstQkxVRSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpIC5ta3RvUmFkaW9MaXN0IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQkxVRTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxufVxuLy8gSlAgc3BlY2lmaWMgdHdlYWtzXG4vKiA9PT09IEV2ZW50IHBvcCB1cCBoYWNrcyA9PT09PT09PT09ICovXG5ib2R5W2RhdGEtYmxvZ2lkPVwiNFwiXSB7XG4gIC5jb250YWluZXIge1xuICAgIHAsIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjRweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEzcHgpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdhdGVkIENvbnRlbnQgc3R5bGVzXG4jYmxvY2stc2luZ2xlX19nYXRlZC1jb250ZW50e1xuICBkaXNwbGF5Om5vbmU7XG4gIG1hcmdpbjo2MHB4IDA7XG59XG4jYmxvY2stc2luZ2xlX19nYXRlX2NvZGV7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIG1hcmdpbjogNjBweCAwIDA7XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5ibG9jay1zaW5nbGVfX2dhdGUtY29kZS1mb290ZXIgcCB7XG4gICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIC4yNSkgYXV0byAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fZ2F0ZS1jb2RlIHtcbiAgLmJsb2NrLXNpbmdsZV9fY29weSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNpZnJhbWUxIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuYmxvY2stc2luZ2xlX19nYXRlLWNvZGUtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgLmJsb2NrLXNpbmdsZV9fZGl2aWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbiNibG9jay1zaW5nbGVfX2dhdGVkLWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxufSIsIi52aWV3LXRvcGljLXBhZ2Uge1xuICAuYmxvY2stbWFnYXppbmUtcmFja3tcbiAgICBwYWRkaW5nOiBncmlkKC40KSAwIGdyaWQoLjIpIDA7XG5cbiAgICAuY29tcG9uZW50LWhlYWRpbmd7XG4gICAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xKTtcbiAgICAgIHNwYW57Zm9udC1zaXplOiAyMHB4O31cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJuZXdzbGV0dGVyXCI7XG5AaW1wb3J0IFwibWVnYW1lbnVcIjtcbkBpbXBvcnQgXCJzZWFyY2hcIjtcbkBpbXBvcnQgXCJzdWJtZW51XCI7XG5AaW1wb3J0IFwic3dpdGNoZXJcIjsiLCIuc3RhdGUtaGVhZGVyIHtcbiAgICAmLXNoYWRvd2Vke1xuICAgICAgICAuYmxvY2staGVhZGVye1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgICAgICAmLmlzLWRhcmt7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93LTI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRXSElURSwuOSk7XG5cbiAgICAgICAgICAgICAgICAubG9nbyBzdmd7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoJFdISVRFLC45KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW5pdHtcbiAgICAgICAgLm5hdi10ZWFzZSB7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby10ZWFzZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLWltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhLXNvY2lhbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnN0YXRlLW5ld3NsZXR0ZXItb3BlbiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RhdGUtb3BlbjtcbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlcntcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDYwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblxuICAgICAgICAmLmJsb2NrLW5ld3NsZXR0ZXItb3ZlcmxheS5zdGF0ZS1zdWNjZXNze1xuICAgICAgICAgIC5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNze1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1sYXlvdXQtY2xvc2Utb3ZlcmxheXtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXZpc2libGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuYmxvY2stdXNlci1hY3Rpb25ze1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5zdGF0ZS1tZWdhbWVudS1vcGVue1xuICAgIEBpbmNsdWRlIGxheW91dC1zdGF0ZS1vcGVuO1xuXG4gICAgLmJsb2NrLWhlYWRlcntcbiAgICAgICAgLm5hdmlnYXRpb24tcHJpbWFyeXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC12aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLW1lZ2FtZW51X19ib3R0b20sXG4gICAgLmJsb2NrLW1lZ2FtZW51e1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1idXR0b24tbWVudSB7XG4gICAgICAgICR0b3A6IDlweDtcblxuICAgICAgICAubGluZS0xe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUtMntvcGFjaXR5OiAwO31cblxuICAgICAgICAubGluZS0ze1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRvcDogLSAkdG9wIC0gMTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJsb2NrLXVzZXItYWN0aW9uc3tcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuc3RhdGUtc2VhcmNoLW9wZW57XG4gICAgQGluY2x1ZGUgbGF5b3V0LXN0YXRlLW9wZW47XG5cbiAgICAuYmxvY2stc2VhcmNoe1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtdmlzaWJsZTtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDcpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cblxufVxuIiwiLnN0YXRlLXN1Ym1lbnUtb3BlbntcblxuICAgIC5zaXRlIHtcbiAgICBcdC8vIHBhZGRpbmctdG9wOiAxNDFweDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXN1Ym1lbnV7XG4gICAgXHQvLyBkaXNwbGF5OiBmbGV4O1xuICAgIFx0aGVpZ2h0OiA1MHB4O1xuXHRcdG1hcmdpbi10b3A6IDBweDtcblx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFxuICAgIH1cblxufVxuIiwiYm9keS5zdGF0ZS1zd2l0Y2hlci1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnN0YXRlLXN3aXRjaGVyLW9wZW4gLmNvbXBvbmVudC1zd2l0Y2hlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnN0YXRlLXN3aXRjaGVyLW9wZW4gLmNvbXBvbmVudC1zd2l0Y2hlcl9fbGlua3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgfVxuXHRcdFx0XHRcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4ICkgYW5kIChtaW4td2lkdGg6IDc3MHB4KSB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA0MDBweCk7XG4gICAgfVxuXHRcdFx0XHRcbn0iLCIvLyBKUCAoYmxvZ2lkID0gNClcbmJvZHlbZGF0YS1ibG9naWQ9XCI0XCJdIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG4gICAgICAgIC8vIDI4cHggLyAxLjc1cmVtXG4gICAgICAgIC5ibG9jay1uZXdzbGV0dGVyLWZvb3RlciAudGl0bGUsIC5ibG9jay1uZXdzbGV0dGVyLWlubGluZSAudGl0bGUsIC5ibG9jay1zaW5nbGVfX3RpdGxlIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMzAuOHB4ICFpbXBvcnRhbnQ7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOS40cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMwcHhcbiAgICAgICAgLmJsb2NrLXRvcGljX19tb2JpbGUtdGl0bGUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAzM3B4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzEuNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMjVweFxuICAgICAgICAuYmxvY2stdG9waWMtc2VjdGlvbiAuY2FyZC1hcnRpY2xlX190aXRsZSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDI3LjVweCAhaW1wb3J0YW50OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjYuMjVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgIC8vIDI0cHhcbiAgICAgICAgLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX190aXRsZSwgLmJsb2NrLWZlYXR1cmVkLXNlY3Rpb25fX3N1YnRpdGxlLCAuY29tcG9uZW50LWhlYWRpbmcge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAyNi41cHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNS4yNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMTZweCAvIDFyZW1cbiAgICAgICAgLmNhcmQtYXJ0aWNsZS5pcy1vbi10aGUtcmFjayAuY2FyZC1hcnRpY2xlX190aXRsZSwgLnZpZXctc2luZ2xlLXBvc3QgLmNvbnRhaW5lciBwLCAuYmxvY2stbmV3c2xldHRlciAuc3VidGl0bGUsIC52aWV3LXBhZ2UtYXV0aG9ycyAuYmxvY2stYXV0aG9yc19fbmFtZSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDE3LjZweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDE2LjhweDtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gMTVweFxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpYyBhLCAuY2FyZC1hcnRpY2xlX19hdXRob3Ige1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxNi41cHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNS43NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMTRweFxuICAgICAgICAuYmxvY2stZm9vdGVyX19tZW51IHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTUuNHB4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMTJweCAvIC43NXJlbVxuICAgICAgICAuY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2F1dGhvciwgLmJsb2NrLWZvb3Rlci1zZWNvbmRhcnksIC5ibG9jay1zaW5nbGVfX2F1dGhvciwgLmJsb2NrLXNpbmdsZV9fdG9waWMge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxMy4ycHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMi42cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvL3JlbXNcbiAgICAgICAgLy8xLjMxMjVcbiAgICAgICAgLmNhcmQtYXJ0aWNsZS5pcy1hc2lkZSAuY2FyZC1hcnRpY2xlX190aXRsZSBhLCAuY2FyZC1hcnRpY2xlLmlzLW9uLXRoZS1yYWNrIC5jYXJkLWFydGljbGVfX3RpdGxlIGEge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxLjQ0NHJlbTsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMzc4cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8xLjg3NVxuICAgICAgICAuY2FyZC1oZWFkZXIuaGFzLWRlc2NyaXB0aW9uIC5jYXJkLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAyLjA2cmVtOyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45NjhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gRVMgKGJsb2dpZCA9IDcpXG5ib2R5W2RhdGEtYmxvZ2lkPVwiN1wiXSB7IC8vIDYgZm9yIHRlc3RpbmcsIDcgZm9yIGxpdmVcblxuXHQuYmxvY2staGVhZGVyX19tYWluIHtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1x0XHRcdFxuXHRcdFx0LmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlciB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0cGFkZGluZzogMCAycHg7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiB1bnNldDtcblx0XHRcdH1cdFx0XG5cdFx0fVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1NDFweCkge1x0XHRcdFxuXHRcdFx0LmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlciB7XG5cdFx0XHRcdFxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0XHRcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNTQwcHggKSB7XHRcdFx0XG5cdFx0XHQuY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyIHtcblx0XHRcblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XHRcblx0XHRcdH1cdFx0XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblxuXHR9XG59IiwiLmdmb3JtX3dyYXBwZXJ7XG5cbiAgICB1bHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fdGl0bGV7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX21lc3NhZ2V7Y29sb3I6ICRSRUR9XG5cbiAgICBkaXYudmFsaWRhdGlvbl9lcnJvcntcbiAgICAgIGNvbG9yOiAkUkVEICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3J7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuXG4gICAgbGl7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb21wbGV4ID4gc3BhbntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgbGFiZWx7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTk5OXB4O1xuICAgIH1cblxuICAgIC5nZm9ybV9kZXNjcmlwdGlvbntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1wO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICB9XG5cbiAgICB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnR9XG5cbiAgICAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcntcbiAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogZmxleC1zdGFydCk7XG5cbiAgICAgID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1ib3R0b206IDA7fVxuICAgIH1cblxuICAgIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIgc3BhbntcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7IG1hcmdpbi1ib3R0b206ICAxNXB4O31cbiAgICAgICY6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOiAwcHh9XG4gICAgfVxuXG4gICAgaW5wdXQsIHRleHRhcmVhe1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRHUkVZLUxJR0hUO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6Zm9jdXN7b3V0bGluZTogbm9uZX1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmdmb3JtX2J1dHRvbi5idXR0b257XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLO1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuMSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNHM7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgICY6YWZ0ZXJ7d2lkdGg6IDEwMCV9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0FBLDREQUE0RDtBQUU1RDs7OztHQUlHO0E0QkxILE9BQU8sQ0FBUCx5QkFBTztBNUJPUCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFVO0VBQUUsT0FBTztFQUNoQyxvQkFBb0IsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUNuQyx3QkFBd0IsRUFB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QUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxHQUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxHQUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxHQUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxHQUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxHQUFtQjtDZU4xQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZHRCxHQUFtQjtDZUYxQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFLO0VBQ2pCLEtBQUssRWZERCxHQUFtQjtDZUUxQjs7QUFWRCxBQUFBLE9BQU8sQ0FBSztFQUNSLEtBQUssRWZPRCxH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 */