@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

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

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

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

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

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

button, input[type="button"], input[type="reset"], input[type="submit"],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-font-smoothing: antialiased;
  background-color: #f36e21;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1;
  padding: 0.75em 1em;
  text-decoration: none;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 3px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  transition: all 200ms ease; }
  button:hover,
  button:focus, input[type="button"]:hover,
  input[type="button"]:focus, input[type="reset"]:hover,
  input[type="reset"]:focus, input[type="submit"]:hover,
  input[type="submit"]:focus,
  button:hover,
  button:focus {
    background-color: #bd4c0a;
    color: #fff; }
  button:disabled, input[type="button"]:disabled, input[type="reset"]:disabled, input[type="submit"]:disabled,
  button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }

a.button {
  line-height: 25px;
  border: 2px solid #f36e21;
  padding: 0.35em 0.7em 0.25em 2em;
  color: #f36e21;
  position: relative;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  transition: all 200ms ease;
  border-radius: 2px;
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  display: inline-block;
  max-width: 100%;
  overflow-wrap: break-word; }
  a.button:before {
    content: "";
    height: 0;
    width: 0;
    border-bottom: 0.9375em solid #f36e21;
    border-left: 0.9375em solid transparent;
    position: absolute;
    top: initial;
    right: initial;
    bottom: 0.7em;
    left: 0.45em;
    -webkit-transition: border-color 200ms ease;
    -moz-transition: border-color 200ms ease;
    transition: border-color 200ms ease; }
  a.button:hover {
    background: #f36e21;
    color: #fff;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto; }
    a.button:hover:before {
      height: 0;
      width: 0;
      border-bottom: 0.9375em solid #fff;
      border-left: 0.9375em solid transparent; }

a.button.button--no-arrow {
  padding: 7px 13px 5px 13px; }
  a.button.button--no-arrow:before {
    display: none; }

.homepage-button, #events a.all-events, #news-highlights a.read-more {
  font-size: 15px;
  font-weight: bold;
  padding: 0.5em 1.3em 0.4em 2.5em; }
  .homepage-button:before, #events a.all-events:before, #news-highlights a.read-more:before {
    bottom: 0.8em;
    left: 0.85em; }

fieldset {
  background-color: #e6e6e6;
  border: 1px solid #ccc;
  margin: 0 0 0.625em;
  padding: 1.25em; }

input,
label,
select {
  display: block;
  font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.25em; }

label {
  font-weight: 600;
  margin-bottom: 0.3125em; }
  label.required::after {
    content: "*"; }
  label abbr {
    display: none; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea,
select[multiple=multiple],
textarea {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.25em;
  margin-bottom: 0.625em;
  padding: 0.41667em;
  transition: border-color;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover,
  select[multiple=multiple]:hover,
  textarea:hover {
    border-color: #b3b3b3; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus,
  select[multiple=multiple]:focus,
  textarea:focus {
    border-color: #f36e21;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(238, 95, 13, 0.7);
    outline: none; }

textarea {
  resize: vertical; }

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

input[type="checkbox"],
input[type="radio"] {
  display: inline;
  margin-right: 0.3125em; }

input[type="file"] {
  padding-bottom: 0.625em;
  width: 100%; }

select {
  margin-bottom: 1.25em;
  max-width: 100%;
  width: auto; }

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  main ul {
    list-style-type: disc;
    margin-bottom: 0.625em;
    padding-left: 1.25em; }
    main ul li {
      padding-left: .5em; }

dl {
  margin-bottom: 0.625em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.625em; }
  dl dd {
    margin: 0; }

table {
  -webkit-font-feature-settings: "kern", "liga", "tnum";
  -moz-font-feature-settings: "kern", "liga", "tnum";
  -ms-font-feature-settings: "kern", "liga", "tnum";
  font-feature-settings: "kern", "liga", "tnum";
  border-collapse: collapse;
  margin: 0.625em 0;
  table-layout: fixed;
  width: 100%; }

tbody {
  border-top: 0; }

th {
  border-bottom: 1px solid #a6a6a6;
  font-weight: 600;
  padding: 0.625em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #ccc;
  padding: 0.625em 1em; }

tr,
td,
th {
  vertical-align: middle; }

.all-services-table {
  font-size: 14px;
  line-height: 25px;
  color: #838485; }
  .all-services-table td {
    padding: 15px 1em 8px; }

body {
  -webkit-font-feature-settings: "kern", "liga", "pnum";
  -moz-font-feature-settings: "kern", "liga", "pnum";
  -ms-font-feature-settings: "kern", "liga", "pnum";
  font-feature-settings: "kern", "liga", "pnum";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #282828;
  font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.25em;
  line-height: 1.25; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1.25em;
  line-height: 1.2;
  margin: 0 0 0.625em;
  font-weight: 600; }

p {
  margin: 0 0 0.625em; }

a {
  color: #f36e21;
  text-decoration: none; }
  main a, a span.underline-on-hover {
    position: relative; }
    main a:before, a span.underline-on-hover:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      bottom: -1px;
      left: 0;
      background-color: #f36e21;
      visibility: hidden;
      -webkit-transform: scaleX(0);
      -moz-transform: scaleX(0);
      -ms-transform: scaleX(0);
      -o-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transition: all 150ms ease-in-out 0s;
      -moz-transition: all 150ms ease-in-out 0s;
      transition: all 150ms ease-in-out 0s; }
    main a:hover:before, a span.underline-on-hover:hover:before {
      visibility: visible;
      -webkit-transform: scaleX(1);
      -moz-transform: scaleX(1);
      -ms-transform: scaleX(1);
      -o-transform: scaleX(1);
      transform: scaleX(1); }
  a:active,
  a:focus {
    outline: none; }
  a[href^="tel"] {
    color: inherit;
    cursor: default;
    text-decoration: none; }
    a[href^="tel"]:before {
      visibility: hidden !important; }
    a[href^="tel"]:hover {
      color: inherit;
      cursor: default;
      text-decoration: none; }

hr {
  border-bottom: 1px solid #ccc;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 1.25em 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

html {
  box-sizing: border-box; }

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

#admin-menu {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto; }

@media screen and (max-width: 1024px) {
  body.admin-menu.adminimal-menu:before {
    height: 0; } }

ul.tabs.primary {
  border-bottom: 0;
  border-top: 1px solid #bbb;
  text-align: right;
  margin: 0; }
  ul.tabs.primary li.active a {
    border-bottom: 1px solid #bbb;
    border-top: 1px solid #fff; }
  ul.tabs.primary li a {
    border-style: none solid solid solid; }

.edit-node {
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  display: none;
  z-index: 99; }
  .edit-node a {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjE2Ny42MzggMTYuOTg0IDE2IDE2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDE2Ny42MzggMTYuOTg0IDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjRjM2RjAxIiBkPSJNMTgxLjkyNiwyNy45MzNsLTMuMjUzLDMuMjcxbC04LjIzOS04LjI3OWwzLjI1NS0zLjI3MUwxODEuOTI2LDI3LjkzM3ogTTE2Ny45NjUsMjAuNDQ1bDEuNjIyLDEuNjNsMy4yNTUtMy4yNzFsLTEuMzktMS4zOTdjLTAuNTYzLTAuNTY0LTEuNDc0LTAuNTY0LTIuMDM1LDBsLTEuNDUxLDEuNDU5QzE2Ny41MywxOS4zMDIsMTY3LjUzLDIwLjAwNywxNjcuOTY1LDIwLjQ0NXogTTE4Mi44MDcsMjguODE5bC0zLjI1MywzLjI3MWwzLjYyNywwLjg4NGMwLjI2NywwLjA2NSwwLjUwNy0wLjE3NSwwLjQ0OC0wLjQ0M0wxODIuODA3LDI4LjgxOXoiLz48L3N2Zz4=");
    display: block;
    width: 16px;
    height: 16px;
    text-indent: -9999px;
    overflow: hidden; }

.row-container:hover .edit-node {
  display: block; }

.form-item, .form-actions {
  margin-top: 0;
  margin-bottom: 0; }

ul li.leaf {
  list-style-image: none;
  list-style-type: none; }

.field-collection-container {
  border-bottom: 0;
  margin-bottom: 0; }
  .field-collection-container .action-links-field-collection-add {
    display: none; }

.field-collection-view {
  padding: 0;
  margin: 0;
  border-bottom: 0; }

html {
  background: #282828; }

body {
  background: #fff; }

b, strong {
  font-weight: 600; }

.container {
  max-width: 60em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0.809em; }
  .container::after {
    clear: both;
    content: "";
    display: table; }

.color--orange {
  color: #f36e21; }

.color--white {
  color: #fff; }

.color--black {
  color: #000; }

.color--dark-gray {
  color: #282828; }

.color--medium-gray {
  color: #666766; }

.color--light-gray {
  color: #ccc; }

#preload {
  display: none !important; }

#identity-bar {
  background: #f36e21;
  height: 52px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden; }
  @media (max-width: 979px) {
    #identity-bar {
      z-index: 1000; } }
  @media (min-width: 980px) {
    #identity-bar {
      position: relative; } }
  body.adminimal-menu #identity-bar {
    top: 45px; }
    @media (min-width: 980px) {
      body.adminimal-menu #identity-bar {
        top: initial;
        left: initial;
        right: initial; } }
  #identity-bar #MobileCheck {
    display: none !important;
    content: "mobile"; }
    @media (min-width: 980px) {
      #identity-bar #MobileCheck {
        content: "desktop"; } }
  #identity-bar * {
    box-sizing: border-box; }
  #identity-bar svg {
    max-height: 100%;
    fill: none;
    stroke: none; }
  #identity-bar .center {
    max-width: 60em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0.809em;
    overflow: hidden; }
    #identity-bar .center::after {
      clear: both;
      content: "";
      display: table; }
  #identity-bar .rit-logo {
    float: left;
    width: 370px; }
    #identity-bar .rit-logo svg {
      max-height: 51px;
      fill: #fff;
      stroke: none; }
    @media (max-width: 979px) {
      #identity-bar .rit-logo {
        width: 93px;
        overflow: hidden;
        margin: auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 0; } }
  #identity-bar #rit-logo-rit {
    width: 93px; }
  #identity-bar #rit-logo-text {
    width: 270px; }
    @media screen and (max-width: 979px) {
      #identity-bar #rit-logo-text {
        display: none; } }
  #identity-bar .search-container {
    float: right;
    width: 160px; }
  #identity-bar .search-form {
    margin: 11px 0 0 0;
    position: relative;
    width: 160px;
    background: none;
    padding: 0; }
  #identity-bar .form-item {
    margin: 0; }
    #identity-bar .form-item input {
      border-radius: 12px;
      -moz-border-radius: 12px;
      -webkit-border-radius: 12px;
      padding: 7px 25px 3px 10px;
      border: none;
      box-shadow: none;
      width: 100%;
      font: 11px/16px "Helvetica", sans-serif;
      max-width: none;
      color: #666766; }
      #identity-bar .form-item input::-webkit-input-placeholder {
        color: #676867; }
      #identity-bar .form-item input::-moz-placeholder {
        color: #676867; }
      #identity-bar .form-item input:-moz-placeholder {
        color: #676867; }
      #identity-bar .form-item input:-ms-input-placeholder {
        color: #676867; }
      #identity-bar .form-item input:focus {
        outline: 0; }
  #identity-bar #idbar-search-close-button {
    width: 17px;
    height: 17px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -5%;
    margin: auto 0;
    display: block;
    cursor: pointer;
    z-index: 9999;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out; }
    #identity-bar #idbar-search-close-button svg {
      width: 17px;
      height: 17px; }
  #identity-bar .form-actions {
    margin: 0;
    display: inline; }
    #identity-bar .form-actions input {
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      margin: auto 0; }
  #identity-bar #idbar-search-button {
    display: none;
    width: 48px;
    height: 33px;
    position: absolute;
    right: 5px;
    top: 11px;
    padding-left: 5px;
    cursor: pointer;
    z-index: 20;
    background-size: 30px;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    box-sizing: border-box; }
    #identity-bar #idbar-search-button svg {
      max-width: 100%;
      fill: #fff;
      stroke: #fff;
      height: 30px; }
  #identity-bar #idbar-menu-button {
    width: 31px;
    height: 29px;
    position: absolute;
    left: 12px;
    top: 14px;
    z-index: 20;
    display: none;
    cursor: pointer; }
    #identity-bar #idbar-menu-button svg {
      max-width: 100%;
      height: 24px;
      fill: #fff; }

@media screen and (max-width: 979px) {
  #identity-bar #idbar-search-button {
    display: block; }
  #identity-bar #idbar-menu-button {
    display: block; }
  #identity-bar .center {
    padding: 0; }
  #identity-bar .rit-logo a {
    display: block; }
  #identity-bar .rit-logo img {
    width: auto;
    margin-top: 14px;
    height: 27px;
    overflow: hidden; }
  #identity-bar .search-container {
    float: none;
    width: 100%;
    position: absolute;
    top: 0;
    right: -100%;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out; }
  #identity-bar .search-form {
    width: auto;
    margin: 0; }
  #identity-bar .form-item input {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    height: 52px;
    font-size: 18px; }
  #identity-bar .form-actions input {
    display: none; } }

#idbar-search-close-button #icon-idbar-close-button-circle {
  fill: #dedede; }

#idbar-search-close-button #icon-idbar-close-button-x {
  fill: #6b6b6b;
  stroke: #6b6b6b; }

@media (max-width: 979px) {
  #identity-bar .rit-logo {
    -webkit-transition: top 350ms ease;
    -moz-transition: top 350ms ease;
    transition: top 350ms ease; }
  #identity-bar .site-logo {
    display: block;
    width: 290px;
    height: 45px;
    position: absolute;
    top: 94px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: top 350ms ease;
    -moz-transition: top 350ms ease;
    transition: top 350ms ease; }
    #identity-bar .site-logo svg {
      fill: #fff; }
  body.ritbar-site-logo #identity-bar .site-logo {
    top: 0;
    height: 45px; }
  body.ritbar-site-logo #identity-bar .rit-logo {
    top: -52px; } }

@media (min-width: 980px) {
  #identity-bar .site-logo {
    display: none; } }

#mobile-menu {
  width: 275px;
  -webkit-transform: translate3D(-275px, 0, 0);
  -moz-transform: translate3D(-275px, 0, 0);
  -ms-transform: translate3D(-275px, 0, 0);
  -o-transform: translate3D(-275px, 0, 0);
  transform: translate3D(-275px, 0, 0);
  position: fixed;
  top: 52px;
  right: initial;
  bottom: initial;
  left: 0;
  z-index: 1000;
  background: #fff;
  max-height: calc(100vh - 52px);
  overflow-y: scroll; }
  body.adminimal-frontend #mobile-menu {
    max-height: calc(100vh - 99px);
    top: 97px; }
  #mobile-menu ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  #mobile-menu li {
    padding: 0;
    margin: 0;
    list-style: none;
    border-top: 1px solid #ccc;
    position: relative; }
    #mobile-menu li.active-trail ul {
      display: block; }
    #mobile-menu li.active-trail.has-dropdown > a:after {
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg); }
  #mobile-menu .menu-name-main-menu li {
    border-top: 0; }
  #mobile-menu a {
    padding: 19px 10px 16.5px 10px;
    color: #282828;
    position: relative;
    display: block;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.2px;
    border-bottom: 1px solid #eaeaea; }
  #mobile-menu li.last a {
    border-bottom: 0; }
  #mobile-menu li.has-dropdown > a:after {
    content: "×";
    font-size: 0.9em;
    font-weight: bold;
    font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    padding-left: 5px;
    vertical-align: top;
    color: #666766;
    display: inline-block;
    margin: auto 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    transition: all 200ms ease;
    position: absolute;
    right: 10px; }
  #mobile-menu li.has-dropdown > a.open:after {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  #mobile-menu .menu-name-menu-quick-links li:nth-of-type(2) {
    display: none; }
  #mobile-menu ul ul {
    display: none; }
    #mobile-menu ul ul li {
      background: #d2d2d2;
      padding-left: 20px;
      padding-right: 20px; }
    #mobile-menu ul ul a {
      color: #282828;
      font-size: 13px;
      text-transform: capitalize;
      padding-top: 19px;
      padding-right: 0;
      padding-bottom: 17px;
      font-weight: 600; }
      #mobile-menu ul ul a.active {
        color: #f36e21; }

body:after {
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate3d(-100%, 0, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

body.mobile-out {
  overflow-y: hidden; }
  body.mobile-out #mobile-menu {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  body.mobile-out:after {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }

body:after, #mobile-menu {
  -webkit-transition: -webkit-transform 250ms ease-in-out;
  -moz-transition: -moz-transform 250ms ease-in-out;
  transition: transform 250ms ease-in-out; }
  @media (min-width: 980px) {
    body:after, #mobile-menu {
      display: none; } }

#header {
  background: #fff;
  position: relative;
  height: 140px; }
  @media (min-width: 980px) {
    #header {
      height: 132px; } }
  #header .fixed {
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
    @media (max-width: 979px) {
      #header .fixed {
        padding-top: 50px; } }
  #header .header-left {
    padding-top: 31px;
    padding-bottom: 21px;
    -webkit-transition: padding 500ms ease;
    -moz-transition: padding 500ms ease;
    transition: padding 500ms ease; }
    @media screen and (min-width: 51.2em) {
      #header .header-left {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        #header .header-left:last-child {
          margin-right: 0; } }
    @media (max-width: 979px) {
      #header .header-left {
        text-align: center;
        width: 100%; } }
    @media (max-width: 979px) {
      #header .header-left {
        padding-top: 15px;
        padding-bottom: 5px; } }
    #header .header-left #twc-logo--header {
      height: 72px;
      fill: #f36e21; }
      @media (max-width: 979px) {
        #header .header-left #twc-logo--header {
          height: 62px; } }
  #header .header-right {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%;
    display: none; }
    #header .header-right:last-child {
      margin-right: 0; }
    @media screen and (min-width: 51.2em) {
      #header .header-right {
        display: block; } }
    @media (max-width: 979px) {
      #header .header-right {
        display: none; } }

@media (min-width: 980px) {
  body.fixed-header #header .fixed {
    position: fixed;
    top: 0;
    right: 0;
    bottom: initial;
    left: 0;
    z-index: 999;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2); }
  body.fixed-header.adminimal-menu #header .fixed {
    top: 29px; }
  body.shrunk-header #header .header-left {
    padding-top: 14px;
    padding-bottom: 6px; }
  body.shrunk-header #header #quick-links--header ul {
    margin-top: 11px; }
  body.shrunk-header #header #main-menu--header .menu-name-main-menu > ul > li {
    padding-bottom: 21px; }
    body.shrunk-header #header #main-menu--header .menu-name-main-menu > ul > li > a {
      padding-bottom: 26px; }
    body.shrunk-header #header #main-menu--header .menu-name-main-menu > ul > li ul {
      top: 51px; } }

@media screen and (min-width: 51.2em) {
  .content--sidebar {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    margin-left: 8.10331%; }
    .content--sidebar:last-child {
      margin-right: 0; }
    .content--sidebar.border-left {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 36.02647%;
      margin-left: 3.83841%;
      padding: 0 0 0 4%;
      border-left: 1px solid #666766; }
      .content--sidebar.border-left:last-child {
        margin-right: 0; } }

.content--sidebar .sidebar--left {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 31.76157%; }
  .content--sidebar .sidebar--left:last-child {
    margin-right: 0; }

.content--sidebar .sidebar--right {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 65.88078%;
  font-size: 16px; }
  .content--sidebar .sidebar--right:last-child {
    margin-right: 0; }

.content--sidebar h3 {
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 16px;
  color: #000;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto; }

#footer {
  background: #282828;
  padding: 2.5em 0;
  color: #666766; }
  @media (max-width: 511px) {
    #footer {
      text-align: center;
      padding-top: 1.25em;
      padding-bottom: 1.25em; } }
  #footer a {
    color: #666766;
    text-decoration: underline; }
  @media screen and (min-width: 32em) {
    #footer .footer-left, #footer .footer-right {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      #footer .footer-left:last-child, #footer .footer-right:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 51.2em) {
    #footer .footer-left, #footer .footer-right {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      #footer .footer-left:last-child, #footer .footer-right:last-child {
        margin-right: 0; } }
  #footer .footer-left svg {
    max-width: 100%;
    max-height: 72px;
    height: auto; }
  @media (max-width: 511px) {
    #footer .footer-left .twc-logo {
      padding-bottom: 1.25em;
      border-bottom: 1px solid #666766; } }
  #footer .footer-left #twc-logo--footer {
    fill: #ccc; }
  @media (max-width: 511px) {
    #footer .footer-left .rit-logo {
      padding-top: 20px; } }
  #footer .footer-left #rit-logo--footer {
    fill: #666766;
    height: 3em;
    padding-top: 11px;
    margin-top: 2.5em; }
    @media (max-width: 511px) {
      #footer .footer-left #rit-logo--footer {
        padding: 0;
        margin: 0;
        width: 93px; } }
  #footer .footer-left p.copyright {
    font-size: 0.55em; }
    @media (max-width: 511px) {
      #footer .footer-left p.copyright {
        padding-bottom: 25px;
        border-bottom: 1px solid #666766; } }
  #footer .footer-middle {
    display: none; }
    @media screen and (min-width: 51.2em) {
      #footer .footer-middle {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        #footer .footer-middle:last-child {
          margin-right: 0; } }
  #footer .footer-right {
    line-height: 25px;
    font-size: 14px; }
    #footer .footer-right h4 {
      font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 14px;
      line-height: 25px;
      color: #ccc;
      text-transform: uppercase;
      margin-bottom: 0; }

#services {
  background: #f2f2f2;
  padding-top: 3.75em;
  padding-bottom: 3.75em;
  text-align: center; }
  @media (max-width: 650px) {
    #services {
      display: none; } }
  #services h2 {
    color: #000;
    font-size: 34px;
    margin: 0 0 25px 0;
    line-height: 25px;
    font-weight: 600; }
  #services h3 {
    color: #666766;
    font-size: 20px;
    font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    line-height: 1.25em;
    margin: 0; }

#events {
  padding: 25px 0; }
  @media screen and (min-width: 51.2em) {
    #events {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 38.15892%;
      margin-right: 0;
      padding: 50px 0 25px; }
      #events:last-child {
        margin-right: 0; } }
  #events a:before {
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
    background-color: transparent;
    visibility: visible; }
  #events a.all-events {
    top: -20px; }

.event {
  padding-top: 25px;
  padding-bottom: 50px;
  border-bottom: 1px solid #ccc; }
  .event:last-of-type {
    border-bottom: 0; }
  .event .date {
    float: right;
    color: #979797;
    font-size: 16px;
    line-height: 25px; }
  .event .title {
    font-size: 20px;
    color: #000;
    line-height: 25px;
    padding-right: 120px; }
  .event .location {
    padding-right: 120px; }
  .event .location, .event .time {
    color: #666766;
    font-size: 16px;
    line-height: 25px; }
  .event .read-more {
    float: right; }
    .event .read-more a {
      color: #f36e21;
      text-transform: uppercase;
      font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 14px;
      font-weight: bold;
      position: relative;
      padding-left: 20px; }
      .event .read-more a:before {
        height: 0;
        width: 0;
        border-bottom: 14px solid #f36e21;
        border-left: 14px solid transparent;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 2px;
        margin: auto 0; }

#news-highlights {
  padding: 25px 0;
  position: relative; }
  @media screen and (min-width: 51.2em) {
    #news-highlights {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 59.48343%;
      padding: 50px 0; }
      #news-highlights:last-child {
        margin-right: 0; } }
  #news-highlights a:before {
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
    background-color: transparent;
    visibility: visible; }
  #news-highlights .view-id-news_highlights {
    max-width: 610px;
    padding-top: 25px; }
  #news-highlights .views-field-title {
    margin-top: 25px;
    font-size: 21px;
    font-weight: 600;
    color: #000; }
  #news-highlights .views-field-body {
    color: #666766;
    font-size: 14px;
    line-height: 25px;
    margin-top: 25px;
    font-weight: 600; }
  #news-highlights .views-field-field-url {
    margin-top: 15px; }
  #news-highlights .slide {
    padding-bottom: 1px; }
  #news-highlights .slick-dots {
    bottom: initial;
    top: -35px; }
    #news-highlights .slick-dots li button:before {
      height: 0;
      width: 0;
      border-bottom: #eaeaea solid 15px;
      border-left: #eaeaea solid transparent; }
    #news-highlights .slick-dots li.slick-active button:before {
      height: 0;
      width: 0;
      border-bottom: #f36e21 solid 15px;
      border-left: #f36e21 solid transparent; }

.server-error-page {
  text-align: center;
  padding-bottom: 200px; }
  .server-error-page h1 {
    font-size: 150px;
    color: #ccc;
    padding-top: 125px;
    padding-bottom: 75px;
    text-align: center;
    line-height: 120px;
    margin-bottom: 0; }

.node-page {
  padding-bottom: 2.5em;
  font-size: 0.825em;
  line-height: 2; }

.about-pod::after {
  clear: both;
  content: "";
  display: table; }

.about-pod .pod-left {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 31.76157%; }
  .about-pod .pod-left:last-child {
    margin-right: 0; }

.about-pod .pod-right {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 65.88078%;
  margin-bottom: 85px; }
  .about-pod .pod-right:last-child {
    margin-right: 0; }
  @media (max-width: 650px) {
    .about-pod .pod-right {
      margin-bottom: 75px; } }

.about-pod p {
  font-size: 0.7em;
  color: #666766;
  line-height: 25px; }

.about-pod:last-of-type .pod-right {
  margin-bottom: 50px; }

.gray-area {
  background: #eaeaea;
  padding-top: 2.5em;
  padding-bottom: 3.75em; }
  .gray-area .contact-card {
    padding-bottom: 25px; }
    .gray-area .contact-card:last-of-type {
      padding-bottom: 0;
      margin-bottom: 0; }
  .gray-area .content--sidebar .block h2 {
    font-size: 16px;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    text-transform: uppercase;
    margin-bottom: 50px; }
  .gray-area .content--sidebar.border-left {
    border-left: 1px solid #d1d1d2; }

.node-service-landing-page {
  padding-top: 1.25em;
  padding-bottom: 3.75em; }
  .node-service-landing-page::after {
    clear: both;
    content: "";
    display: table; }
  .node-service-landing-page .field-name-field-page-heading {
    font-weight: 600;
    font-size: 1.2em;
    margin-bottom: 1.25em; }
  .node-service-landing-page .field-name-field-heading-text {
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    color: #000;
    margin: 25px 0; }
  @media screen and (min-width: 32em) {
    .node-service-landing-page .field-name-field-link .field-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .node-service-landing-page .field-name-field-link .field-item:last-child {
        margin-right: 0; }
      .node-service-landing-page .field-name-field-link .field-item:nth-child(2n) {
        margin-right: 0; }
      .node-service-landing-page .field-name-field-link .field-item:nth-child(2n+1) {
        clear: left; } }
  .node-service-landing-page .field-name-field-link a {
    padding: 25px 21px 25px 25px;
    line-height: 25px;
    background: #eaeaea;
    color: #666766;
    font-size: 18px;
    display: block;
    -webkit-transition: all 250ms ease;
    -moz-transition: all 250ms ease;
    transition: all 250ms ease;
    width: 100vw;
    margin-left: -16px; }
    @media screen and (min-width: 32em) {
      .node-service-landing-page .field-name-field-link a {
        margin-bottom: 16px;
        width: 100%;
        margin-left: 0; } }
    .node-service-landing-page .field-name-field-link a:hover {
      background: #666766;
      color: #fff; }
    .node-service-landing-page .field-name-field-link a:after {
      margin-left: 4px;
      content: "\00bb"; }
    .node-service-landing-page .field-name-field-link a:before {
      display: none; }
  .node-service-landing-page .field-name-field-link .odd a {
    background: #f2f2f2; }
    .node-service-landing-page .field-name-field-link .odd a:hover {
      background: #666766;
      color: #fff; }
    @media screen and (min-width: 32em) {
      .node-service-landing-page .field-name-field-link .odd a {
        background: #eaeaea; } }

@media screen and (min-width: 51.2em) {
  .content--left {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.77747%; }
    .content--left:last-child {
      margin-right: 0; } }

.field-name-field-heading-text {
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px;
  text-transform: uppercase;
  color: #000;
  margin-bottom: 25px; }

.service-page--contacts::after, .service-page--hours::after, .service-page--website::after {
  clear: both;
  content: "";
  display: table; }

.service-page--contacts h3, .service-page--contacts p, .service-page--hours h3, .service-page--hours p, .service-page--website h3, .service-page--website p {
  margin-bottom: 0;
  line-height: 25px; }

.service-page--contacts {
  margin-bottom: 1.25em; }

.service-page--hours, .service-page--website {
  margin-bottom: 2.5em; }

body.page-services #block-system-main {
  max-width: 60em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0.809em; }
  body.page-services #block-system-main::after {
    clear: both;
    content: "";
    display: table; }

@media (min-width: 820px) {
  .node-featured-story {
    padding-top: 50px; } }

.node-featured-story .summary-text {
  font-weight: bold;
  color: #000;
  font-size: 20px;
  line-height: 36px;
  text-align: center; }
  @media (min-width: 820px) {
    .node-featured-story .summary-text {
      padding-bottom: 50px; } }

.node-featured-story .featured-story-content {
  padding-top: 25px;
  padding-bottom: 75px; }
  .node-featured-story .featured-story-content::after {
    clear: both;
    content: "";
    display: table; }

.node-featured-story .content--left {
  font-size: 16px;
  color: #666766;
  line-height: 32px; }

.featured-story-video {
  width: 675px;
  max-height: 380px;
  max-width: 100%;
  height: auto;
  position: relative;
  cursor: pointer; }
  .featured-story-video iframe {
    width: 100%;
    height: 100%; }
  .featured-story-video:after {
    content: "";
    width: 74px;
    height: 52px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: url(../img/play.png); }
  .featured-story-video.no-play-button:after {
    display: none; }
  @media (max-width: 899px) {
    .featured-story-video {
      margin-bottom: 50px; } }

#support-us-header {
  background: #282828;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px; }
  #support-us-header * {
    line-height: 25px; }
  #support-us-header h1 {
    color: #eaeaea;
    margin-top: 25px;
    margin-bottom: 25px; }

#support-us {
  background: #eaeaea;
  padding-top: 50px; }
  @media (max-width: 849px) {
    #support-us .container {
      padding-left: 0;
      padding-right: 0; } }
  #support-us h3 {
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    color: #000;
    text-align: center;
    margin-bottom: 50px; }
  #support-us .tab {
    position: relative;
    text-align: center;
    padding: 25px 25px 50px 25px;
    cursor: pointer; }
    @media (max-width: 849px) {
      #support-us .tab {
        margin-left: 25px;
        margin-right: 25px; }
        #support-us .tab::after {
          clear: both;
          content: "";
          display: table; } }
    @media (min-width: 850px) {
      #support-us .tab {
        width: 33%;
        float: left;
        min-height: 425px; }
        #support-us .tab:before {
          content: "";
          position: absolute;
          width: 100%;
          height: 5px;
          bottom: 0;
          left: 0;
          opacity: 1;
          background-color: #f36e21;
          visibility: hidden;
          -webkit-transform: scaleX(0);
          -moz-transform: scaleX(0);
          -ms-transform: scaleX(0);
          -o-transform: scaleX(0);
          transform: scaleX(0);
          -webkit-transition: all 150ms ease-in-out 0s;
          -moz-transition: all 150ms ease-in-out 0s;
          transition: all 150ms ease-in-out 0s; }
        #support-us .tab:hover:before {
          visibility: visible;
          -webkit-transform: scaleX(1);
          -moz-transform: scaleX(1);
          -ms-transform: scaleX(1);
          -o-transform: scaleX(1);
          transform: scaleX(1); } }
    #support-us .tab.tab-active {
      background: #fff; }
      #support-us .tab.tab-active:before {
        background-color: #fff; }
    #support-us .tab img {
      background: #afafb0;
      border-radius: 100%;
      overflow: hidden;
      -webkit-transition: background 150ms ease;
      -moz-transition: background 150ms ease;
      transition: background 150ms ease; }
      @media (max-width: 849px) {
        #support-us .tab img {
          max-width: 75px; } }
    @media (max-width: 849px) {
      #support-us .tab .image {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        #support-us .tab .image:last-child {
          margin-right: 0; } }
    @media (max-width: 849px) {
      #support-us .tab .text {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 65.88078%;
        text-align: left; }
        #support-us .tab .text:last-child {
          margin-right: 0; }
        #support-us .tab .text .verb {
          margin-top: 0; } }
    #support-us .tab:hover img, #support-us .tab.tab-active img {
      background: #f36e21; }
    #support-us .tab .verb, #support-us .tab .noun {
      font-weight: 600;
      font-size: 22px;
      line-height: 25px;
      color: #000; }
    #support-us .tab .verb {
      margin-top: 25px; }
    #support-us .tab .noun {
      margin-bottom: 25px; }
    #support-us .tab .what {
      font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      color: #666766;
      font-size: 16px; }
  #support-us .accordion {
    display: none;
    background: #fff; }
    #support-us .accordion::after {
      clear: both;
      content: "";
      display: table; }
    @media (min-width: 850px) {
      #support-us .accordion {
        display: none !important; } }
    #support-us .accordion .column {
      padding-bottom: 50px;
      padding-left: 50px;
      padding-right: 50px;
      position: relative; }
      #support-us .accordion .column::after {
        clear: both;
        content: "";
        display: table; }
      #support-us .accordion .column:first-of-type {
        padding-top: 50px; }
    #support-us .accordion .column-left {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      text-align: center; }
      #support-us .accordion .column-left:last-child {
        margin-right: 0; }
    #support-us .accordion .column-right {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      #support-us .accordion .column-right:last-child {
        margin-right: 0; }

@media (max-width: 849px) {
  #support-us-tab-content {
    display: none !important; } }

#support-us-tab-content .page-tab.default {
  display: block;
  text-align: center; }
  #support-us-tab-content .page-tab.default h1 {
    margin-bottom: 25px; }

#support-us-tab-content .column {
  width: 33%;
  float: left; }

#support-us-tab-content .column-left {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 23.23176%;
  padding-left: 0; }
  #support-us-tab-content .column-left:last-child {
    margin-right: 0; }

#support-us-tab-content .column-right {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 65.88078%; }
  #support-us-tab-content .column-right:last-child {
    margin-right: 0; }

#support-us-tab-content .page-tab {
  display: none;
  padding-top: 100px;
  padding-bottom: 100px; }
  #support-us-tab-content .page-tab::after {
    clear: both;
    content: "";
    display: table; }
  #support-us-tab-content .page-tab .line-break {
    height: 25px; }
    #support-us-tab-content .page-tab .line-break::after {
      clear: both;
      content: "";
      display: table; }

.accordion.default {
  padding: 50px 0;
  text-align: center; }
  @media (min-width: 850px) {
    .accordion.default {
      display: none !important; } }

#support-us .number, #support-us-tab-content .number {
  color: #fff;
  display: inline-block;
  background: #f36e21;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  font-size: 32px;
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-weight: bold;
  text-align: center;
  padding-top: 9px;
  padding-left: 2px; }

#support-us .number-100, #support-us-tab-content .number-100 {
  font-size: 28px;
  padding-top: 12px; }

#support-us .button, #support-us-tab-content .button {
  font-size: .8em; }

#maps-container {
  padding-top: 25px; }
  #maps-container a:hover:before {
    visibility: hidden;
    height: 0; }

#map-left {
  padding-top: 25px;
  padding-bottom: 25px; }
  @media (max-width: 699px) {
    #map-left {
      display: none; }
      #map-left input {
        margin: 0 auto;
        display: block; } }
  @media (min-width: 700px) {
    #map-left {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      padding-top: 50px;
      padding-bottom: 0; }
      #map-left:last-child {
        margin-right: 0; } }

.map-floor-container {
  border-bottom: 1px solid #eaeaea;
  max-width: 300px; }
  @media (max-width: 699px) {
    .map-floor-container {
      display: none; } }
  .map-floor-container .map-floor-heading {
    font-size: 15px;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    color: #000;
    line-height: 25px;
    padding-top: 6.25px;
    padding-bottom: 6.25px;
    cursor: pointer;
    position: relative; }
    .map-floor-container .map-floor-heading:before {
      content: "";
      height: 0;
      width: 0;
      border-bottom: 12px solid #eaeaea;
      border-left: 12px solid transparent;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: initial;
      -webkit-transition: border-color 150ms ease;
      -moz-transition: border-color 150ms ease;
      transition: border-color 150ms ease;
      margin: auto 0; }
  .map-floor-container.active .map-floor-heading {
    color: #f36e21; }
    .map-floor-container.active .map-floor-heading:before {
      height: 0;
      width: 0;
      border-bottom: 12px solid #f36e21;
      border-left: 12px solid transparent; }
  .map-floor-container.active .map-floor-container {
    color: #f36e21; }
    .map-floor-container.active .map-floor-container:before {
      height: 0;
      width: 0;
      border-bottom: 12px solid #f36e21;
      border-left: 12px solid transparent; }
  .map-floor-container ul {
    margin-top: 0;
    padding-left: 0;
    margin-right: 25px;
    margin-bottom: .4em; }
  .map-floor-container li {
    font-size: 13px;
    line-height: 25px;
    list-style: none;
    padding-left: 0; }
    .map-floor-container li a {
      text-decoration: none;
      color: #666766; }
      .map-floor-container li a.highlight {
        color: #f36e21; }

@media (min-width: 700px) {
  #map-right {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    #map-right:last-child {
      margin-right: 0; } }

#map-right #map-floor-links {
  width: 100%;
  border-spacing: 1px; }
  @media (max-width: 699px) {
    #map-right #map-floor-links {
      text-align: center;
      padding-bottom: 25px; }
      #map-right #map-floor-links:before {
        content: "Floor: "; } }
  @media (min-width: 700px) {
    #map-right #map-floor-links {
      display: table; } }
  #map-right #map-floor-links .heading {
    display: none; }
  @media (max-width: 699px) {
    #map-right #map-floor-links .map-link {
      display: inline-block; } }
  @media (min-width: 700px) {
    #map-right #map-floor-links .map-link {
      display: table-cell;
      width: 20%;
      margin-left: 1px;
      margin-right: 1px; }
      #map-right #map-floor-links .map-link:first-of-type a {
        border-top-left-radius: 5px; }
      #map-right #map-floor-links .map-link:last-of-type a {
        border-top-right-radius: 5px; } }
  #map-right #map-floor-links .map-link a {
    display: block;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    text-align: center;
    color: #b4b2b1;
    border: 1px solid #b4b2b1;
    -webkit-transition: all 150ms ease;
    -moz-transition: all 150ms ease;
    transition: all 150ms ease; }
    #map-right #map-floor-links .map-link a:hover, #map-right #map-floor-links .map-link a.active {
      border: 1px solid #f36e21;
      background: #f36e21;
      color: #fff; }
    @media (min-width: 700px) and (max-width: 825px) {
      #map-right #map-floor-links .map-link a .floor {
        display: block; } }
    @media (max-width: 699px) {
      #map-right #map-floor-links .map-link a {
        padding: 0.4em 1em;
        color: #000;
        font-weight: 600;
        border: 1px solid transparent; }
        #map-right #map-floor-links .map-link a .th {
          display: none; }
        #map-right #map-floor-links .map-link a .floor {
          display: none; } }
  #map-right #map-floor-links .map-link.map-link-active a {
    background: #f36e21;
    border-color: #f36e21;
    color: #fff; }

#map-marker, #map-marker-detail {
  position: absolute;
  left: 0;
  top: 0;
  height: 140px;
  width: 43px;
  display: none; }

#content, #map-marker-detail {
  /*z-index: 9501;*/ }

#map-marker-detail {
  width: 350px;
  height: auto;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  background: #000;
  border: 1px solid #333;
  text-align: left; }
  #map-marker-detail > div {
    margin: 20px; }
  #map-marker-detail .title {
    margin-bottom: 12px;
    text-shadow: 1px 1px 1px #666;
    font-weight: bold; }
  #map-marker-detail .detail, #map-marker-detail .detail ul, #map-marker-detail .detail p {
    color: #bbb;
    line-height: 18px; }
  #map-marker-detail .detail ul {
    line-height: 14px;
    margin-top: 10px; }
  #map-marker-detail .detail a {
    color: #F36E21; }
  #map-marker-detail .close-button {
    position: absolute;
    right: 15px;
    top: 7px;
    width: 22px;
    height: 23px;
    cursor: pointer;
    background: #000; }
    #map-marker-detail .close-button svg {
      width: 27px;
      height: 16px; }
    #map-marker-detail .close-button .icon-close-button-x {
      fill: #fafafa; }
    #map-marker-detail .close-button .icon-close-button-circle {
      fill: #888; }

#map-marker > img {
  cursor: pointer;
  margin-top: 15px; }

#map {
  position: relative;
  background: #f6f6f6;
  text-align: center; }

.map-link, .map-link-active {
  margin-left: 5px; }

#legend {
  padding-top: 5px;
  padding-bottom: 5px;
  background: #f6f6f6;
  text-align: center; }

#map-location-search {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #aaa;
  padding: 4px 20px 4px 6px;
  margin-bottom: 20px;
  -webkit-appearance: none;
  background: #fff;
  width: 300px;
  max-width: 100%; }

.floorMapThumbs > a {
  margin-right: 2px;
  margin-top: 5px; }

#twcmaps-header > a {
  color: inherit !important;
  text-decoration: none !important; }

.hidden {
  display: none !important; }

.page-search main {
  padding-top: 25px; }

.page-search #search-form {
  background: #eaeaea;
  padding: 35px 25px; }
  @media (min-width: 979px) {
    .page-search #search-form {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .page-search #search-form:last-child {
        margin-right: 0; } }
  .page-search #search-form label {
    margin: 0 0 20px 0;
    padding: 0;
    display: block;
    font-size: 18px;
    font-weight: normal;
    color: #000000;
    line-height: 1.2em; }
  .page-search #search-form input {
    padding: 10px;
    width: 100%;
    background-color: #fff;
    border: 0 none;
    border-radius: 0;
    box-shadow: none;
    font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 14px;
    color: #676867;
    line-height: 1em;
    margin-bottom: 1.3em; }
  .page-search #search-form input[type="submit"] {
    margin: 0;
    padding: 12px 16px;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 15px;
    font-weight: normal;
    color: #f36e21;
    text-align: center;
    line-height: 1em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    background-color: transparent;
    border-radius: 4px;
    border: 2px solid #f36e21;
    cursor: pointer;
    width: auto;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    transition: all 500ms ease; }
    .page-search #search-form input[type="submit"]:hover {
      background: #f36e21;
      color: #fff; }
  .page-search #search-form .search-advanced {
    display: none; }

@media (min-width: 979px) {
  .page-search .search-results-container {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%;
    margin-left: 8.5298%; }
    .page-search .search-results-container:last-child {
      margin-right: 0; } }

.page-search .search-results-container h3 {
  margin: 0 0 20px 0;
  padding: 20px 10px 20px 0;
  display: inline-block;
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 20px;
  font-weight: normal;
  color: #2d2d2d;
  line-height: 25px;
  text-transform: uppercase;
  border-bottom: 2px #bebebe solid; }

.page-search .search-results-container h2 {
  margin: 0;
  padding: 20px 10px 20px 0;
  display: inline-block;
  font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 0.8em;
  font-weight: normal;
  text-transform: uppercase; }

.page-search .search-results-container p.search-snippet {
  color: #888;
  font-size: 0.8em; }

.logo-heading, .templates h3 {
  font-size: 16px;
  font-weight: bold;
  font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  color: #666766;
  margin-bottom: 15px; }
  @media (min-width: 735px) {
    .logo-heading, .templates h3 {
      margin-bottom: 25px; } }

.page-node-487 .field-name-body h3 {
  margin-top: 25px; }
  @media (min-width: 560px) {
    .page-node-487 .field-name-body h3 {
      margin-top: 50px; } }

.page-node-487 .field-name-body p {
  line-height: 25px;
  margin-bottom: 40px; }

.page-node-487 .gray-area p {
  font-size: 15px;
  line-height: 25px;
  margin-bottom: 50px;
  color: #666766; }

.page-node-487 .gray-area h2 {
  font-size: 22px; }

.branding-page-block {
  font-size: 16px;
  line-height: 25px;
  color: #666766;
  margin-bottom: 25px; }
  @media (min-width: 560px) {
    .branding-page-block {
      margin-bottom: 50px; } }
  @media (min-width: 960px) {
    .branding-page-block {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 44.55627%; }
      .branding-page-block:last-child {
        margin-right: 0; } }
  .branding-page-block h2 {
    color: #000;
    font-size: 24px;
    margin-bottom: 25px; }

@media (min-width: 960px) {
  .twc-writing-guidelines-block {
    margin-left: 4.2649%; } }

.logo-row::after {
  clear: both;
  content: "";
  display: table; }

@media (min-width: 735px) {
  .logo-heading {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .logo-heading:last-child {
      margin-right: 0; } }

@media (min-width: 875px) {
  .logo-heading {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .logo-heading:last-child {
      margin-right: 0; } }

.logo-container {
  margin: 0 auto;
  width: 170px; }
  .logo-container::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 405px) {
    .logo-container {
      width: 365px; } }
  @media (min-width: 600px) {
    .logo-container {
      width: 560px; } }
  @media (min-width: 735px) {
    .logo-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      .logo-container:last-child {
        margin-right: 0; } }
  @media (min-width: 875px) {
    .logo-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%; }
      .logo-container:last-child {
        margin-right: 0; } }

.logo-column {
  margin-bottom: 25px; }
  @media (min-width: 405px) {
    .logo-column {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .logo-column:last-child {
        margin-right: 0; } }
  @media (min-width: 405px) and (max-width: 599px) {
    .logo-column:nth-child(2n) {
      margin-right: 0; }
    .logo-column:nth-child(2n+1) {
      clear: left; } }
  @media (min-width: 600px) {
    .logo-column {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .logo-column:last-child {
        margin-right: 0; } }
  @media (min-width: 600px) and (max-width: 734px) {
    .logo-column:nth-child(3n) {
      margin-right: 0; }
    .logo-column:nth-child(3n+1) {
      clear: left; } }
  @media (min-width: 735px) {
    .logo-column {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .logo-column:last-child {
        margin-right: 0; } }
  @media (min-width: 735px) and (max-width: 874px) {
    .logo-column:nth-child(2n) {
      margin-right: 0; }
    .logo-column:nth-child(2n+1) {
      clear: left; } }
  @media (min-width: 875px) {
    .logo-column {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .logo-column:last-child {
        margin-right: 0; } }

.logo-title {
  color: #666766;
  font-weight: 700;
  font-size: 16px;
  line-height: 25px; }

.logo-linkgroup {
  font-size: 14px;
  color: #666766;
  line-height: 20px; }

.templates li {
  font-size: 13px;
  color: #666766;
  margin-bottom: 25px;
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%; }
  .templates li:last-child {
    margin-right: 0; }
  @media (max-width: 514px) {
    .templates li:nth-child(2n) {
      margin-right: 0; }
    .templates li:nth-child(2n+1) {
      clear: left; } }
  @media (min-width: 515px) {
    .templates li {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .templates li:last-child {
        margin-right: 0; }
      .templates li:nth-child(4n) {
        margin-right: 0; }
      .templates li:nth-child(4n+1) {
        clear: left; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before,
  .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

#quick-links--header {
  font-size: 0.7em;
  text-transform: uppercase; }
  #quick-links--header::after {
    clear: both;
    content: "";
    display: table; }
  #quick-links--header ul {
    float: right;
    margin-top: 16px;
    -webkit-transition: margin-top 250ms ease;
    -moz-transition: margin-top 250ms ease;
    transition: margin-top 250ms ease; }
  #quick-links--header li {
    display: inline-block; }
    #quick-links--header li.quick-links-about a {
      background-image: url(../img/about-icon.png); }
      #quick-links--header li.quick-links-about a:before, #quick-links--header li.quick-links-about a:hover, #quick-links--header li.quick-links-about a.active, #quick-links--header li.quick-links-about a.active-trail {
        background-image: url(../img/about-icon--hover.png); }
    #quick-links--header li.quick-links-mail a {
      display: none; }
    #quick-links--header li.quick-links-staff-directory a {
      background-image: url(../img/staff-icon.png); }
      #quick-links--header li.quick-links-staff-directory a:before, #quick-links--header li.quick-links-staff-directory a:hover, #quick-links--header li.quick-links-staff-directory a.active, #quick-links--header li.quick-links-staff-directory a.active-trail {
        background-image: url(../img/staff-icon--hover.png); }
    #quick-links--header li.quick-links-maps a {
      background-image: url(../img/maps-icon.png); }
      #quick-links--header li.quick-links-maps a:before, #quick-links--header li.quick-links-maps a:hover, #quick-links--header li.quick-links-maps a.active, #quick-links--header li.quick-links-maps a.active-trail {
        background-image: url(../img/maps-icon--hover.png); }
    #quick-links--header li.quick-links-support-us a {
      background-image: url(../img/gift-icon.png); }
      #quick-links--header li.quick-links-support-us a:before, #quick-links--header li.quick-links-support-us a:hover, #quick-links--header li.quick-links-support-us a.active, #quick-links--header li.quick-links-support-us a.active-trail {
        background-image: url(../img/gift-icon--hover.png); }
  #quick-links--header a {
    color: #878787;
    margin-left: 15px;
    cursor: pointer; }
    #quick-links--header a.active span, #quick-links--header a.active-trail span {
      border-bottom: 2px solid #f36e21; }
    #quick-links--header a.active, #quick-links--header a.active-trail, #quick-links--header a:hover {
      color: #000; }

.quick-links ul {
  margin-left: 0; }

.quick-links li {
  list-style: none;
  padding: 0;
  margin: 0; }

.quick-links a {
  padding: 4px 0 4px 30px;
  background-position: left center;
  background-repeat: no-repeat;
  transition-property: color, background;
  display: block; }
  .quick-links a:before {
    display: none; }

.quick-links .contextual-links-wrapper {
  display: none !important; }

#quick-links--footer a {
  text-decoration: none; }

#quick-links--footer li.quick-links-about a {
  background-image: url(../img/about-icon--footer.png); }
  #quick-links--footer li.quick-links-about a:before, #quick-links--footer li.quick-links-about a:hover, #quick-links--footer li.quick-links-about a.active, #quick-links--footer li.quick-links-about a.active-trail {
    background-image: url(../img/about-icon--hover.png); }

#quick-links--footer li.quick-links-mail a {
  background-image: url(../img/email-icon--footer.png); }
  #quick-links--footer li.quick-links-mail a:before, #quick-links--footer li.quick-links-mail a:hover, #quick-links--footer li.quick-links-mail a.active, #quick-links--footer li.quick-links-mail a.active-trail {
    background-image: url(../img/email-icon--hover.png); }

#quick-links--footer li.quick-links-staff-directory a {
  background-image: url(../img/staff-icon--footer.png); }
  #quick-links--footer li.quick-links-staff-directory a:before, #quick-links--footer li.quick-links-staff-directory a:hover, #quick-links--footer li.quick-links-staff-directory a.active, #quick-links--footer li.quick-links-staff-directory a.active-trail {
    background-image: url(../img/staff-icon--hover.png); }

#quick-links--footer li.quick-links-maps a {
  background-image: url(../img/maps-icon--footer.png); }
  #quick-links--footer li.quick-links-maps a:before, #quick-links--footer li.quick-links-maps a:hover, #quick-links--footer li.quick-links-maps a.active, #quick-links--footer li.quick-links-maps a.active-trail {
    background-image: url(../img/maps-icon--hover.png); }

#quick-links--footer li.quick-links-support-us a {
  background-image: url(../img/gift-icon--footer.png); }
  #quick-links--footer li.quick-links-support-us a:before, #quick-links--footer li.quick-links-support-us a:hover, #quick-links--footer li.quick-links-support-us a.active, #quick-links--footer li.quick-links-support-us a.active-trail {
    background-image: url(../img/gift-icon--hover.png); }

@media (max-width: 511px) {
  #quick-links--footer {
    display: none; } }

#main-menu--header ul {
  padding-top: 0.9em;
  text-align: right;
  z-index: 1; }

#main-menu--header li {
  display: inline-block;
  position: relative;
  padding: 0;
  margin: 0;
  padding: 5px 0.8em 44px;
  -webkit-transition: padding 500ms ease;
  -moz-transition: padding 500ms ease;
  transition: padding 500ms ease; }
  @media (max-width: 1086px) {
    #main-menu--header li {
      padding-left: 0.7em;
      padding-right: 0.7em; } }
  @media (max-width: 1052px) {
    #main-menu--header li {
      padding-left: 0.6em;
      padding-right: 0.6em; } }
  @media (max-width: 1020px) {
    #main-menu--header li {
      font-size: .9em; } }
  @media (max-width: 999px) {
    #main-menu--header li {
      font-size: .8em; } }
  #main-menu--header li:last-of-type {
    padding-right: 0; }
  #main-menu--header li.has-dropdown > a {
    position: relative; }
    #main-menu--header li.has-dropdown > a:after {
      content: "\00BB";
      color: #999999;
      font-size: 16px;
      position: absolute;
      right: -13px; }
  @media (max-width: 1330px) {
    #main-menu--header li:nth-last-of-type(2) ul {
      left: -40%; } }
  @media (max-width: 1240px) {
    #main-menu--header li:nth-last-of-type(2) ul {
      left: -75%; } }
  @media (max-width: 1120px) {
    #main-menu--header li:nth-last-of-type(2) ul {
      left: -100%; } }
  @media (max-width: 1020px) {
    #main-menu--header li:nth-last-of-type(2) ul {
      left: -120%; } }
  #main-menu--header li a {
    font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 16px;
    color: #000;
    padding-bottom: 48px;
    -webkit-transition: padding 500ms ease;
    -moz-transition: padding 500ms ease;
    transition: padding 500ms ease; }
    #main-menu--header li a span {
      padding-top: 0.2em;
      padding-bottom: .35em;
      -webkit-transition: border-bottom-color 200ms ease;
      -moz-transition: border-bottom-color 200ms ease;
      transition: border-bottom-color 200ms ease;
      border-bottom: 2px solid transparent; }
  #main-menu--header li.active-trail a span, #main-menu--header li:hover a span {
    border-bottom-color: #f36e21; }
  #main-menu--header li ul {
    display: none;
    position: absolute;
    z-index: 9;
    top: 73px;
    background: #414141;
    width: 328px;
    padding-top: 0; }
    #main-menu--header li ul li {
      display: block;
      padding: 0;
      text-align: left; }
      #main-menu--header li ul li, #main-menu--header li ul li * {
        -webkit-transition: all 200ms ease;
        -moz-transition: all 200ms ease;
        transition: all 200ms ease; }
      #main-menu--header li ul li a {
        font-size: 14px;
        padding: 0 2.5em;
        position: relative;
        display: block;
        color: #fff; }
        #main-menu--header li ul li a:after {
          content: "";
          height: 0;
          width: 0;
          border-bottom: 12px solid #7a7a7a;
          border-left: 12px solid transparent;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: initial;
          margin: auto 2.5em; }
        #main-menu--header li ul li a span {
          display: block;
          padding-top: 0.8em;
          padding-bottom: 0.8em;
          border-top-width: 1px;
          border-top-style: solid;
          border-top-color: #7a7a7a;
          border-bottom-color: transparent !important; }
      #main-menu--header li ul li:hover {
        background: #151515;
        color: #151515; }
        #main-menu--header li ul li:hover + li a span, #main-menu--header li ul li:hover span {
          border-top-color: transparent; }
      #main-menu--header li ul li.active a {
        color: #fff; }
        #main-menu--header li ul li.active a:after {
          border-bottom-color: #f36e21;
          border-right-color: #f36e21; }
      #main-menu--header li ul li:first-of-type a span {
        border-top: 0; }
  #main-menu--header li:hover ul {
    display: block; }

#main-menu--footer ul {
  max-width: 300px; }

#main-menu--footer li {
  position: relative;
  border-bottom: 1px solid #313131;
  padding: 0;
  margin: 0; }
  #main-menu--footer li:after {
    content: "";
    height: 0;
    width: 0;
    border-bottom: 15px solid transparent;
    border-left: 15px solid transparent;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: initial;
    margin: auto 0;
    -webkit-transition: border-color 200ms ease;
    -moz-transition: border-color 200ms ease;
    transition: border-color 200ms ease; }
  #main-menu--footer li:hover:after {
    height: 0;
    width: 0;
    border-bottom: 15px solid #f36e21;
    border-left: 15px solid transparent; }
  #main-menu--footer li.active-trail a {
    color: #f36e21; }
  #main-menu--footer li.active-trail:after {
    height: 0;
    width: 0;
    border-bottom: 15px solid #f36e21;
    border-left: 15px solid transparent; }
  #main-menu--footer li a {
    color: #ccc;
    font-size: 14px;
    text-transform: uppercase;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    text-decoration: none;
    line-height: 50px;
    display: block;
    -webkit-transition: color 200ms ease;
    -moz-transition: color 200ms ease;
    transition: color 200ms ease; }
    #main-menu--footer li a:hover {
      color: #f36e21; }

#title-bar {
  background: #eaeaea; }
  @media screen and (min-width: 599px) {
    #title-bar {
      height: 118px; } }
  #title-bar .title-bar--left {
    font-size: 0.8em;
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    text-transform: uppercase;
    padding-top: 25px; }
    @media (max-width: 599px) {
      #title-bar .title-bar--left {
        padding-bottom: 10px; } }
    @media screen and (min-width: 599px) {
      #title-bar .title-bar--left {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 65.88078%;
        padding-top: 45px; }
        #title-bar .title-bar--left:last-child {
          margin-right: 0; } }
    #title-bar .title-bar--left, #title-bar .title-bar--left a {
      color: #666766; }
    #title-bar .title-bar--left .breadcrumb {
      display: inline-block;
      letter-spacing: -.5px; }
    #title-bar .title-bar--left h1#page-title {
      text-transform: none;
      font-family: "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      color: #000;
      display: inline-block;
      font-size: 1.4em; }
  #title-bar .title-bar--right {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    display: none; }
    #title-bar .title-bar--right:last-child {
      margin-right: 0; }
    @media screen and (min-width: 599px) {
      #title-bar .title-bar--right {
        display: block; } }
    #title-bar .title-bar--right img {
      max-width: 118px;
      max-height: 117px;
      display: block;
      float: right; }

.page-node-407 #title-bar .title-bar--right img, .page-node-483 #title-bar .title-bar--right img {
  max-width: 207px;
  padding-top: 22px; }

#banner {
  margin-bottom: 2.5em; }
  #banner .container {
    text-align: center; }
    @media (max-width: 1200px) {
      #banner .container {
        padding-left: 0;
        padding-right: 0; } }
  #banner .banner {
    width: 100%;
    max-height: 450px;
    position: relative; }
    @media (max-height: 768px) {
      #banner .banner, #banner .banner .slick-slide {
        max-height: 320px; } }
    #banner .banner .slides li {
      z-index: 1; }
    #banner .banner.banner--slideshow {
      overflow: hidden; }
  #banner .banner--single img {
    display: inline; }
  @media (max-height: 800px) {
    #banner {
      max-height: 400px;
      overflow: hidden; } }
  @media (max-height: 650px) {
    #banner {
      max-height: 200px;
      overflow: hidden; } }

.featured-story-carousel {
  max-height: 595px;
  min-height: 204px;
  overflow-y: hidden;
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.8em; }
  .featured-story-carousel::after {
    clear: both;
    content: "";
    display: table; }
  .featured-story-carousel .slide {
    position: absolute; }
    .featured-story-carousel .slide.slick-slide {
      position: relative; }
  .featured-story-carousel .headline {
    position: absolute;
    left: 50%;
    top: 20%;
    color: #fff;
    font-size: 3em;
    line-height: 1;
    padding-right: .5em;
    text-shadow: 1px 2px rgba(0, 0, 0, 0.4); }
    @media (max-width: 1160px) {
      .featured-story-carousel .headline div {
        display: inline; } }
    @media (max-width: 960px) {
      .featured-story-carousel .headline div {
        display: block; } }
    @media (max-width: 1635px) {
      .featured-story-carousel .headline {
        font-size: 2.5em; } }
    @media (max-width: 750px) {
      .featured-story-carousel .headline {
        font-size: 2em; } }
    @media (max-width: 479px) {
      .featured-story-carousel .headline {
        font-size: 1.8em;
        left: 45%;
        top: 10%; } }
  .featured-story-carousel .blurb {
    position: absolute;
    left: 50%;
    top: 44%;
    color: #fff;
    font-size: 1.3em;
    line-height: 1.5;
    width: 23em;
    text-shadow: 1px 2px rgba(0, 0, 0, 0.4); }
    @media (max-width: 960px) {
      .featured-story-carousel .blurb {
        display: none; } }
    @media (max-width: 1023px) {
      .featured-story-carousel .blurb {
        top: 48%; } }
  .featured-story-carousel .read-more {
    position: absolute;
    left: 50%;
    top: 67%;
    font-size: 1.15em; }
    .featured-story-carousel .read-more a {
      text-transform: uppercase;
      font-size: .9em;
      text-shadow: 0 0 9px rgba(0, 0, 0, 0.3); }
    @media (min-width: 961px) {
      .featured-story-carousel .read-more {
        top: 85%; } }
    @media (min-width: 1024px) {
      .featured-story-carousel .read-more {
        top: 77%; } }
    @media (min-width: 1250px) {
      .featured-story-carousel .read-more {
        top: 72%; } }
    @media (max-width: 880px) {
      .featured-story-carousel .read-more {
        top: initial;
        bottom: 13%; } }
    @media (max-width: 479px) {
      .featured-story-carousel .read-more {
        left: 45%; } }
  @media (max-width: 685px) {
    .featured-story-carousel .slide {
      min-height: 204px;
      position: relative;
      background-position: center;
      background-size: cover; }
    .featured-story-carousel .photo {
      opacity: 0 !important; } }

#tri-links {
  background: #eaeaea;
  padding-top: 25px;
  padding-bottom: 25px; }
  @media (min-width: 768px) {
    #tri-links {
      padding-top: 50px;
      padding-bottom: 50px; } }

.view-quick-links .views-row {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 31.76157%; }
  .view-quick-links .views-row:last-child {
    margin-right: 0; }

@media (min-width: 650px) {
  .view-quick-links .icon {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .view-quick-links .icon:last-child {
      margin-right: 0; } }

.view-quick-links .views-field-field-icon {
  width: 70px;
  height: 70px;
  background: #808384;
  position: relative;
  border-radius: 100%;
  margin: 0 auto;
  -webkit-transition: background 200ms ease;
  -moz-transition: background 200ms ease;
  transition: background 200ms ease; }
  @media (min-width: 650px) {
    .view-quick-links .views-field-field-icon {
      float: right;
      margin-left: 0;
      margin-right: 15px; } }

.view-quick-links .views-field-title {
  color: #808384;
  font-size: 16px;
  text-align: center;
  margin-top: 15px; }
  @media (min-width: 650px) {
    .view-quick-links .views-field-title {
      margin: 0;
      font-size: 20px;
      color: #000;
      text-align: left; }
      .view-quick-links .views-field-title span {
        padding-top: 20px;
        display: block; } }

.view-quick-links a:hover .views-field-field-icon {
  background: #f36e21; }

.slick-dots {
  position: absolute;
  bottom: 0;
  top: initial;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center; }
  .slick-dots li {
    display: inline-block;
    margin: 0 4px;
    padding: 0; }
    .slick-dots li button {
      display: block;
      width: 15px;
      height: 15px;
      text-indent: -9999px;
      overflow: hidden;
      position: relative;
      background: transparent;
      padding: 0;
      margin: 0;
      border-radius: 0; }
      .slick-dots li button:focus {
        outline: none; }
      .slick-dots li button:before {
        content: "";
        height: 0;
        width: 0;
        border-bottom: 15px solid #fff;
        border-left: 15px solid transparent;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
    .slick-dots li.slick-active button:before {
      height: 0;
      width: 0;
      border-bottom: 15px solid #f36e21;
      border-left: 15px solid transparent; }

.slick-slide {
  outline: none; }

.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  margin: auto;
  width: 22px;
  height: 45px;
  fill: #c0c0c0;
  cursor: pointer; }
  .slick-arrow.slick-prev {
    left: 0;
    right: initial; }
  .slick-arrow.slick-next {
    left: initial;
    right: 0;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg); }

.services--slider {
  max-height: 750px;
  overflow: hidden; }
  @media (max-width: 849px) {
    .services--slider {
      max-height: 1050px; } }

.more-stories {
  position: relative;
  min-height: 350px; }
  .more-stories h3 {
    text-transform: uppercase; }
  .more-stories .slick-dots {
    top: 0;
    bottom: initial;
    left: 115px;
    text-align: left; }
    .more-stories .slick-dots li button:before {
      height: 0;
      width: 0;
      border-bottom: 15px solid #666766;
      border-left: 15px solid transparent; }
    .more-stories .slick-dots li.slick-active button:before {
      height: 0;
      width: 0;
      border-bottom: 15px solid #f36e21;
      border-left: 15px solid transparent; }

.more-stories-slider {
  max-height: 320px;
  overflow: hidden; }
  .more-stories-slider .views-row {
    margin-top: 50px; }
    .more-stories-slider .views-row::after {
      clear: both;
      content: "";
      display: table; }
  .more-stories-slider .sidebar--right {
    padding-left: 14px; }
  .more-stories-slider .title {
    line-height: 23px; }
    .more-stories-slider .title a {
      color: #000;
      font-size: 20px; }
      .more-stories-slider .title a:before {
        background: transparent; }
  .more-stories-slider .blurb {
    line-height: 17px;
    font-size: 13px;
    color: #666766; }

.contact-card {
  margin-bottom: 1.25em;
  color: #666766;
  font-size: 0.7em;
  line-height: 25px; }
  .contact-card::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 32em) {
    .contact-card {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .contact-card:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 51.2em) {
    .contact-card {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%;
      margin-right: 0; }
      .contact-card:last-child {
        margin-right: 0; } }
  .contact-card.contact-card--heading {
    margin-right: 3%; }
  .contact-card .contact-card--left {
    width: 118px;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .contact-card .contact-card--left:last-child {
      margin-right: 0; }
  .contact-card .contact-card--right {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .contact-card .contact-card--right:last-child {
      margin-right: 0; }
  .contact-card .photo {
    border-radius: 100%;
    display: block;
    width: 100px; }
  .contact-card .name {
    font-size: 20px;
    color: #000; }
  .contact-card a {
    color: #666766;
    cursor: pointer; }

#services-page--subservices {
  background: #f2f2f2;
  padding-top: 3.75em;
  padding-bottom: 3.75em; }
  #services-page--subservices h2 {
    font-family: "Montserrat", "Myriad Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 1.7em;
    text-align: center;
    line-height: 25px;
    margin-bottom: 25px; }

@media screen and (min-width: 600px) and (max-width: 849px) {
  .service-pod {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .service-pod:last-child {
      margin-right: 0; }
    .service-pod:nth-child(2n) {
      margin-right: 0; }
    .service-pod:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 850px) {
  .service-pod {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    min-height: 375px; }
    .service-pod:last-child {
      margin-right: 0; }
    .service-pod:nth-child(3n) {
      margin-right: 0; }
    .service-pod:nth-child(3n+1) {
      clear: left; } }

.service-pod .icon {
  width: 250px;
  height: 250px;
  border-radius: 100%;
  background: #fff;
  text-align: center;
  margin: 2.5em auto 1.25em;
  position: relative; }
  .service-pod .icon .icon--subservice {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 200px;
    height: 200px;
    opacity: 1;
    -webkit-transition: opacity 500ms ease-in-out;
    -moz-transition: opacity 500ms ease-in-out;
    transition: opacity 500ms ease-in-out; }
  .service-pod .icon .icon--subservice--rollover {
    opacity: 0; }

.service-pod:hover .icon--subservice {
  opacity: 0; }

.service-pod:hover .icon--subservice--rollover {
  opacity: 1; }

.service-pod .name {
  color: #666766;
  text-align: center; }

.staff-pod {
  text-align: center;
  font-size: 0.7em;
  line-height: 25px;
  color: #666766;
  padding-bottom: 2.5em;
  padding-top: 1.25em; }
  @media screen and (min-width: 479px) and (max-width: 766px) {
    .staff-pod {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .staff-pod:nth-child(2n) {
        margin-right: 0; }
      .staff-pod:nth-child(2n+1) {
        clear: left; }
      .staff-pod:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 767px) and (max-width: 919px) {
    .staff-pod {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .staff-pod:nth-child(3n) {
        margin-right: 0; }
      .staff-pod:nth-child(3n+1) {
        clear: left; }
      .staff-pod:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 920px) {
    .staff-pod {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .staff-pod:nth-child(4n) {
        margin-right: 0; }
      .staff-pod:nth-child(4n+1) {
        clear: left; }
      .staff-pod:last-child {
        margin-right: 0; } }
  .staff-pod .photo {
    max-width: 188px;
    position: relative;
    cursor: pointer;
    margin: 0 auto; }
    .staff-pod .photo a {
      overflow: hidden;
      border-radius: 100%;
      display: block; }
      .staff-pod .photo a:before {
        content: "";
        background-color: rgba(243, 110, 33, 0.8);
        background-image: url(../img/email-icon--large.png);
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        -webkit-transition: opacity 250ms ease-in-out;
        -moz-transition: opacity 250ms ease-in-out;
        transition: opacity 250ms ease-in-out;
        border-radius: 100%;
        visibility: visible;
        -webkit-transform: scaleX(1);
        -moz-transform: scaleX(1);
        -ms-transform: scaleX(1);
        -o-transform: scaleX(1);
        transform: scaleX(1); }
      .staff-pod .photo a:hover:before {
        opacity: 1; }
    .staff-pod .photo img {
      display: block; }
  .staff-pod .name {
    margin-top: 1.25em;
    font-size: 20px;
    color: #000; }
  .staff-pod .bio-text-hidden {
    display: none; }

#staff-directory {
  padding-top: 2.5em;
  padding-bottom: 2.5em; }

.staff-search {
  max-width: 225px;
  float: right;
  position: relative;
  margin-top: 39px; }
  .staff-search input {
    border-color: #999;
    font-size: 16px;
    width: 225px;
    margin-bottom: 0;
    padding-right: 35px; }
  .staff-search svg {
    fill: #999;
    stroke: #999;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    left: initial;
    margin: auto 0; }

#shown-staff .no-results {
  text-align: center;
  padding-top: 50px; }

.staff-pod {
  position: relative; }
  .staff-pod.bio-out:before, .staff-pod.bio-out:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    margin: 0 auto; }
  .staff-pod.bio-out:before {
    height: 0;
    width: 0;
    border-bottom: 16px solid #ccc;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent; }
  .staff-pod.bio-out:after {
    height: 0;
    width: 0;
    border-bottom: 15px solid #fff;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent; }

.bio-pod {
  clear: both;
  padding: 3.75em;
  border: 1px solid #ccc; }

.picture-link {
  line-height: 25px;
  font-size: 16px; }
  .picture-link::after {
    clear: both;
    content: "";
    display: table; }
  .picture-link img {
    vertical-align: middle;
    margin-top: -5px;
    margin-right: 10px; }
  .picture-link a {
    color: #666766; }
    .picture-link a:before {
      visibility: hidden !important; }

.fill-orange {
  fill: #f36e21; }

.fill-gray {
  fill: #818385; }

.fill-black {
  fill: #010101; }

.fill-yellow {
  fill: #ECE34A; }

.fill-green {
  fill: #89C541; }

.fill-paper {
  fill: #F4E9BA; }

.fill-skin {
  fill: #FBB88A; }

.fill-white {
  fill: #FFFFFF; }

#letter-selector {
  padding-top: 25px;
  text-align: center;
  line-height: 25px; }
  #letter-selector a.letter {
    color: #666766;
    margin-right: 1px;
    font-family: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
    font-size: 17px;
    padding-left: 2px;
    padding-right: 2px; }
    #letter-selector a.letter:before {
      visibility: hidden; }
    #letter-selector a.letter.all {
      margin-right: 6px; }
    #letter-selector a.letter.active {
      border-bottom: 2px solid #f36e21; }
    @media (max-width: 500px) {
      #letter-selector a.letter:nth-of-type(14)::after {
        clear: both;
        content: "";
        display: table; } }
    @media (max-width: 500px) {
      #letter-selector a.letter.all {
        display: block;
        width: 40px;
        margin: 0 auto;
        margin-bottom: 5px; } }

.backtotop {
  padding: 7px;
  width: 44px;
  height: 44px;
  display: block;
  position: fixed;
  z-index: 103;
  bottom: -50px;
  right: 20px;
  transition: all 0.3s ease 0s;
  cursor: pointer;
  background-color: rgba(241, 111, 0, 0.6);
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAoklEQVQ4T7WT0Q3CMAwFzxPAJjBCNwEmYIWyAWzQUboCm8AEDxklSAS7Qoqa79z5xXoxOo918qwrkDQCMrNLljRNIGkCDgWczOwUSUJBA1culPwIGvhe6F2W5EsQwEMBZyCUfAQRbGYPF0jaAqHkLViC6wIyiUm6Audy0d881Mnt1gPJzQUecwMswkmSpwv2gBfmmE1OknhPxnWr/M9H607wAmdEULiH7yPiAAAAAElFTkSuQmCC");
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 50%; }

.backtotop.shown {
  bottom: 14px; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5vcm1hbGl6ZS1zY3NzL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190cmlhbmdsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiX21peGlucy5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImJhc2UvX2xpc3RzLnNjc3MiLCJiYXNlL190YWJsZXMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsImRydXBhbC9fYWRtaW5fbWVudS5zY3NzIiwiZHJ1cGFsL19kcnVwYWxpc21zLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL25vZGUtYm91cmJvbi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3BhZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvbm9kZS1ib3VyYm9uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwic2VjdGlvbnMvX2lkYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwic2VjdGlvbnMvX21vYmlsZV9tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ub2RlLWJvdXJib24vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJzZWN0aW9ucy9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1uZWF0L25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wcml2YXRlLnNjc3MiLCJzZWN0aW9ucy9fc2lkZWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc2hpZnQuc2NzcyIsInNlY3Rpb25zL19mb290ZXIuc2NzcyIsInNlY3Rpb25zL2hvbWVwYWdlL19zZXJ2aWNlcy5zY3NzIiwic2VjdGlvbnMvaG9tZXBhZ2UvX2V2ZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtbmVhdC9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsInNlY3Rpb25zL2hvbWVwYWdlL19uZXdzLWhpZ2hsaWdodHMuc2NzcyIsInBhZ2VzL19zZXJ2ZXItZXJyb3ItcGFnZXMuc2NzcyIsInBhZ2VzL19iYXNpYy1wYWdlcy5zY3NzIiwicGFnZXMvX3NlcnZpY2UtcGFnZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub2RlLW5lYXQvbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwicGFnZXMvX2ZlYXR1cmVkX3N0b3JpZXMuc2NzcyIsInBhZ2VzL19zdXBwb3J0LXVzLnNjc3MiLCJwYWdlcy9fbWFwcy5zY3NzIiwicGFnZXMvX3NlYXJjaF9yZXN1bHRzLnNjc3MiLCJwYWdlcy9fYnJhbmQuc2NzcyIsImNvbXBvbmVudHMvX3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL19tZW51LS1xdWljay1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLW1lbnUtLWRhcmstZHJvcGRvd24tLWRyb3Bkb3duLWFycm93cy5zY3NzIiwiY29tcG9uZW50cy9fbWVudS0tZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtc3RvcnktY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX3RyaS1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVycy5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19zdWJzZXJ2aWNlcy5zY3NzIiwiY29tcG9uZW50cy9fc3RhZmYtcG9kcy5zY3NzIiwiY29tcG9uZW50cy9fcGljdHVyZS1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2xldHRlci1zZWxlY3Rvci5zY3NzIiwiY29tcG9uZW50cy9fYmFjay10by10b3Auc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNEVBQTRFO0FBRTVFOzs7O0dBSUc7QUFFSCxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVztFQUFFLE9BQU87RUFDakMsb0JBQW9CLEVBQUUsSUFBSztFQUFFLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFIcEM7O0FBTU47O0dBRUc7QUFFSCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBRSxHQUROOztBQUlOO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQWNILE9BQU87QUFDUCxLQUFLO0FBQ0wsT0FBTztBQUNQLFVBQVU7QUFDVixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sSUFBSTtBQUNKLElBQUk7QUFDSixHQUFHO0FBQ0gsT0FBTztBQUNQLE9BQU8sQ0FaQztFQUNOLE9BQU8sRUFBRSxLQUFNLEdBRFI7O0FBSVQ7OztHQUdHO0FBS0gsS0FBSztBQUNMLE1BQU07QUFD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LENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsTUFBTTtFQUNwWixNQUFNLENBQUEsUUFBQyxDQUFELFFBQUMsQ0FBa0IsTUFBTTtFQUMvQixRQUFRLE1BQU0sQ0FGSjtJQUNOLFlBQVksRUFBRSxPQUFNLEdBRGI7RUFJUixLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsTUFBTTtFQUNw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Q0FBRyxPQUFPLENBQXhDO1FBQ1AsS0FBSyxFQUFFLElBQUs7UUFDWixPQUFPLEVBQUUsRUFBRztRQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7SVpPVixNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7TW1ER2QsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBeEI7UUFFRixPQUFPLEVBQUUsS0FBTTtRQUNmLEtBQUssRUFBRSxJQUFLO1FBQ1osTUFBTSxFQUFFLE1BQU87UUFDZixhQUFhLEVBQUUsR0FBSSxHQUxoQjs7QUM3QlgsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEdBQUk7RUFDYixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsS0FBTTtFQUNoQixPQUFPLEVBQUUsR0FBSTtFQUNiLE1BQU0sRUFBRSxLQUFNO0VBQ2QsS0FBSyxFQUFFLElBQUs7RUFDWixVQUFVLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtFQUM1QixNQUFNLEVBQUUsT0FBUTtFQUNoQixnQkFBZ0IsRUFBTyxzQkFBTztFQUM5QixnQkFBZ0IsRUFBRSxpVUFBRztFQUNyQixtQkFBbUIsRUFBRSxhQUFjO0VBQ25DLGlCQUFpQixFQUFFLFNBQVU7RUFDN0IsYUFBYSxFQUFFLEdBQUksR0FmVDs7QUFrQkYsVUFBVSxNQUFNLENBQVQ7RUFDZixNQUFNLEVBQUUsSUFBSyxHQURHIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiI3skYWxsLWJ1dHRvbi1pbnB1dHN9LFxuYnV0dG9uIHtcbiAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMDBtcyBlYXNlKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGFjdGlvbi1jb2xvciwgMTUlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbmEuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRyaXQtb3JhbmdlO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43ZW0gMC4yNWVtIDJlbTtcbiAgY29sb3I6ICRyaXQtb3JhbmdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIwMG1zIGVhc2UpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUoLjkzNzVlbSwgJHJpdC1vcmFuZ2UsIGRvd24tcmlnaHQpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBpbml0aWFsIGluaXRpYWwgMC43ZW0gMC40NWVtKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciAyMDBtcyBlYXNlKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRyaXQtb3JhbmdlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob2ZmKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKC45Mzc1ZW0sICR3aGl0ZSwgZG93bi1yaWdodCk7XG4gICAgfVxuICB9XG59XG5cbmEuYnV0dG9uLmJ1dHRvbi0tbm8tYXJyb3cge1xuICBwYWRkaW5nOiA3cHggMTNweCA1cHggMTNweDtcbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhvbWVwYWdlLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuNWVtIDEuM2VtIDAuNGVtIDIuNWVtO1xuICAmOmJlZm9yZSB7XG4gICAgYm90dG9tOiAwLjhlbTtcbiAgICBsZWZ0OiAwLjg1ZW07XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogXCJNeXJpYWQgUHJvXCIsICRoZWx2ZXRpY2E7XG4kaGVhZGluZy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4kbW9udHNlcnJhdDogXCJNb250c2VycmF0XCIsICRiYXNlLWZvbnQtZmFtaWx5O1xuXG4vLyBGb250IFNpemVzXG4kZW0tYmFzZTogMjBweDtcbiRiYXNlLWZvbnQtc2l6ZTogMS4yNWVtO1xuXG4vLyBMaW5lIGhlaWdodFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuMjU7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4yO1xuXG4vLyBPdGhlciBTaXplc1xuJGJhc2UtYm9yZGVyLXJhZGl1czogM3B4O1xuJGJhc2Utc3BhY2luZzogJGJhc2UtbGluZS1oZWlnaHQgKiAxZW07XG4kc21hbGwtc3BhY2luZzogJGJhc2Utc3BhY2luZyAvIDI7XG4kYmFzZS16LWluZGV4OiAwO1xuXG4vLyBDb2xvcnNcbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRibHVlOiAjNDc3ZGNhO1xuJGRhcmstZ3JheTogIzI4MjgyODtcbiRtZWRpdW0tZ3JheTogIzY2Njc2NjtcbiRsaWdodC1ncmF5OiAjY2NjO1xuJHNtb2tlOiAjZWFlYWVhO1xuJG9mZi13aGl0ZTogI2YyZjJmMjtcbiRyaXQtb3JhbmdlOiAjZjM2ZTIxO1xuXG4vLyBGb250IENvbG9yc1xuJGJhc2UtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiRiYXNlLWZvbnQtY29sb3I6ICRkYXJrLWdyYXk7XG4kYWN0aW9uLWNvbG9yOiAkcml0LW9yYW5nZTtcblxuLy8gQm9yZGVyXG4kYmFzZS1ib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuJGJhc2UtYm9yZGVyOiAxcHggc29saWQgJGJhc2UtYm9yZGVyLWNvbG9yO1xuXG4vLyBGb3Jtc1xuJGZvcm0tYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoIzAwMCwgMC4wNik7XG4kZm9ybS1ib3gtc2hhZG93LWZvY3VzOiAkZm9ybS1ib3gtc2hhZG93LCAwIDAgNXB4IGFkanVzdC1jb2xvcigkYWN0aW9uLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUsICRhbHBoYTogLTAuMyk7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cblxuQG1peGluIG1xKCRzaXplKSB7XG4gIEBtZWRpYSAjeyRzaXplfSB7IEBjb250ZW50IH1cbn1cblxuQG1peGluIGJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogI3skbWlufSkgYW5kIChtYXgtd2lkdGg6ICN7JG1heH0pIHsgQGNvbnRlbnQgfVxufVxuXG5AbWl4aW4gbWluKCRzaXplKSB7XG4gIEBpbmNsdWRlIG1xKChtaW4td2lkdGg6ICN7JHNpemV9KSkgeyBAY29udGVudCB9XG59XG5cbkBtaXhpbiBtYXgoJHNpemUpIHtcbiAgQGluY2x1ZGUgbXEoKG1heC13aWR0aDogI3skc2l6ZX0pKSB7IEBjb250ZW50IH1cbn1cblxuQG1peGluIGdyaWQtcm93KCkge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbiAgQGluY2x1ZGUgcGFkKDAgJGd1dHRlci8yKTtcbn1cblxuQG1peGluIGNvbGxhcHNlLXJpZ2h0KCkge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5AbWl4aW4gY29sbGFwc2UtbGVmdCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AbWl4aW4gY29sbGFwc2UoKSB7XG4gIEBpbmNsdWRlIGNvbGxhcHNlLWxlZnQoKTtcbiAgQGluY2x1ZGUgY29sbGFwc2UtcmlnaHQoKTtcbn1cblxuQG1peGluIHplcm8oKSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1peGluIHBscigkcGFkKSB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiBwdGIoJHBhZCkge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5cbkBtaXhpbiBtbHIoJHBhZCkge1xuICBtYXJnaW4tbGVmdDogJHBhZDtcbiAgbWFyZ2luLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIG10YigkcGFkKSB7XG4gIG1hcmdpbi1sZWZ0OiAkcGFkO1xuICBtYXJnaW4tcmlnaHQ6ICRwYWQ7XG59XG5cbkBtaXhpbiBidXR0b24oJHJlc3QtY29sb3IsICRob3Zlci1jb2xvcjogJHJlc3QtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlc3QtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogLjc1ZW0gMWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2UpO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItY29sb3I7XG4gIH1cbn0iLCJmaWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJhc2UtYm9yZGVyLWNvbG9yLCAxMCUpO1xuICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJHNtYWxsLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG59XG5cbmlucHV0LFxubGFiZWwsXG5zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbn1cblxubGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAvIDI7XG5cbiAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICB9XG5cbiAgYWJiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jeyRhbGwtdGV4dC1pbnB1dHN9LFxuc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRiYXNlLWJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3c7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcgLyAyO1xuICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIC8gMztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYmFzZS1ib3JkZXItY29sb3IsIDEwJSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tYm94LXNoYWRvdy1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLXJpZ2h0OiAkc21hbGwtc3BhY2luZyAvIDI7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgcGFkZGluZy1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICB3aWR0aDogMTAwJTtcbn1cblxuc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbiIsInVsLFxub2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmJWRlZmF1bHQtdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gICYlZGVmYXVsdC1vbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJGJhc2Utc3BhY2luZztcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5tYWluIHVsIHtcbiAgQGV4dGVuZCAlZGVmYXVsdC11bDtcbn0iLCJ0YWJsZSB7XG4gIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImtlcm5cIiwgXCJsaWdhXCIsIFwidG51bVwiKTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAkc21hbGwtc3BhY2luZyAwO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cblxudGJvZHkge1xuICBib3JkZXItdG9wOiAwOyAvLyBmdWNraW5nIGhlbGwsIERydXBhbC4uLi4uLlxufVxuXG50aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGJhc2UtYm9yZGVyLWNvbG9yLCAxNSUpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50ZCB7XG4gIGJvcmRlci1ib3R0b206ICRiYXNlLWJvcmRlcjtcbiAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgMWVtO1xufVxuXG50cixcbnRkLFxudGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYWxsLXNlcnZpY2VzLXRhYmxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgY29sb3I6ICM4Mzg0ODU7XG5cbiAgdGQge1xuICAgIHBhZGRpbmc6IDE1cHggMWVtIDhweDtcbiAgfVxufVxuIiwiYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImtlcm5cIiwgXCJsaWdhXCIsIFwicG51bVwiKTtcbiAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuICBjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgJHNtYWxsLXNwYWNpbmc7XG59XG5cbmEge1xuICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIG1haW4gJiwgc3Bhbi51bmRlcmxpbmUtb24taG92ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXQtb3JhbmdlO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgwKSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyBlYXNlLWluLW91dCAwcyk7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDEpKTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICZbaHJlZl49XCJ0ZWxcIl0ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIjYWRtaW4tbWVudSB7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9mZik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICBib2R5LmFkbWluLW1lbnUuYWRtaW5pbWFsLW1lbnU6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn0iLCIvLyBEcnVwYWwgT3ZlcnJpZGVzXG51bC50YWJzLnByaW1hcnkge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2JiYjtcbiAgdGV4dC1hbGlnbjpyaWdodDtcbiAgbWFyZ2luOiAwO1xuICBsaS5hY3RpdmUgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIH1cbiAgbGkgYSB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lIHNvbGlkIHNvbGlkIHNvbGlkO1xuICB9XG59XG5cbi5lZGl0LW5vZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk7XG4gIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSXhObkI0SWlCb1pXbG5hSFE5SWpFMmNIZ2lJSFpwWlhkQ2IzZzlJakUyTnk0Mk16Z2dNVFl1T1RnMElERTJJREUySWlCbGJtRmliR1V0WW1GamEyZHliM1Z1WkQwaWJtVjNJREUyTnk0Mk16Z2dNVFl1T1RnMElERTJJREUySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNDhjR0YwYUNCbWFXeHNQU0lqUmpNMlJqQXhJaUJrUFNKTk1UZ3hMamt5Tml3eU55NDVNek5zTFRNdU1qVXpMRE11TWpjeGJDMDRMakl6T1MwNExqSTNPV3d6TGpJMU5TMHpMakkzTVV3eE9ERXVPVEkyTERJM0xqa3pNM29nVFRFMk55NDVOalVzTWpBdU5EUTFiREV1TmpJeUxERXVOak5zTXk0eU5UVXRNeTR5TnpGc0xURXVNemt0TVM0ek9UZGpMVEF1TlRZekxUQXVOVFkwTFRFdU5EYzBMVEF1TlRZMExUSXVNRE0xTERCc0xURXVORFV4TERFdU5EVTVRekUyTnk0MU15d3hPUzR6TURJc01UWTNMalV6TERJd0xqQXdOeXd4TmpjdU9UWTFMREl3TGpRME5Yb2dUVEU0TWk0NE1EY3NNamd1T0RFNWJDMHpMakkxTXl3ekxqSTNNV3d6TGpZeU55d3dMamc0TkdNd0xqSTJOeXd3TGpBMk5Td3dMalV3Tnkwd0xqRTNOU3d3TGpRME9DMHdMalEwTTB3eE9ESXVPREEzTERJNExqZ3hPWG9pTHo0OEwzTjJaejQ9Jyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLnJvdy1jb250YWluZXI6aG92ZXIgLmVkaXQtbm9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9ybS1pdGVtLCAuZm9ybS1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaW1nIHtcbi8vICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxudWwgbGkubGVhZiB7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmZpZWxkLWNvbGxlY3Rpb24tY29udGFpbmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAuYWN0aW9uLWxpbmtzLWZpZWxkLWNvbGxlY3Rpb24tYWRkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5maWVsZC1jb2xsZWN0aW9uLXZpZXcge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59IiwiaHRtbCB7XG4gIGJhY2tncm91bmQ6ICMyODI4Mjg7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbn1cblxuLy8gRm9udC1jb2xvciBzdHlsZXNcbi5jb2xvci0tb3JhbmdlIHtcbiAgY29sb3I6ICRyaXQtb3JhbmdlO1xufVxuXG4uY29sb3ItLXdoaXRlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmNvbG9yLS1ibGFjayB7XG4gIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5jb2xvci0tZGFyay1ncmF5IHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG59XG5cbi5jb2xvci0tbWVkaXVtLWdyYXkge1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xufVxuXG4uY29sb3ItLWxpZ2h0LWdyYXkge1xuICBjb2xvcjogJGxpZ2h0LWdyYXk7XG59XG5cbiNwcmVsb2FkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLy5iYWNrdG90b3Age1xuLy8gIHBhZGRpbmc6IDdweDtcbi8vICB3aWR0aDogNDRweDtcbi8vICBoZWlnaHQ6IDQ0cHg7XG4vLyAgZGlzcGxheTogYmxvY2s7XG4vLyAgcG9zaXRpb246IGZpeGVkO1xuLy8gIHotaW5kZXg6IDEwMztcbi8vICByaWdodDogLTUwcHg7XG4vLyAgYm90dG9tOiAyMCU7XG4vLyAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwcztcbi8vICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgYmFja2dyb3VuZC1jb2xvcjogI0YxNkYwMDtcbi8vICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmFjay10by10b3AucG5nXCIpO1xuLy8gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4vLyAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbi8vICBib3JkZXItcmFkaXVzOiA1MCU7XG4vL31cbi8vXG4vLy5iYWNrdG90b3Auc2hvd24ge1xuLy8gIHJpZ2h0OiAxNHB4O1xuLy99IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBZGRzIHBhZGRpbmcgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwYWRkaW5nIFtmbGV4LWd1dHRlcigpXVxuLy8vICAgQSBsaXN0IG9mIHBhZGRpbmcgdmFsdWUocykgdG8gdXNlLiBQYXNzaW5nIGBkZWZhdWx0YCBpbiB0aGUgbGlzdCB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGFkZGluZyB2YWx1ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAtMjBweCAxMHB4IGRlZmF1bHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiAzMHB4IC0yMHB4IDEwcHggMi4zNTc2NSU7XG4vLy8gICB9XG5cbkBtaXhpbiBwYWQoJHBhZGRpbmc6IGZsZXgtZ3V0dGVyKCkpIHtcbiAgJHBhZGRpbmctbGlzdDogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRwYWRkaW5nIHtcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSA9PSAnZGVmYXVsdCcsIGZsZXgtZ3V0dGVyKCksICR2YWx1ZSk7XG4gICAgJHBhZGRpbmctbGlzdDogam9pbigkcGFkZGluZy1saXN0LCAkdmFsdWUpO1xuICB9XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PSBWYXJpYWJsZXMgPT09ICovXG5cbiRpZGJhci1mb3JlZ3JvdW5kLWNvbG9yOiAjZmZmO1xuJGlkYmFyLWJhY2tncm91bmQtY29sb3I6ICNmMzZlMjE7XG5cbiRpZGJhci1yaXQtbG9nby1jb2xvcjogJGlkYmFyLWZvcmVncm91bmQtY29sb3I7XG4kaWRiYXItbWVudS1idXR0b24taWNvbi1jb2xvcjogJGlkYmFyLWZvcmVncm91bmQtY29sb3I7XG4kaWRiYXItc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG9yOiAkaWRiYXItZm9yZWdyb3VuZC1jb2xvcjtcbiRpZGJhci1zZWFyY2gtaWNvbi1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4kbW9iaWxlLWJyZWFrOiA5NzlweDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT0gUklUIExvZ28gU3R5bGVzID09PSAqL1xuXG4jaWRlbnRpdHktYmFyIHtcbiAgYmFja2dyb3VuZDogJGlkYmFyLWJhY2tncm91bmQtY29sb3I7XG4gIGhlaWdodDo1MnB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIG1heCgkbW9iaWxlLWJyZWFrKSB7XG4gICAgei1pbmRleDogMTAwMDtcbiAgfVxuXG4gIC8vIEZpeGVkIFBvc2l0aW9uaW5nIGZpeGVzXG4gIEBpbmNsdWRlIG1pbigoJG1vYmlsZS1icmVhayArIDEpKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIGJvZHkuYWRtaW5pbWFsLW1lbnUgJiB7XG4gICAgdG9wOiA0NXB4O1xuICAgIEBpbmNsdWRlIG1pbigoJG1vYmlsZS1icmVhayArIDEpKSB7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgI01vYmlsZUNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogXCJtb2JpbGVcIjtcblxuICAgIEBpbmNsdWRlIG1pbigoJG1vYmlsZS1icmVhayArIDEpKSB7XG4gICAgICBjb250ZW50OiBcImRlc2t0b3BcIjtcbiAgICB9XG4gIH1cblxuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiBub25lO1xuICB9XG5cbiAgLmNlbnRlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gIH1cbiAgLnJpdC1sb2dvIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjM3MHB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUxcHg7XG4gICAgICBmaWxsOiAkaWRiYXItcml0LWxvZ28tY29sb3I7XG4gICAgICBzdHJva2U6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KCRtb2JpbGUtYnJlYWspIHtcbiAgICAgIHdpZHRoOjkzcHg7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICBtYXJnaW46YXV0bztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDowO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAjcml0LWxvZ28tcml0IHtcbiAgICB3aWR0aDogOTNweDtcbiAgfVxuICAjcml0LWxvZ28tdGV4dCB7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6I3skbW9iaWxlLWJyZWFrfSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PSBTZWFyY2ggU3R5bGVzID09PSAqL1xuICAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgbWFyZ2luOiAxMXB4IDAgMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIHBhZGRpbmc6IDdweCAyNXB4IDNweCAxMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udDogMTFweC8xNnB4ICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzY3Njg2NztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2lkYmFyLXNlYXJjaC1jbG9zZS1idXR0b24ge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogLTUlO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICBpbnB1dCB7XG4gICAgICAvLyAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgIH1cblxuICAgIC8vICAgIHN2ZyB7XG4gICAgLy8gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgICB0b3A6IDVweDtcbiAgICAvLyAgICAgIHJpZ2h0OiA4cHg7XG4gICAgLy8gICAgICBmaWxsOiAkaWRiYXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAvLyAgICAgIHN0cm9rZTogJGlkYmFyLWJhY2tncm91bmQtY29sb3I7XG4gICAgLy8gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT0gTW9iaWxlIFNlYXJjaCBTdHlsZXMgPT09ICovXG4gICNpZGJhci1zZWFyY2gtYnV0dG9uIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogMTFweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB6LWluZGV4OjIwO1xuICAgIGJhY2tncm91bmQtc2l6ZTozMHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOmFsbCAyMDBtcyBlYXNlLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjphbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjphbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjphbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmaWxsOiAkaWRiYXItc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG9yO1xuICAgICAgc3Ryb2tlOiAkaWRiYXItc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG9yO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICNpZGJhci1tZW51LWJ1dHRvbntcbiAgICB3aWR0aDozMXB4O1xuICAgIGhlaWdodDoyOXB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MTJweDtcbiAgICB0b3A6MTRweDtcbiAgICB6LWluZGV4OjIwO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBjdXJzb3I6cG9pbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBmaWxsOiAkaWRiYXItbWVudS1idXR0b24taWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyAgI2VkaXQtYWN0aW9ucyB7XG4gIC8vICAgIGlucHV0IHtcbiAgLy8gICAgICBkaXNwbGF5OiBub25lO1xuICAvLyAgICB9XG4gIC8vICAgIHN2ZyB7XG4gIC8vICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAvLyAgICAgIHRvcDogMDtcbiAgLy8gICAgICBib3R0b206IDA7XG4gIC8vICAgICAgcmlnaHQ6IDUlO1xuICAvLyAgICAgIG1hcmdpbjogYXV0bztcbiAgLy8gICAgICBmaWxsOiAkaWRiYXItc2VhcmNoLWljb24tY29sb3I7XG4gIC8vICAgICAgc3Ryb2tlOiAkaWRiYXItc2VhcmNoLWljb24tY29sb3I7XG4gIC8vICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAvL1xuICAvLyAgICB9XG4gIC8vICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6I3skbW9iaWxlLWJyZWFrfSkge1xuICAjaWRlbnRpdHktYmFyIHtcbiAgICAjaWRiYXItc2VhcmNoLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9ja1xuICAgIH1cbiAgICAjaWRiYXItbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2tcbiAgICB9XG4gICAgLmNlbnRlciB7XG4gICAgICBwYWRkaW5nOiAwXG4gICAgfVxuXG4gICAgLnJpdC1sb2dvIGEge1xuICAgICAgZGlzcGxheTogYmxvY2tcbiAgICB9XG4gICAgLnJpdC1sb2dvIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuXG4gICAgfVxuXG4gICAgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0XG4gICAgfVxuICAgIC5zZWFyY2gtZm9ybSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMFxuICAgIH1cbiAgICAuZm9ybS1pdGVtIGlucHV0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICBmb250LXNpemU6IDE4cHhcbiAgICB9XG4gICAgLmZvcm0tYWN0aW9ucyBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxuICB9XG59XG5cbiNpZGJhci1zZWFyY2gtY2xvc2UtYnV0dG9uIHtcbiAgI2ljb24taWRiYXItY2xvc2UtYnV0dG9uLWNpcmNsZSB7XG4gICAgZmlsbDogI2RlZGVkZTtcbiAgfVxuICAjaWNvbi1pZGJhci1jbG9zZS1idXR0b24teCB7XG4gICAgZmlsbDogIzZiNmI2YjtcbiAgICBzdHJva2U6ICM2YjZiNmI7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWF4KCRtb2JpbGUtYnJlYWspIHtcbiAgI2lkZW50aXR5LWJhciB7XG4gICAgJHJpdGJhci1zaXRlLWxvZ28tdHJhbnNpdGlvbi10aW1lOiAzNTBtcztcblxuICAgIC5yaXQtbG9nbyB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uICh0b3AgJHJpdGJhci1zaXRlLWxvZ28tdHJhbnNpdGlvbi10aW1lIGVhc2UpO1xuICAgIH1cblxuICAgIC5zaXRlLWxvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjkwcHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDk0cHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAkcml0YmFyLXNpdGUtbG9nby10cmFuc2l0aW9uLXRpbWUgZWFzZSk7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5LnJpdGJhci1zaXRlLWxvZ28gJiB7XG4gICAgICAuc2l0ZS1sb2dvIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB9XG4gICAgICAucml0LWxvZ28ge1xuICAgICAgICB0b3A6IC01MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtaW4oJG1vYmlsZS1icmVhayArIDEpIHtcbiAgI2lkZW50aXR5LWJhciAuc2l0ZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIiNtb2JpbGUtbWVudSB7XG4gIHdpZHRoOiAyNzVweDtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNEKC0yNzVweCwgMCwgMCkpO1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTJweCBpbml0aWFsIGluaXRpYWwgMCk7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDUycHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgYm9keS5hZG1pbmltYWwtZnJvbnRlbmQgJiB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk5cHgpO1xuICAgIHRvcDogOTdweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSB6ZXJvO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgemVybztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgJiA+IGEge1xuLy8gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4vLyAgICAgICAgYmFja2dyb3VuZDogJHJpdC1vcmFuZ2U7XG4gICAgICB9XG4gICAgICAmLmhhcy1kcm9wZG93biA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcbi8vICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LW5hbWUtbWFpbi1tZW51IGxpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMTlweCAxMHB4IDE2LjVweCAxMHB4O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNtb2tlO1xuICB9XG4gIGxpLmxhc3QgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICBsaS5oYXMtZHJvcGRvd24gPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LWZhbWlseTogJGhlbHZldGljYTtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjAwbXMgZWFzZSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgbGkuaGFzLWRyb3Bkb3duID4gYS5vcGVuOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcbiAgfVxuXG4gIC5tZW51LW5hbWUtbWVudS1xdWljay1saW5rcyB7XG4gICAgbGk6bnRoLW9mLXR5cGUoMikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuXG4gIHVsIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZDogI2QyZDJkMjtcbiAgICAgIEBpbmNsdWRlIHBscigyMHB4KTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgcGFkZGluZy10b3A6IDE5cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE3cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkcml0LW9yYW5nZTtcblxuLy8gICAgICAgICY6YWZ0ZXIge1xuLy8gICAgICAgICAgY29udGVudDogXCJcIjtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsICR3aGl0ZSwgcmlnaHQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMTBweCAwIGluaXRpYWwpO1xuLy8gICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4vLyAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5IHtcbiAgJjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogOTk5O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkpO1xuICB9XG5cbiAgJi5tb2JpbGUtb3V0IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAjbW9iaWxlLW1lbnUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAsMCwwKSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlM2QoMCwwLDApKTtcbiAgICB9XG4gIH1cbn1cblxuYm9keTphZnRlciwgI21vYmlsZS1tZW51IHtcbiAgQGluY2x1ZGUgbWluKCgkbW9iaWxlLWJyZWFrICsgMSkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDI1MG1zIGVhc2UtaW4tb3V0KTtcbn0iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiI2hlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgQGluY2x1ZGUgbWluKCRtb2JpbGUtYnJlYWsgKyAxKSB7XG4gICAgaGVpZ2h0OiAxMzJweDtcbiAgfVxuXG4gIC5maXhlZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgbWF4KCRtb2JpbGUtYnJlYWspIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbGVmdCB7XG4gICAgcGFkZGluZy10b3A6IDMxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIxcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDUwMG1zIGVhc2UpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS11cCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoOTc5cHgpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXgoJG1vYmlsZS1icmVhaykge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgICN0d2MtbG9nby0taGVhZGVyIHtcbiAgICAgIGhlaWdodDogNzJweDtcbiAgICAgIGZpbGw6ICRyaXQtb3JhbmdlO1xuICAgICAgQGluY2x1ZGUgbWF4KCRtb2JpbGUtYnJlYWspIHtcbiAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXVwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWF4KCRtb2JpbGUtYnJlYWspIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1pbigoJG1vYmlsZS1icmVhayArIDEpKSB7XG4gIGJvZHkuZml4ZWQtaGVhZGVyIHtcbiAgICAjaWRlbnRpdHktYmFyIHtcbi8vICAgICAgbWFyZ2luLWJvdHRvbTogMTMycHg7XG4gICAgfVxuXG4gICAgI2hlYWRlciAuZml4ZWQge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCBpbml0aWFsIDApO1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIH1cblxuICAgICYuYWRtaW5pbWFsLW1lbnUgI2hlYWRlciAuZml4ZWQge1xuICAgICAgdG9wOiAyOXB4O1xuICAgIH1cbiAgfVxuXG4gIGJvZHkuc2hydW5rLWhlYWRlciB7XG4gICAgI2hlYWRlciB7XG4gICAgICAuaGVhZGVyLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIH1cblxuICAgICAgI3F1aWNrLWxpbmtzLS1oZWFkZXIgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgfVxuXG4gICAgICAjbWFpbi1tZW51LS1oZWFkZXIge1xuICAgICAgICAubWVudS1uYW1lLW1haW4tbWVudSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMXB4O1xuXG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI2cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgdG9wOiA1MXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyAgIGAkY29sdW1uc2AgYWxzbyBhY2NlcHRzIGRlY2ltYWxzIGZvciB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGJyZWFrIG91dCBvZiB0aGUgc3RhbmRhcmQgZ3JpZC4gRS5nLiBQYXNzaW5nIGAyLjRgIGluIGEgc3RhbmRhcmQgMTIgY29sdW1uIGdyaWQgd2lsbCBkaXZpZGUgdGhlIHJvdyBpbnRvIDUgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydCBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCIuY29udGVudC0tc2lkZWJhciB7XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBzaGlmdCgwLjk1KTtcblxuICAgICYuYm9yZGVyLWxlZnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQuNSk7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgwLjQ1KTtcbiAgICAgIEBpbmNsdWRlIHBhZCgwIDAgMCA0JSk7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhci0tbGVmdCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG4gIC5zaWRlYmFyLS1yaWdodCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBmb250LXNtb290aGluZyhvZmYpO1xuICB9XG5cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMuIFBvc2l0aXZlIGFyZ3VtZW50cyBzaGlmdCB0aGUgZWxlbWVudCB0byB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24sIHdoaWxlIG5lZ2F0aXZlIG9uZXMgc2hpZnQgaXQgdG8gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyBieSB3aGljaCB0aGUgZWxlbWVudCBzaGlmdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTI1LjU4OTQxJTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0KCRuLWNvbHVtbnM6IDEpIHtcbiAgQGluY2x1ZGUgc2hpZnQtaW4tY29udGV4dCgkbi1jb2x1bW5zKTtcbn1cblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucywgaW4gYSBzcGVjaWZpYyBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGlmdFxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IChgJGNvbHVtbnNgKSBhbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBwYXJlbnQgZWxlbWVudCAoYCRjb250YWluZXItY29sdW1uc2ApLlxuLy8vXG4vLy8gICBUaGUgdHdvIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zIG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTUyLjQxNDU4JTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0LWluLWNvbnRleHQoJHNoaWZ0OiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMpIHtcbiAgJG4tY29sdW1uczogbnRoKCRzaGlmdCwgMSk7XG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJG4tY29sdW1ucyAqIGZsZXgtZ3JpZCgxLCAkcGFyZW50LWNvbHVtbnMpICsgJG4tY29sdW1ucyAqIGZsZXgtZ3V0dGVyKCRwYXJlbnQtY29sdW1ucyk7XG5cbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xufVxuIiwiI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyODI4Mjg7XG4gIEBpbmNsdWRlIHBhZCgkYmFzZS1zcGFjaW5nKjIgMCk7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgQGluY2x1ZGUgbWF4KDUxMXB4KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHB0YigkYmFzZS1zcGFjaW5nKTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZm9vdGVyLWxlZnQsIC5mb290ZXItcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tdXApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXVwKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci1sZWZ0IHtcbiAgICBzdmcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogNzJweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudHdjLWxvZ28ge1xuICAgICAgQGluY2x1ZGUgbWF4KDUxMXB4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2MtbG9nby0tZm9vdGVyIHtcbiAgICAgIGZpbGw6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgIC5yaXQtbG9nbyB7XG4gICAgICBAaW5jbHVkZSBtYXgoNTExcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3JpdC1sb2dvLS1mb290ZXIge1xuICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcqMjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDUxMXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIHplcm8oKTtcbiAgICAgICAgd2lkdGg6IDkzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcC5jb3B5cmlnaHQge1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1MTFweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9vdGVyLW1pZGRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2UtdXApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICB9XG4gIH1cblxuICAuZm9vdGVyLXJpZ2h0IHtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBoNCB7XG4gICAgICBmb250LWZhbWlseTogJG1vbnRzZXJyYXQ7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWluZm8tLWZvb3RlciB7XG4vLyAgICBAaW5jbHVkZSBwdGIoMjVweCk7XG4gIH1cbn0iLCIjc2VydmljZXMge1xuICBiYWNrZ3JvdW5kOiAkb2ZmLXdoaXRlO1xuICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZyozO1xuICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyozO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWF4KDY1MHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGgzIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogJGhlbHZldGljYTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2Utc3BhY2luZztcbiAgICBtYXJnaW46IDA7XG4gIH1cbn0iLCIjZXZlbnRzIHtcbiAgcGFkZGluZzogMjVweCAwO1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2UtdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNC43NSk7XG4gICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMjVweDtcbiAgfVxuXG4gIGE6YmVmb3JlIHtcbiAgICAvLyBObyBpZGVhIHdoeSB0aGlzIGlzIG92ZXJyaWRkZW4gc29tZXdoZXJlLi4uXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIGEuYWxsLWV2ZW50cyB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBAZXh0ZW5kIC5ob21lcGFnZS1idXR0b247XG4gIH1cbn1cblxuLmV2ZW50IHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICAuZGF0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiAjOTc5Nzk3O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IC8vIHRvIGtlZXAgZnJvbSBnb2luZyBvdmVyIHRoZSBkZXRhaWxzIGJ1dHRvblxuICB9XG5cbiAgLmxvY2F0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgLy8gdG8ga2VlcCBmcm9tIGdvaW5nIG92ZXIgdGhlIGRldGFpbHMgYnV0dG9uXG4gIH1cblxuICAubG9jYXRpb24sIC50aW1lIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgfVxuXG4gIC5yZWFkLW1vcmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcml0LW9yYW5nZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogJG1vbnRzZXJyYXQ7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxNHB4LCAkcml0LW9yYW5nZSwgZG93bi1yaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAycHgpO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgW2Jsb2NrXVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiI25ld3MtaGlnaGxpZ2h0cyB7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3LjI1KTtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cblxuICBhOmJlZm9yZSB7XG4gICAgLy8gTm8gaWRlYSB3aHkgdGhpcyBpcyBvdmVycmlkZGVuIHNvbWV3aGVyZS4uLlxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoMSkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICBhLnJlYWQtbW9yZSB7XG4gICAgQGV4dGVuZCAuaG9tZXBhZ2UtYnV0dG9uO1xuICB9XG5cbiAgLnZpZXctaWQtbmV3c19oaWdobGlnaHRzIHtcbiAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG5cbiAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAudmlld3MtZmllbGQtYm9keSB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnZpZXdzLWZpZWxkLWZpZWxkLXVybCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5zbGlkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IGluaXRpYWw7XG4gICAgdG9wOiAtMzVweDtcblxuICAgIGxpIHtcbiAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSgkc21va2UsIDE1cHgsIGRvd24tcmlnaHQpO1xuICAgICAgfVxuICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKCRyaXQtb3JhbmdlLCAxNXB4LCBkb3duLXJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2VydmVyLWVycm9yLXBhZ2Uge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAxNTBweDtcbiAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgcGFkZGluZy10b3A6IDEyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbn0iLCIubm9kZS1wYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IGVtKDUwKTtcbiAgZm9udC1zaXplOiBlbSgxNi41KTtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi5hYm91dC1wb2Qge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAucG9kLWxlZnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgfVxuXG4gIC5wb2QtcmlnaHQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICAgIEBpbmNsdWRlIG1heCg2NTBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIC5wb2QtcmlnaHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmdyYXktYXJlYSB7XG4gIGJhY2tncm91bmQ6ICRzbW9rZTtcbiAgcGFkZGluZy10b3A6IGVtKDUwKTtcbiAgcGFkZGluZy1ib3R0b206IGVtKDc1KTtcblxuICAuY29udGFjdC1jYXJkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLmNvbnRlbnQtLXNpZGViYXIge1xuICAgIC5ibG9jayB7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYm9yZGVyLWxlZnQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDFkMWQyO1xuICAgIH1cbiAgfVxufSIsIi5ub2RlLXNlcnZpY2UtbGFuZGluZy1wYWdlIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBhZGRpbmctdG9wOiBlbSgyNSk7XG4gIHBhZGRpbmctYm90dG9tOiBlbSg3NSk7XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtcGFnZS1oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gIH1cblxuICAvLyBMaW5rcyBTZWN0aW9uXG4gIC5maWVsZC1uYW1lLWZpZWxkLWhlYWRpbmctdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1saW5rIHtcbiAgICAuZmllbGQtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXVwKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMjVweCAyMXB4IDI1cHggMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZDogJHNtb2tlO1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjUwbXMgZWFzZSk7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgIH1cblxuXG4gICAgICAvLyBDYW5jZWwgb3V0IHRoZSB0ZXh0IGRlY29yYXRpb24gdW5kZXJsaW5lIHRoaW5nXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9kZCBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtd2hpdGU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS11cCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc21va2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50LS1sZWZ0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXVwKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuMDUpO1xuICB9XG59XG5cblxuLy8gTGlua3MgU2VjdGlvblxuLmZpZWxkLW5hbWUtZmllbGQtaGVhZGluZy10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zZXJ2aWNlLXBhZ2UtLWNvbnRhY3RzLCAuc2VydmljZS1wYWdlLS1ob3VycywgLnNlcnZpY2UtcGFnZS0td2Vic2l0ZSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBoMywgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgfVxufVxuXG4uc2VydmljZS1wYWdlLS1jb250YWN0cyB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG59XG5cbi5zZXJ2aWNlLXBhZ2UtLWhvdXJzLCAuc2VydmljZS1wYWdlLS13ZWJzaXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xufVxuXG4vLyBBbGwgU2VydmljZXNcblxuYm9keS5wYWdlLXNlcnZpY2VzICNibG9jay1zeXN0ZW0tbWFpbiB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG59XG4iLCIvLyBOb3QgZnVuY3Rpb24gZm9yIExpYnNhc3MgY29tcGF0aWJpbGl0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9pc3N1ZXMvMzY4XG5AZnVuY3Rpb24gaXMtbm90KCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSwgZmFsc2UsIHRydWUpO1xufVxuXG4vLyBDaGVja3MgaWYgYSBudW1iZXIgaXMgZXZlblxuQGZ1bmN0aW9uIGlzLWV2ZW4oJGludCkge1xuICBAcmV0dXJuICRpbnQgJSAyID09IDA7XG59XG5cbi8vIENoZWNrcyBpZiBhbiBlbGVtZW50IGJlbG9uZ3MgdG8gYSBsaXN0IG9yIG5vdFxuQGZ1bmN0aW9uIGJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSk7XG59XG5cbkBmdW5jdGlvbiBub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KGluZGV4KCRsaXN0LCAkdGVzdGVkLWl0ZW0pKTtcbn1cblxuLy8gQ29udGFpbnMgZGlzcGxheSB2YWx1ZVxuQGZ1bmN0aW9uIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XG4gIEByZXR1cm4gYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZS1ibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLCAkcXVlcnkpO1xufVxuXG4vLyBQYXJzZXMgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIHNwYW4tY29sdW1ucygpXG5AZnVuY3Rpb24gY29udGFpbmVyLXNwYW4oJHNwYW46ICRzcGFuKSB7XG4gIEBpZiBsZW5ndGgoJHNwYW4pID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNwYW4pID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zaGlmdCgkc2hpZnQ6ICRzaGlmdCkge1xuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQgIWdsb2JhbDtcblxuICBAaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbi8vIEdlbmVyYXRlcyBhIHN0cmlwZWQgYmFja2dyb3VuZFxuQGZ1bmN0aW9uIGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMsICRjb2xvcjogJHZpc3VhbC1ncmlkLWNvbG9yKSB7XG4gICR0cmFuc3BhcmVudDogdHJhbnNwYXJlbnQ7XG5cbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xuICAkZ3V0dGVyLXdpZHRoOiBmbGV4LWd1dHRlcigkZ3JpZC1jb2x1bW5zKTtcbiAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4td2lkdGg7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCAkY29sb3IgMCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcbiAgICBAaWYgaXMtZXZlbigkaSkge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGNvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWVzO1xufVxuXG4vLyBMYXlvdXQgZGlyZWN0aW9uXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbigkbGF5b3V0LCAkZGVmYXVsdCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIgb3IgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIlJUTFwiIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCk7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkZGVmYXVsdCk7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIge1xuICAgICRkaXJlY3Rpb246IHJpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBsZWZ0O1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuICB9XG5cbiAgQHJldHVybiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xufVxuIiwiLm5vZGUtZmVhdHVyZWQtc3Rvcnkge1xuICBAaW5jbHVkZSBtaW4oODIwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxuXG4gIC5zdW1tYXJ5LXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtaW4oODIwcHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlZC1zdG9yeS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgfVxuXG4gIC5jb250ZW50LS1sZWZ0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4uZmVhdHVyZWQtc3RvcnktdmlkZW8ge1xuICB3aWR0aDogNjc1cHg7XG4gIG1heC1oZWlnaHQ6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA3NHB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcGxheS5wbmcpO1xuICB9XG5cbiAgJi5uby1wbGF5LWJ1dHRvbjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1heCg4OTlweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn0iLCIkc3VwcG9ydC11cy1tb2JpbGUtYnJlYWs6IDg1MHB4O1xuXG5cbiNzdXBwb3J0LXVzLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICoge1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAkc21va2U7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5cbiNzdXBwb3J0LXVzIHtcbiAgYmFja2dyb3VuZDogJHNtb2tlO1xuICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXgoJHN1cHBvcnQtdXMtbW9iaWxlLWJyZWFrIC0gMSkge1xuICAgICAgQGluY2x1ZGUgcGxyKDApO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LWZhbWlseTogJG1vbnRzZXJyYXQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC50YWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjVweCAyNXB4IDUwcHggMjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbWF4KCRzdXBwb3J0LXVzLW1vYmlsZS1icmVhayAtIDEpIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgQGluY2x1ZGUgbWxyKDI1cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaW4oJHN1cHBvcnQtdXMtbW9iaWxlLWJyZWFrKSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtaW4taGVpZ2h0OiA0MjVweDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJpdC1vcmFuZ2U7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgwKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDE1MG1zIGVhc2UtaW4tb3V0IDBzKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnRhYi1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYWZhZmIwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMTUwbXMgZWFzZSk7XG4gICAgICBAaW5jbHVkZSBtYXgoJHN1cHBvcnQtdXMtbW9iaWxlLWJyZWFrIC0gMSkge1xuICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIG1heCgkc3VwcG9ydC11cy1tb2JpbGUtYnJlYWsgLSAxKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBAaW5jbHVkZSBtYXgoJHN1cHBvcnQtdXMtbW9iaWxlLWJyZWFrIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLnZlcmIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIGltZywgJi50YWItYWN0aXZlIGltZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcml0LW9yYW5nZTtcbiAgICB9XG5cbiAgICAudmVyYiwgLm5vdW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAudmVyYiB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIH1cblxuICAgIC5ub3VuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLndoYXQge1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWx2ZXRpY2E7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICB9XG5cbiAgLmFjY29yZGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgQGluY2x1ZGUgbWluKCRzdXBwb3J0LXVzLW1vYmlsZS1icmVhaykge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIEBpbmNsdWRlIHBscig1MHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNvbHVtbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgfVxuICB9XG59XG5cbiNzdXBwb3J0LXVzLXRhYi1jb250ZW50IHtcbiAgQGluY2x1ZGUgbWF4KCRzdXBwb3J0LXVzLW1vYmlsZS1icmVhayAtIDEpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBhZ2UtdGFiLmRlZmF1bHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5jb2x1bW4tbGVmdCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgIEBpbmNsdWRlIGNvbGxhcHNlLWxlZnQoKTtcbiAgfVxuXG4gIC5jb2x1bW4tcmlnaHQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgfVxuXG4gIC5wYWdlLXRhYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgLmxpbmUtYnJlYWsge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24uZGVmYXVsdCB7XG4gIEBpbmNsdWRlIG1pbigkc3VwcG9ydC11cy1tb2JpbGUtYnJlYWspIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgcGFkZGluZzogNTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNzdXBwb3J0LXVzLCAjc3VwcG9ydC11cy10YWItY29udGVudCB7XG4gIC5udW1iZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRyaXQtb3JhbmdlO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LWZhbWlseTogJG1vbnRzZXJyYXQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA5cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIH1cblxuICAubnVtYmVyLTEwMCB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICB9XG59IiwiJG1hcC1ncmF5OiAjYjRiMmIxO1xuJG1hcC1icmVhazogNjk5cHg7XG5cbiNtYXBzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBhIHtcbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbiNtYXAtbGVmdCB7XG4gIEBpbmNsdWRlIHB0YigyNXB4KTtcblxuICBAaW5jbHVkZSBtYXgoJG1hcC1icmVhaykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWluKCRtYXAtYnJlYWsrMSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ubWFwLWZsb29yLWNvbnRhaW5lciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc21va2U7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIEBpbmNsdWRlIG1heCgkbWFwLWJyZWFrKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYXAtZmxvb3ItaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIEBpbmNsdWRlIHB0Yig2LjI1cHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgJHNtb2tlLCBkb3duLXJpZ2h0KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBpbml0aWFsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UpO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIC5tYXAtZmxvb3ItaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHJpdC1vcmFuZ2U7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsICRyaXQtb3JhbmdlLCBkb3duLXJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYuYWN0aXZlIHtcbiAgICAubWFwLWZsb29yLWNvbnRhaW5lciB7XG4gICAgICBjb2xvcjogJHJpdC1vcmFuZ2U7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsICRyaXQtb3JhbmdlLCBkb3duLXJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IC40ZW07XG4gIH1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgICAgY29sb3I6ICRyaXQtb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbWFwLXJpZ2h0IHtcbiAgQGluY2x1ZGUgbWluKCRtYXAtYnJlYWsgKyAxKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICB9XG5cbiAgI21hcC1mbG9vci1saW5rcyB7XG4gICAgQGluY2x1ZGUgbWF4KCRtYXAtYnJlYWspIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIkZsb29yOiBcIjtcblxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtaW4oJG1hcC1icmVhayArIDEpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItc3BhY2luZzogMXB4O1xuXG4gICAgLmhlYWRpbmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWFwLWxpbmsge1xuICAgICAgQGluY2x1ZGUgbWF4KCRtYXAtYnJlYWspIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWluKCRtYXAtYnJlYWsgKyAxKSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMi81LCB0YWJsZSk7XG4gICAgICAgIEBpbmNsdWRlIG1scigxcHgpO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSBhIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSBhIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkbWFwLWdyYXk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtYXAtZ3JheTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgZWFzZSk7XG5cbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyaXQtb3JhbmdlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyaXQtb3JhbmdlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmxvb3Ige1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWFwLWJyZWFrICsgMSkgYW5kIChtYXgtd2lkdGg6IDgyNXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXgoJG1hcC1icmVhaykge1xuICAgICAgICAgIHBhZGRpbmc6IC40ZW0gMWVtO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAudGgge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZsb29yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWFwLWxpbmstYWN0aXZlIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcml0LW9yYW5nZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcml0LW9yYW5nZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI21hcC1tYXJrZXIsICNtYXAtbWFya2VyLWRldGFpbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDE0MHB4O1xuICB3aWR0aDogNDNweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNjb250ZW50LCAjbWFwLW1hcmtlci1kZXRhaWwge1xuICAvKnotaW5kZXg6IDk1MDE7Ki9cbn1cbiNtYXAtbWFya2VyLWRldGFpbCB7XG4gIHdpZHRoOiAzNTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgJiA+IGRpdiB7XG4gICAgbWFyZ2luOiAyMHB4O1xuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmRldGFpbCwgLmRldGFpbCB1bCwgLmRldGFpbCBwIHtcbiAgICBjb2xvcjogI2JiYjtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxuICAuZGV0YWlsIHVsIHtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG4gIC5kZXRhaWwgYSB7XG4gICAgY29sb3I6ICNGMzZFMjE7XG4gIH1cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogN3B4O1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjdweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAuaWNvbi1jbG9zZS1idXR0b24teCB7XG4gICAgICBmaWxsOiAjZmFmYWZhO1xuICAgIH1cbiAgICAuaWNvbi1jbG9zZS1idXR0b24tY2lyY2xlIHtcbiAgICAgIGZpbGw6ICM4ODg7XG4gICAgfVxuICB9XG59XG4jbWFwLW1hcmtlciA+IGltZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDoxNXB4O1xufVxuI21hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1hcC1saW5rLCAubWFwLWxpbmstYWN0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbiNsZWdlbmQge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWFwLWxvY2F0aW9uLXNlYXJjaCB7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBwYWRkaW5nOiA0cHggMjBweCA0cHggNnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmZsb29yTWFwVGh1bWJzID4gYSB7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4jdHdjbWFwcy1oZWFkZXIgPiBhIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59IiwiLnBhZ2Utc2VhcmNoIHtcbiAgbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cblxuICAjc2VhcmNoLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICRzbW9rZTtcbiAgICBwYWRkaW5nOiAzNXB4IDI1cHg7XG4gICAgQGluY2x1ZGUgbWluKCRtb2JpbGUtYnJlYWspIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJGhlbHZldGljYTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjNjc2ODY3O1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuM2VtO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAkcml0LW9yYW5nZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjM2ZTIxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA1MDBtcyBlYXNlKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyaXQtb3JhbmdlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYWR2YW5jZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtaW4oJG1vYmlsZS1icmVhaykge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHggMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzJkMmQyZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCAjYmViZWJlIHNvbGlkO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAyMHB4IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJG1vbnRzZXJyYXQ7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcC5zZWFyY2gtc25pcHBldCB7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICB9XG5cbn0iLCIlYnJhbmRpbmctYXJlYS1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6ICRoZWx2ZXRpY2E7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgQGluY2x1ZGUgbWluKDczNXB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG4ucGFnZS1ub2RlLTQ4NyB7XG4gIC5maWVsZC1uYW1lLWJvZHkge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBAaW5jbHVkZSBtaW4oNTYwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgLmdyYXktYXJlYSBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG5cbiAgLmdyYXktYXJlYSBoMiB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5cbi5icmFuZGluZy1wYWdlLWJsb2NrIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICBAaW5jbHVkZSBtaW4oNTYwcHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1pbig5NjBweCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1LjUpO1xuICB9XG5cbiAgaDIge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cblxuLnR3Yy13cml0aW5nLWd1aWRlbGluZXMtYmxvY2sge1xuICBAaW5jbHVkZSBtaW4oOTYwcHgpIHtcbiAgICBAaW5jbHVkZSBzaGlmdCguNSk7XG4gIH1cbn1cblxuLmxvZ28tcm93IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5sb2dvLWhlYWRpbmcge1xuICBAZXh0ZW5kICVicmFuZGluZy1hcmVhLWhlYWRpbmc7XG5cbiAgQGluY2x1ZGUgbWluKDczNXB4KSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG4gIEBpbmNsdWRlIG1pbig4NzVweCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgfVxufVxuXG4ubG9nby1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHdpZHRoOiAxNzBweDtcblxuICBAaW5jbHVkZSBtaW4oNDA1cHgpIHtcbiAgICB3aWR0aDogMzY1cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWluKDYwMHB4KSB7XG4gICAgd2lkdGg6IDU2MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1pbig3MzVweCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgfVxuICBAaW5jbHVkZSBtaW4oODc1cHgpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG4gIH1cbn1cblxuLmxvZ28tY29sdW1uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICBAaW5jbHVkZSBtaW4oNDA1cHgpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gIH1cbiAgQGluY2x1ZGUgYmV0d2Vlbig0MDVweCwgNTk5cHgpIHtcbiAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gIH1cbiAgQGluY2x1ZGUgbWluKDYwMHB4KSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG4gIEBpbmNsdWRlIGJldHdlZW4oNjAwcHgsIDczNHB4KSB7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICB9XG4gIEBpbmNsdWRlIG1pbig3MzVweCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuICBAaW5jbHVkZSBiZXR3ZWVuKDczNXB4LCA4NzRweCkge1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgfVxuICBAaW5jbHVkZSBtaW4oODc1cHgpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIH1cbn1cblxuLmxvZ28tdGl0bGUge1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG4ubG9nby1saW5rZ3JvdXAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4udGVtcGxhdGVzIHtcbiAgaDMge1xuICAgIEBleHRlbmQgJWJyYW5kaW5nLWFyZWEtaGVhZGluZztcbiAgfVxuXG4gIGxpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIEBpbmNsdWRlIG1heCg1MTRweCkge1xuICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaW4oNTE1cHgpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICB9XG4gIH1cbn0iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiQG1peGluIHF1aWNrLWxpbmtzLWljb24oJGljb24sICRtb2RpZmllcjogbm9uZSkge1xuICBAaWYgJG1vZGlmaWVyICE9IG5vbmUge1xuICAgICRtb2RpZmllcjogLS0jeyRtb2RpZmllcn07XG4gIH0gQGVsc2Uge1xuICAgICRtb2RpZmllcjogXCJcIjtcbiAgfVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nLyN7JGljb259LWljb24jeyRtb2RpZmllcn0ucG5nKTtcbn1cblxuI3F1aWNrLWxpbmtzLS1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgZm9udC1zaXplOiBlbSgxNCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHVsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbi10b3AgMjUwbXMgZWFzZSk7XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi5xdWljay1saW5rcy1hYm91dCBhIHtcbiAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oYWJvdXQpO1xuICAgICAgJjpiZWZvcmUsICY6aG92ZXIsICYuYWN0aXZlLCAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oYWJvdXQsIGhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5xdWljay1saW5rcy1tYWlsIGEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5xdWljay1saW5rcy1zdGFmZi1kaXJlY3RvcnkgYSB7XG4gICAgICBAaW5jbHVkZSBxdWljay1saW5rcy1pY29uKHN0YWZmKTtcbiAgICAgICY6YmVmb3JlLCAmOmhvdmVyLCAmLmFjdGl2ZSwgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgICBAaW5jbHVkZSBxdWljay1saW5rcy1pY29uKHN0YWZmLCBob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICAgICYucXVpY2stbGlua3MtbWFwcyBhIHtcbiAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24obWFwcyk7XG4gICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJi5hY3RpdmUsICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgcXVpY2stbGlua3MtaWNvbihtYXBzLCBob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICAgICYucXVpY2stbGlua3Mtc3VwcG9ydC11cyBhIHtcbiAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oZ2lmdCk7XG4gICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJi5hY3RpdmUsICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgcXVpY2stbGlua3MtaWNvbihnaWZ0LCBob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICM4Nzg3ODc7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi5hY3RpdmUsICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHJpdC1vcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlLCAmLmFjdGl2ZS10cmFpbCwgJjpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gIH1cbn1cblxuLnF1aWNrLWxpbmtzIHtcbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgemVybygpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogNHB4IDAgNHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZXh0dWFsLWxpbmtzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4jcXVpY2stbGlua3MtLWZvb3RlciB7XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBsaSB7XG4gICAgJi5xdWljay1saW5rcy1hYm91dCBhIHtcbiAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oYWJvdXQsIGZvb3Rlcik7XG4gICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJi5hY3RpdmUsICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgcXVpY2stbGlua3MtaWNvbihhYm91dCwgaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnF1aWNrLWxpbmtzLW1haWwgYSB7XG4gICAgICBAaW5jbHVkZSBxdWljay1saW5rcy1pY29uKGVtYWlsLCBmb290ZXIpO1xuICAgICAgJjpiZWZvcmUsICY6aG92ZXIsICYuYWN0aXZlLCAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oZW1haWwsIGhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5xdWljay1saW5rcy1zdGFmZi1kaXJlY3RvcnkgYSB7XG4gICAgICBAaW5jbHVkZSBxdWljay1saW5rcy1pY29uKHN0YWZmLCBmb290ZXIpO1xuICAgICAgJjpiZWZvcmUsICY6aG92ZXIsICYuYWN0aXZlLCAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24oc3RhZmYsIGhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5xdWljay1saW5rcy1tYXBzIGEge1xuICAgICAgQGluY2x1ZGUgcXVpY2stbGlua3MtaWNvbihtYXBzLCBmb290ZXIpO1xuICAgICAgJjpiZWZvcmUsICY6aG92ZXIsICYuYWN0aXZlLCAmLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgIEBpbmNsdWRlIHF1aWNrLWxpbmtzLWljb24obWFwcywgaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnF1aWNrLWxpbmtzLXN1cHBvcnQtdXMgYSB7XG4gICAgICBAaW5jbHVkZSBxdWljay1saW5rcy1pY29uKGdpZnQsIGZvb3Rlcik7XG4gICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJi5hY3RpdmUsICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgcXVpY2stbGlua3MtaWNvbihnaWZ0LCBob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1heCg1MTFweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIiNtYWluLW1lbnUtLWhlYWRlciB7XG4gIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMC45ZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSB6ZXJvO1xuICAgIHBhZGRpbmc6IDVweCAuOGVtIDQ0cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDUwMG1zIGVhc2UpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwODZweCkge1xuICAgICAgQGluY2x1ZGUgcGxyKC43ZW0pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMDUycHgpIHtcbiAgICAgIEBpbmNsdWRlIHBsciguNmVtKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAyMHB4KSB7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDk5OXB4KSB7XG4gICAgICBmb250LXNpemU6IC44ZW07XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmhhcy1kcm9wZG93biA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMEJCXCI7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgyKSB1bCB7XG4gICAgICBAaW5jbHVkZSBtYXgoMTMzMHB4KSB7XG4gICAgICAgIGxlZnQ6IC00MCVcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1heCgxMjQwcHgpIHtcbiAgICAgICAgbGVmdDogLTc1JVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWF4KDExMjBweCkge1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1heCgxMDIwcHgpIHtcbiAgICAgICAgbGVmdDogLTEyMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LWZhbWlseTogJGhlbHZldGljYTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyA1MDBtcyBlYXNlKTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNWVtO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1ib3R0b20tY29sb3IgMjAwbXMgZWFzZSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZS10cmFpbCBhIHNwYW4sICY6aG92ZXIgYSBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRyaXQtb3JhbmdlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgdG9wOiA3M3B4O1xuICAgICAgYmFja2dyb3VuZDogIzQxNDE0MTtcbiAgICAgIHdpZHRoOiAzMjhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAmLCAmICoge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIwMG1zIGVhc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMi41ZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCAjN2E3YTdhLCBkb3duLXJpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBpbml0aWFsKTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAyLjVlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHRiKDAuOGVtKTtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzdhN2E3YTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNTE1MTU7XG4gICAgICAgICAgY29sb3I6ICMxNTE1MTU7XG5cbiAgICAgICAgICAmICsgbGkgYSBzcGFuLCBzcGFuIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcml0LW9yYW5nZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHJpdC1vcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIGEgc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59IiwiI21haW4tbWVudS0tZm9vdGVyIHtcbiAgdWwge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzEzMTMxO1xuICAgIEBpbmNsdWRlIHplcm8oKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE1cHgsIHRyYW5zcGFyZW50LCBkb3duLXJpZ2h0KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBpbml0aWFsKTtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgMjAwbXMgZWFzZSk7XG4gICAgfVxuXG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxNXB4LCAkcml0LW9yYW5nZSwgZG93bi1yaWdodCk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcml0LW9yYW5nZTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxNXB4LCAkcml0LW9yYW5nZSwgZG93bi1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICRtb250c2VycmF0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMjAwbXMgZWFzZSk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyaXQtb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiN0aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAkc21va2U7XG4gIEBpbmNsdWRlIG1lZGlhKDU5OXB4KVxuICB7XG4gICAgaGVpZ2h0OiAxMThweDtcbiAgfVxuXG4gIC50aXRsZS1iYXItLWxlZnQge1xuICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xuICAgIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIEBpbmNsdWRlIG1heCg1OTlweCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKDU5OXB4KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICB9XG5cbiAgICAmLCBhIHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uNXB4O1xuICAgIH1cblxuICAgIGgxI3BhZ2UtdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiBlbSgyOCk7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci0tcmlnaHQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1lZGlhKDU5OXB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTE4cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMTdweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSSVQgUHJvZHVjdGlvbiBTZXJ2aWNlcyBQYWdlXG4ucGFnZS1ub2RlLTQwNywgLnBhZ2Utbm9kZS00ODMge1xuICAjdGl0bGUtYmFyIC50aXRsZS1iYXItLXJpZ2h0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMDdweDtcbiAgICBwYWRkaW5nLXRvcDogMjJweDtcbiAgfVxufSIsIiNiYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiBlbSg1MCk7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgQGluY2x1ZGUgY29sbGFwc2UoKTtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJiwgLnNsaWNrLXNsaWRlIHtcbiAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA3NjhweCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVzIHtcbiAgICAgIGxpIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJhbm5lci0tc2xpZGVzaG93IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLmJhbm5lci0tc2luZ2xlIHtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYShtYXgtaGVpZ2h0OiA4MDBweCkge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBAbWVkaWEobWF4LWhlaWdodDogNjUwcHgpIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCIuZmVhdHVyZWQtc3RvcnktY2Fyb3VzZWwge1xuICBtYXgtaGVpZ2h0OiA1OTVweDtcbiAgbWluLWhlaWdodDogMjA0cHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDIwMDBweCk7XG4gIGZvbnQtc2l6ZTogZW0oMTYpO1xuXG4gIC5zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgJi5zbGljay1zbGlkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRsaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMjAlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDJweCByZ2JhKDAsMCwwLDAuNCk7XG5cbiAgICBkaXYge1xuICAgICAgQGluY2x1ZGUgbXEoKG1heC13aWR0aDogMTE2MHB4KSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcSgobWF4LXdpZHRoOiA5NjBweCkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoKG1heC13aWR0aDogMTYzNXB4KSkge1xuICAgICAgZm9udC1zaXplOiBlbSg1MCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKChtYXgtd2lkdGg6IDc1MHB4KSkge1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1heCg0NzlweCkge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgIHRvcDogMTAlO1xuICAgIH1cbiAgfVxuXG4gIC5ibHVyYiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDQ0JTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgd2lkdGg6IDIzZW07XG4gICAgdGV4dC1zaGFkb3c6IDFweCAycHggcmdiYSgwLDAsMCwwLjQpO1xuXG4gICAgQGluY2x1ZGUgbXEoKG1heC13aWR0aDogOTYwcHgpKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKChtaW4td2lkdGg6IDk2MXB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSkge1xuICAgICAgdG9wOiA0OCVcbiAgICB9XG4gIH1cblxuICAucmVhZC1tb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNjclO1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCA5cHggcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKChtaW4td2lkdGg6IDk2MXB4KSkge1xuICAgICAgdG9wOiA4NSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoKG1pbi13aWR0aDogMTAyNHB4KSkge1xuICAgICAgdG9wOiA3NyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoKG1pbi13aWR0aDogMTI1MHB4KSkge1xuICAgICAgdG9wOiA3MiU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDg4MHB4KSB7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICBib3R0b206IDEzJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNDc5cHgpIHtcbiAgICAgIGxlZnQ6IDQ1JTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtYXgoNjg1cHgpIHtcbiAgICAuc2xpZGUge1xuICAgICAgbWluLWhlaWdodDogMjA0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5waG90byB7XG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiI3RyaS1saW5rcyB7XG4gIGJhY2tncm91bmQ6ICRzbW9rZTtcbiAgQGluY2x1ZGUgcHRiKDI1cHgpO1xuXG4gIEBpbmNsdWRlIG1pbig3NjhweCkge1xuICAgIEBpbmNsdWRlIHB0Yig1MHB4KTtcbiAgfVxufVxuXG4udmlldy1xdWljay1saW5rcyB7XG4gIC52aWV3cy1yb3cge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICBAaW5jbHVkZSBtaW4oNjUwcHgpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICB9XG4gIH1cblxuICAudmlld3MtZmllbGQtZmllbGQtaWNvbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGJhY2tncm91bmQ6ICM4MDgzODQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIDIwMG1zIGVhc2UpO1xuXG4gICAgQGluY2x1ZGUgbWluKDY1MHB4KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG4gIH1cblxuICAudmlld3MtZmllbGQtdGl0bGUge1xuICAgIGNvbG9yOiAjODA4Mzg0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIEBpbmNsdWRlIG1pbig2NTBweCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgLnZpZXdzLWZpZWxkLWZpZWxkLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogJHJpdC1vcmFuZ2U7XG4gICAgfVxuICB9XG59XG4iLCIuc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGluaXRpYWw7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBidXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSgxNXB4LCAkd2hpdGUsIGRvd24tcmlnaHQpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTVweCwgJHJpdC1vcmFuZ2UsIGRvd24tcmlnaHQpXG4gICAgfVxuICB9XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogNDVweDtcbiAgZmlsbDogI2MwYzBjMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogaW5pdGlhbDtcbiAgfVxuICAmLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgfVxufVxuXG4uc2VydmljZXMtLXNsaWRlciB7XG4gIG1heC1oZWlnaHQ6IDc1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1heCg4NDlweCkge1xuICAgIG1heC1oZWlnaHQ6IDEwNTBweDtcbiAgfVxufVxuXG4ubW9yZS1zdG9yaWVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc2xpY2stZG90cyB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICBsZWZ0OiAxMTVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgbGkge1xuICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE1cHgsICRtZWRpdW0tZ3JheSwgZG93bi1yaWdodCk7XG4gICAgICB9XG4gICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTVweCwgJHJpdC1vcmFuZ2UsIGRvd24tcmlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9yZS1zdG9yaWVzLXNsaWRlciB7XG4gIG1heC1oZWlnaHQ6IDMyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC52aWV3cy1yb3cge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cblxuICAuc2lkZWJhci0tcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmx1cmIge1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG59IiwiLmNvbnRhY3QtY2FyZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBmb250LXNpemU6IGVtKDE0KTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2UtdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gIH1cblxuICAmLmNvbnRhY3QtY2FyZC0taGVhZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgfVxuXG4gIC5jb250YWN0LWNhcmQtLWxlZnQge1xuICAgIHdpZHRoOiAxMThweDtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIH1cbiAgLmNvbnRhY3QtY2FyZC0tcmlnaHQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgfVxuXG4gIC5waG90byB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufSIsIiNzZXJ2aWNlcy1wYWdlLS1zdWJzZXJ2aWNlcyB7XG4gIGJhY2tncm91bmQ6ICRvZmYtd2hpdGU7XG4gIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nKjM7XG4gIHBhZGRpbmctYm90dG9tOiAkYmFzZS1zcGFjaW5nKjM7XG5cbiAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtcbiAgICBmb250LXNpemU6IGVtKDM0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG4uc2VydmljZS1wb2Qge1xuICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggNjAwcHggbWF4LXdpZHRoIDg0OXB4KSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggODUwcHgpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgIG1pbi1oZWlnaHQ6IDM3NXB4O1xuICB9XG5cbiAgLmljb24ge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcqMiBhdXRvICRiYXNlLXNwYWNpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmljb24tLXN1YnNlcnZpY2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgNTAwbXMgZWFzZS1pbi1vdXQpO1xuICAgIH1cblxuICAgIC5pY29uLS1zdWJzZXJ2aWNlLS1yb2xsb3ZlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmljb24tLXN1YnNlcnZpY2Uge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLmljb24tLXN1YnNlcnZpY2UtLXJvbGxvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLnN0YWZmLXBvZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBlbSgxNCk7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xuICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZztcblxuICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggNDc5cHggbWF4LXdpZHRoIDc2NnB4KSB7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCA3NjdweCBtYXgtd2lkdGggOTE5cHgpIHtcbiAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDkyMHB4KSB7XG4gICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgfVxuXG4gIC5waG90byB7XG4gICAgbWF4LXdpZHRoOiAxODhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRyaXQtb3JhbmdlLCAwLjgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2VtYWlsLWljb24tLWxhcmdlLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMjUwbXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDEpKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgLmJpby10ZXh0LWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbiNzdGFmZi1kaXJlY3Rvcnkge1xuICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZyoyO1xuICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyoyO1xufVxuXG4uc3RhZmYtc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiAyMjVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDM5cHg7XG5cbiAgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDIyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxuICBzdmcge1xuICAgIGZpbGw6ICM5OTk7XG4gICAgc3Ryb2tlOiAjOTk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gIH1cbn1cblxuXG4jc2hvd24tc3RhZmYgLm5vLXJlc3VsdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuXG4vLyBTdGFmZiBCaW9zIEFkZGl0aW9uc1xuXG4uc3RhZmYtcG9kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLmJpby1vdXQge1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMzJweCwgI2NjYywgdXApO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDMwcHgsICNmZmYsIHVwKTtcbiAgICB9XG4gIH1cbn1cblxuLmJpby1wb2Qge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogJGJhc2Utc3BhY2luZyozO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufSIsIi5waWN0dXJlLWxpbmsge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBsaW5lLWhlaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuXG4gIGltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiLmZpbGwtb3JhbmdlIHtcbiAgZmlsbDogJHJpdC1vcmFuZ2U7XG59XG4uZmlsbC1ncmF5IHtcbiAgZmlsbDogIzgxODM4NTtcbn1cbi5maWxsLWJsYWNrIHtcbiAgZmlsbDogIzAxMDEwMTtcbn1cbi5maWxsLXllbGxvdyB7XG4gIGZpbGw6ICNFQ0UzNEE7XG59XG4uZmlsbC1ncmVlbiB7XG4gIGZpbGw6ICM4OUM1NDE7XG59XG4uZmlsbC1wYXBlciB7XG4gIGZpbGw6ICNGNEU5QkE7XG59XG4uZmlsbC1za2luIHtcbiAgZmlsbDogI0ZCQjg4QTtcbn1cbi5maWxsLXdoaXRlIHtcbiAgZmlsbDogI0ZGRkZGRjtcbn1cbiIsIiNsZXR0ZXItc2VsZWN0b3Ige1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjVweDtcblxuICBhLmxldHRlciB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmb250LWZhbWlseTogJGhlbHZldGljYTtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgQGluY2x1ZGUgcGxyKDJweCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi5hbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyaXQtb3JhbmdlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMTQpe1xuICAgICAgQGluY2x1ZGUgbWF4KDUwMHB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmFsbCB7XG4gICAgICBAaW5jbHVkZSBtYXgoNTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5iYWNrdG90b3Age1xuICBwYWRkaW5nOiA3cHg7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMztcbiAgYm90dG9tOiAtNTBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRjE2RjAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFva2xFUVZRNFQ3V1QwUTNDTUF3Rnp4UEFKakJDTndFbVlJV3lBV3pRVWJvQ204QUVEeGtsU0FTN1FvcWE3OXo1eFhveE9vOTE4cXdya0RRQ01yTkxsalJOSUdrQ0RnV2N6T3dVU1VKQkExY3VsUHdJR3ZoZTZGMlc1RXNRd0VNQlp5Q1VmQVFSYkdZUEYwamFBcUhrTFZpQzZ3SXlpVW02QXVkeTBkODgxTW50MWdQSnpRVWVjd01zd2ttU3B3djJnQmZtbUUxT2tuaFB4bldyL005SDYwN3dBbWRFVUxpSDd5UGlBQUFBQUVsRlRrU3VRbUNDJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmJhY2t0b3RvcC5zaG93biB7XG4gIGJvdHRvbTogMTRweDtcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */