@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,400italic,700,700italic,500,300italic,500italic);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:700);
html {
  box-sizing: border-box; }

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

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
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 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

/**
 * Addresses 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
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
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.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
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.
 * 4. Improves appearance and consistency in all browsers.
 */
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.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
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; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
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.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
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; }

ul, ol {
  padding-left: 0;
  margin: 0;
  list-style: none; }

img {
  max-width: 100;
  height: auto; }

.skip-link {
  display: none; }
  .skip-link:focus {
    display: block; }

.screen-reader-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

body {
  font-family: "Roboto", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6; }

h1, h2, h3, h4 {
  font-family: "Roboto", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  line-height: 1.333; }

h1 {
  margin: 0 0 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.25em; }

h2 {
  margin: 1em 0 0.666em;
  font-size: 1.333rem;
  font-weight: 700; }

h3 {
  margin: 1em 0 0.25em;
  font-size: 1.2rem;
  font-weight: 700; }

h4 {
  margin: 1em 0 0.25em;
  font-size: 1rem;
  font-weight: 700; }

header > h1,
header > h2,
h1 + h2,
h2 + h3 {
  margin-top: 0; }

@media screen and (min-width: 53.2em) {
  h1 {
    font-size: 2.3994rem; }

  h2 {
    font-size: 1.77689rem; }

  h3 {
    font-size: 1.5996rem; } }
a {
  color: #0479b3;
  text-decoration: none; }
  a:hover, a:focus {
    color: #035781; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?djmvkn");
  src: url("../fonts/icomoon.eot?djmvkn#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?djmvkn") format("truetype"), url("../fonts/icomoon.woff?djmvkn") format("woff"), url("../fonts/icomoon.svg?djmvkn#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-paper-clip:before {
  content: "\e001"; }

.icon-link:before {
  content: "\e005"; }

.icon-printer:before {
  content: "\e020"; }

.icon-paper:before {
  content: "\e034"; }

.icon-paper-stack:before {
  content: "\e035"; }

.icon-search:before {
  content: "\e036"; }

.icon-folder:before {
  content: "\e059"; }

.icon-map:before {
  content: "\e072"; }

.icon-head:before {
  content: "\e074"; }

.icon-arrow-left:before {
  content: "\e094"; }

.icon-arrow-right:before {
  content: "\e095"; }

.icon-flag:before {
  content: "\e108"; }

.icon-check:before {
  content: "\e116"; }

.icon-cross:before {
  content: "\e117"; }

.icon-menu:before {
  content: "\e120"; }

.icon-file:before {
  content: "\e124"; }

.icon-ellipsis:before {
  content: "\e129"; }

main:not(.archive-has-sidebar) .archive-content {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  main:not(.archive-has-sidebar) .archive-content::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 53.2em) {
    main:not(.archive-has-sidebar) .archive-content .archive-post-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%; }
      main:not(.archive-has-sidebar) .archive-content .archive-post-container:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 53.2em) {
    main:not(.archive-has-sidebar) .archive-content .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:last-child {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(3n) {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(3n+1) {
        clear: left; } }
  @media screen and (min-width: 65.063em) {
    main:not(.archive-has-sidebar) .archive-content .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(3n) {
        margin-right: 2.35765%; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(3n+1) {
        clear: none; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:last-child {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(4n) {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .post-loop-item:nth-child(4n+1) {
        clear: left; } }
  @media screen and (min-width: 53.2em) {
    main:not(.archive-has-sidebar) .archive-content .term-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:last-child {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(2n) {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 65.063em) {
    main:not(.archive-has-sidebar) .archive-content .term-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(2n) {
        margin-right: 2.35765%; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(2n+1) {
        clear: none; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:last-child {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(3n) {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .term-loop-item:nth-child(3n+1) {
        clear: left; } }
  @media screen and (min-width: 53.2em) {
    main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:nth-child(1n) {
        margin-right: 2.35765%; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:nth-child(1n+1) {
        clear: none; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:last-child {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:nth-child(2n) {
        margin-right: 0; }
      main:not(.archive-has-sidebar) .archive-content .related-content-loop .post-loop-item:nth-child(2n+1) {
        clear: left; } }

main.archive-has-sidebar .archive-content {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  main.archive-has-sidebar .archive-content::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 53.2em) {
    main.archive-has-sidebar .archive-content .archive-post-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      main.archive-has-sidebar .archive-content .archive-post-container:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    main.archive-has-sidebar .archive-content .archive-post-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%; }
      main.archive-has-sidebar .archive-content .archive-post-container:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 53.2em) {
    main.archive-has-sidebar .archive-content .sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      main.archive-has-sidebar .archive-content .sidebar:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    main.archive-has-sidebar .archive-content .sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      main.archive-has-sidebar .archive-content .sidebar:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 53.2em) {
    main.archive-has-sidebar .archive-content .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      main.archive-has-sidebar .archive-content .post-loop-item:last-child {
        margin-right: 0; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(2n) {
        margin-right: 0; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 65.063em) {
    main.archive-has-sidebar .archive-content .post-loop-item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(2n) {
        margin-right: 2.35765%; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(2n+1) {
        clear: none; }
      main.archive-has-sidebar .archive-content .post-loop-item:last-child {
        margin-right: 0; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(3n) {
        margin-right: 0; }
      main.archive-has-sidebar .archive-content .post-loop-item:nth-child(3n+1) {
        clear: left; } }

body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 53.2em) {
    body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .archive-post-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%; }
      body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .archive-post-container:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .archive-post-container {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 63.74833%; }
      body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .archive-post-container:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 53.2em) {
    body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%; }
      body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .sidebar:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      margin-left: 2.13245%; }
      body.post-type-archive-dictionary_word main.archive-has-sidebar .archive-content .sidebar:last-child {
        margin-right: 0; } }

.container.footer {
  padding: 3em 0;
  border-top: 1px solid #ddd; }

.footer-widgets {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  .footer-widgets::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 53.2em) {
    .footer-widgets .footer-widget-col {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .footer-widgets .footer-widget-col:last-child {
        margin-right: 0; }
      .footer-widgets .footer-widget-col:nth-child(2n) {
        margin-right: 0; }
      .footer-widgets .footer-widget-col:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 65.063em) {
    .footer-widgets .footer-widget-col {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .footer-widgets .footer-widget-col:last-child {
        margin-right: 0; }
      .footer-widgets .footer-widget-col:nth-child(2n) {
        margin-right: 2.35765%; }
      .footer-widgets .footer-widget-col:nth-child(2n+1) {
        clear: none; }
      .footer-widgets .footer-widget-col:nth-child(4n) {
        margin-right: 0; }
      .footer-widgets .footer-widget-col:nth-child(4n+1) {
        clear: left; } }

section#frontpage-featured {
  overflow: hidden;
  margin-bottom: 2em; }

section#frontpage-featured-small {
  margin-bottom: 2em; }
  @media screen and (min-width: 53.2em) {
    section#frontpage-featured-small {
      overflow: hidden; }
      section#frontpage-featured-small article {
        margin-bottom: 0; }
      section#frontpage-featured-small.widgets-2 > div, section#frontpage-featured-small.widgets-4 > div {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 23.23176%; }
        section#frontpage-featured-small.widgets-2 > div:last-child, section#frontpage-featured-small.widgets-4 > div:last-child {
          margin-right: 0; }
      section#frontpage-featured-small.widgets-3 > div, section#frontpage-featured-small.widgets-5 > div, section#frontpage-featured-small.widgets-6 > div {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        section#frontpage-featured-small.widgets-3 > div:last-child, section#frontpage-featured-small.widgets-5 > div:last-child, section#frontpage-featured-small.widgets-6 > div:last-child {
          margin-right: 0; } }

section#frontpage-content {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  section#frontpage-content::after {
    clear: both;
    content: "";
    display: table; }
  section#frontpage-content .frontpage-content-widget {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    margin-bottom: 2em; }
    section#frontpage-content .frontpage-content-widget:last-child {
      margin-right: 0; }
  @media screen and (min-width: 53.2em) {
    section#frontpage-content .widget_pli_latest_news_teaser, section#frontpage-content .widget_pli_twitter_widget {
      min-height: 275px;
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      section#frontpage-content .widget_pli_latest_news_teaser:last-child, section#frontpage-content .widget_pli_twitter_widget:last-child {
        margin-right: 0; }
    section#frontpage-content .widget_pli_twitter_widget {
      margin-right: 0; } }

@media screen and (min-width: 0em) {
  body:after {
    content: "small";
    display: none; } }
@media screen and (min-width: 53.2em) {
  body:after {
    content: "medium";
    display: none; } }
@media screen and (min-width: 65.063em) {
  body:after {
    content: "large";
    display: none; } }
@media screen and (min-width: 80.063em) {
  body:after {
    content: "xlarge";
    display: none; } }
@media screen and (min-width: 100.063em) {
  body:after {
    content: "xxlarge";
    display: none; } }
.row {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3%;
  padding-right: 3%; }
  .row::after {
    clear: both;
    content: "";
    display: table; }

.container.content {
  background: url("../../img/body/bg_left.png") 0 200px no-repeat, url("../../img/body/bg_right.png") 100% 200px no-repeat;
  background-color: #f3f3f3;
  position: relative;
  padding-bottom: 2em; }
  .container.content.sticky {
    margin-top: 66px; }

.container.header {
  background: url("../../img/header/bg_left.png") 0 0 no-repeat, url("../../img/header/bg_right.png") 100% 0 no-repeat;
  background-size: 100px, 400px;
  position: relative;
  z-index: 99999; }
  @media screen and (min-width: 53.2em) {
    .container.header {
      background-size: auto, auto; } }
  .container.header #header {
    padding-top: 76px; }
  .container.header .inner {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
    .container.header .inner.sticky {
      position: fixed;
      top: 0;
      right: 0;
      bottom: auto;
      left: 0;
      background: white; }
      @media screen and (min-width: 65.063em) {
        .container.header .inner.sticky .logo, .container.header .inner.sticky .logo img {
          width: 180px;
          margin-top: 0.4rem; } }
      .container.header .inner.sticky #nav > ul > li > a {
        padding: 1.2rem 1.1rem 1.0rem; }
      .container.header .inner.sticky #nav > ul > li.current-menu-item > a:after, .container.header .inner.sticky #nav > ul > li.current-menu-ancestor > a:after, .container.header .inner.sticky #nav > ul > li.current-page-ancestor > a:after,
      .container.header .inner.sticky #nav > ul > li a:hover:after, .container.header .inner.sticky #nav > ul > li a:focus:after {
        bottom: 0.8em; }
      @media screen and (min-width: 65.063em) {
        .container.header .inner.sticky .search-wrapper .search-toggle {
          padding-top: 1.2em;
          padding-bottom: 1em; } }
    .container.header .inner .row {
      position: relative; }

.admin-bar .container.header .inner.sticky {
  top: 32px; }

.logo, .logo img {
  width: 180px;
  display: block; }
  @media screen and (min-width: 65.063em) {
    .logo, .logo img {
      width: 250px; } }

.logo {
  float: left;
  margin: 1rem 0 16px; }
  @media screen and (min-width: 65.063em) {
    .logo {
      position: absolute;
      z-index: 999;
      margin-top: 20px; } }
  .logo a {
    display: block; }

.search-wrapper {
  position: absolute;
  z-index: 99999;
  right: 3%; }
  @media screen and (min-width: 80.063em) {
    .search-wrapper {
      right: 3.5%; } }
  @media screen and (min-width: 100.063em) {
    .search-wrapper {
      right: 4%; } }
  .search-wrapper .search-toggle {
    text-align: right;
    display: block;
    padding: 0.8em 0.5em;
    font-size: 1.5em;
    color: #333; }
    .search-wrapper .search-toggle:hover, .search-wrapper .search-toggle:focus {
      color: #0479b3; }
    @media screen and (min-width: 65.063em) {
      .search-wrapper .search-toggle {
        font-size: 1.1em;
        padding: 1.9rem 0.8rem 1.666rem; } }
    .search-wrapper .search-toggle span {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }

body.search h1 {
  margin-bottom: 0; }

.single-content > .wp-post-image-wrap {
  position: relative;
  max-height: 50vh;
  overflow: hidden;
  margin: 0 -2%;
  padding-top: 1em; }
  .single-content > .wp-post-image-wrap img {
    display: block;
    width: 100%;
    height: auto; }
  .single-content > .wp-post-image-wrap figcaption {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 0.333em;
    font-size: 0.8125rem;
    font-style: italic;
    background: #fff; }
.single-content .main {
  padding: 2em 0; }
  @media screen and (min-width: 53.2em) {
    .single-content .main {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%; }
      .single-content .main:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    .single-content .main {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 63.74833%; }
      .single-content .main:last-child {
        margin-right: 0; } }
.single-content .main-sidebar {
  padding: 2em 0; }
  @media screen and (min-width: 53.2em) {
    .single-content .main-sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%; }
      .single-content .main-sidebar:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 65.063em) {
    .single-content .main-sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      margin-left: 2.13245%; }
      .single-content .main-sidebar:last-child {
        margin-right: 0; } }

.single-event .gform_wrapper {
  margin: 0; }
.single-event #tilmelding {
  padding-top: 2em; }
.single-event .hash-link {
  display: none; }
  @media screen and (min-width: 53.2em) {
    .single-event .hash-link {
      display: block; } }
.single-event .main-sidebar {
  padding-top: 0; }
  @media screen and (min-width: 53.2em) {
    .single-event .main-sidebar {
      padding-top: 2rem; } }

@media screen and (min-width: 53.2em) {
  .page .single-content .main {
    margin-left: 42.64902%; } }
@media screen and (min-width: 65.063em) {
  .page .single-content .main {
    margin-left: 36.25167%; } }
@media screen and (min-width: 53.2em) {
  .page .single-content .main-sidebar {
    margin-left: -102.35765%; } }
@media screen and (min-width: 65.063em) {
  .page .single-content .main-sidebar {
    margin-left: -102.35765%; } }

body .addtoany_content_top {
  margin: 0.666em 0 1.666em; }
body .addtoany_term_top {
  margin: 1.666em 0 0; }
body .addtoany_header {
  display: inline-block;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 300;
  margin: 0 0.3em 0 0;
  position: relative;
  top: -0.2em; }
body .a2a_follow {
  display: inline-block;
  margin-top: 0.2em;
  line-height: 16px !important; }
  body .a2a_follow a {
    padding-left: 0;
    padding-right: 8px; }

.archive-header .archive-header-content {
  padding: 2.5em 0 1.5em; }
.archive-header .archive-title > span {
  font-size: 1rem;
  font-weight: 300;
  display: block; }
  @media screen and (min-width: 53.2em) {
    .archive-header .archive-title > span {
      font-size: 1.5rem; } }
  .archive-header .archive-title > span span.type {
    font-weight: 700; }
  .archive-header .archive-title > span span.hide {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
.archive-header .archive-description {
  font-size: 1.25em;
  font-weight: 300;
  line-height: 1.53295; }
  @media screen and (min-width: 53.2em) {
    .archive-header .archive-description {
      font-size: 1.333em; } }

@media screen and (min-width: 65.063em) {
  .archive-header .archive-header-content {
    padding-top: 3em;
    margin-right: 60%;
    min-height: 360px; } }
@media screen and (min-width: 80.063em) {
  .archive-header .archive-header-content {
    min-height: 410px;
    margin-right: 52%; } }
@media screen and (min-width: 100.063em) {
  .archive-header .archive-header-content {
    margin-right: 49%;
    min-height: 480px; } }
@media screen and (min-width: 65.063em) {
  .archive-header > div:only-of-type {
    margin-right: 0;
    min-height: 0; } }
@media screen and (min-width: 80.063em) {
  .archive-header > div:only-of-type {
    min-height: 0;
    margin-right: 0; } }
@media screen and (min-width: 100.063em) {
  .archive-header > div:only-of-type {
    margin-right: 0;
    min-height: 0; } }

.image-wrap-slanted {
  position: relative;
  left: -3%;
  width: 106%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%); }
  @media screen and (min-width: 65.063em) {
    .image-wrap-slanted {
      width: auto;
      position: absolute;
      top: 0;
      right: 0;
      bottom: auto;
      left: auto;
      -webkit-clip-path: polygon(10% 100%, 100% 90%, 100% 0px, 0px 0px);
      clip-path: polygon(10% 100%, 100% 90%, 100% 0px, 0px 0px); } }
  .image-wrap-slanted img {
    width: 100%;
    height: auto;
    display: block; }
    @media screen and (min-width: 65.063em) {
      .image-wrap-slanted img {
        width: 600px; } }
    @media screen and (min-width: 80.063em) {
      .image-wrap-slanted img {
        width: 670px; } }
    @media screen and (min-width: 100.063em) {
      .image-wrap-slanted img {
        width: 800px; } }

#dictionary-letters-nav::after {
  clear: both;
  content: "";
  display: table; }
#dictionary-letters-nav ul {
  text-align: center;
  background: #0479b3;
  padding: 0.5em; }
#dictionary-letters-nav li {
  display: inline-block; }
  #dictionary-letters-nav li a {
    text-decoration: none;
    display: block;
    padding: 0.4em 1.05em;
    color: #fff; }
    #dictionary-letters-nav li a:hover, #dictionary-letters-nav li a:focus {
      background: #058acc; }

.dictionary-letters > h2 {
  margin: 0;
  padding: 5rem 0 1rem;
  text-align: center;
  font-size: 3.5em; }

.dictionary-letters dt {
  background: #fafafa;
  margin-bottom: 2px;
  padding: 1em;
  font-weight: 700; }
  .dictionary-letters dt:hover, .dictionary-letters dt:focus {
    cursor: pointer;
    background: #fff; }
.dictionary-letters dd {
  margin: 0;
  padding: 2em;
  background: #fff;
  margin-bottom: 1.5em;
  position: relative; }
  .dictionary-letters dd > :first-child {
    margin-top: 0; }
  .dictionary-letters dd > :last-child {
    margin-bottom: 0; }

.event-info > div {
  background: #fff;
  padding: 1rem;
  margin-bottom: 2rem; }
.event-info h2 {
  margin-top: 0;
  font-weight: 300;
  font-size: 1.33em; }
.event-info dt {
  margin-top: 1em;
  font-size: 0.9em;
  font-weight: 700; }
.event-info dd {
  margin: 0; }
.event-info > div.event-info-contact-persons {
  padding: 0;
  background: none; }
  .event-info > div.event-info-contact-persons h2 {
    padding-left: 1rem; }

body .gform_wrapper {
  background: #fff;
  padding: 1rem;
  margin: 2rem 0;
  max-width: 100%; }

button, input[type="submit"] {
  padding: 0.3em 0.75em;
  line-height: 1.5em;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background: #0479b3;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 300;
  border: none; }
  button:hover, input[type="submit"]:hover {
    background: #058acc; }

a.hash-link {
  display: block;
  margin-bottom: 2rem;
  padding: 0.75rem 0.5rem 0.75rem;
  color: #fff;
  background: #0479b3;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.333;
  text-decoration: none;
  text-align: center; }
  a.hash-link:hover, a.hash-link:focus {
    background: #058acc; }

.single-content-text .embed-container {
  overflow: hidden;
  max-width: 100%;
  margin: 2rem 0; }
.single-content-text .wp-post-oembed-wrap > .embed-container {
  margin: 0; }
.single-content-text .embed-container .embed-container-inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }
.single-content-text .embed-container iframe,
.single-content-text .embed-container object,
.single-content-text .embed-container embed {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important; }

.single-content-text .factbox {
  margin: 1.75rem 0;
  padding: 1.25em 1em 1em;
  background: #e1eaef;
  font-size: 0.9rem; }
  .single-content-text .factbox h2 {
    margin-top: 0;
    font-size: 1.5em;
    font-weight: 300; }
  @media screen and (min-width: 65.063em) {
    .single-content-text .factbox {
      float: right;
      width: 46%;
      margin-top: 0;
      margin-left: 4%; } }

.fotorama__nav__frame:focus .fotorama__dot:after, .fotorama__nav__frame:focus .fotorama__thumb:after, .fotorama__fullscreen-icon:focus:after,
.fotorama__arr:focus:after, .fotorama__stage__shaft, .fotorama__stage__frame, .fotorama__img, .fotorama__html, .fotorama__video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0; }

.fotorama--fullscreen, .fotorama__img {
  max-width: 99999px !important;
  max-height: 99999px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important; }

.fotorama__wrap .fotorama__grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.fotorama__grabbing * {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing; }

.fotorama__spinner {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important; }

.fotorama__wrap--css3 .fotorama__stage__shaft,
.fotorama__wrap--css3 .fotorama__nav__shaft,
.fotorama__wrap--css3 .fotorama__thumb-border, .fotorama__wrap--css3 .fotorama__arr, .fotorama__wrap--css3
.fotorama__fullscreen-icon, .fotorama__wrap--css3
.fotorama__video-play, .fotorama__wrap--css3
.fotorama__video-close {
  transform: translate3d(0, 0, 0); }

.fotorama__caption, .fotorama__wrap--css3 .fotorama__spinner, .fotorama__wrap--css3 .fotorama__stage,
.fotorama__wrap--css3 .fotorama__nav,
.fotorama__wrap--css3 .fotorama__stage__frame, .fotorama__wrap--css3 .fotorama__stage .fotorama__img,
.fotorama__wrap--css3 .fotorama__html, .fotorama__stage:before, .fotorama__stage:after, .fotorama__nav:before, .fotorama__nav:after {
  transform: translateZ(0); }

.fotorama__nav__frame, .fotorama__fullscreen-icon:focus,
.fotorama__arr:focus {
  outline: 0; }

.fotorama__nav__frame:focus .fotorama__dot:after, .fotorama__nav__frame:focus .fotorama__thumb:after, .fotorama__fullscreen-icon:focus:after,
.fotorama__arr:focus:after {
  content: '';
  border-radius: inherit;
  background-color: rgba(0, 176, 235, 0.5); }

.fotorama__wrap--video .fotorama__stage__shaft,
.fotorama__wrap--video .fotorama__stage,
.fotorama__wrap--video .fotorama__stage__frame--video, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,
.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html {
  transform: none !important; }

.fotorama__wrap--css3 .fotorama__stage__shaft,
.fotorama__wrap--css3 .fotorama__nav__shaft,
.fotorama__wrap--css3 .fotorama__thumb-border {
  transition-property: transform, width;
  transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1);
  transition-duration: 0ms; }

.fotorama__wrap, .fotorama__no-select, .fotorama__arr,
.fotorama__fullscreen-icon,
.fotorama__video-play,
.fotorama__video-close {
  user-select: none; }

.fotorama__select {
  user-select: text; }

.fotorama__nav, .fotorama__nav__frame {
  margin: auto;
  padding: 0; }

.fotorama__nav__shaft, .fotorama__nav__frame, .fotorama__caption__wrap {
  display: -moz-inline-box;
  -moz-box-orient: vertical;
  display: inline-block;
  vertical-align: middle;
  *display: inline;
  *zoom: 1; }

.fotorama__nav__frame, .fotorama__thumb-border {
  box-sizing: content-box; }

.fotorama__caption__wrap {
  box-sizing: border-box; }

.fotorama--hidden, .fotorama__load {
  position: absolute;
  left: -99999px;
  top: -99999px;
  z-index: -1; }

.fotorama__stage__shaft, .fotorama__stage__frame, .fotorama__nav, .fotorama__nav__shaft, .fotorama__nav__frame, .fotorama__arr,
.fotorama__fullscreen-icon,
.fotorama__video-play,
.fotorama__video-close {
  -webkit-tap-highlight-color: transparent; }

.fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-play, .fotorama__video-close {
  background: url("../../img/fotorama/fotorama.png") no-repeat; }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 2dppx) {
    .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-play, .fotorama__video-close {
      background: url("../../img/fotorama/fotorama@2x.png") no-repeat;
      background-size: 96px 160px; } }

.fotorama__thumb {
  background-color: gray;
  background-color: rgba(128, 128, 128, 0.2); }

@media print {
  .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__video-play, .fotorama__video-close, .fotorama__thumb-border {
    background: none !important; } }

.fotorama {
  min-width: 1px;
  overflow: hidden; }
  .fotorama:not(.fotorama--unobtrusive) > *:not(:first-child) {
    display: none; }

.fullscreen {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000; }

.fotorama--fullscreen {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  float: none !important;
  z-index: 2147483647 !important;
  background: #000;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important; }
  .fotorama--fullscreen .fotorama__stage,
  .fotorama--fullscreen .fotorama__nav {
    background: #000; }

.fotorama__wrap {
  -webkit-text-size-adjust: 100%;
  position: relative;
  direction: ltr;
  z-index: 0; }

.fotorama__wrap--rtl .fotorama__stage__frame {
  direction: rtl; }

.fotorama__stage,
.fotorama__nav {
  overflow: hidden;
  position: relative;
  max-width: 100%; }

.fotorama__wrap--pan-y {
  -ms-touch-action: pan-y; }

.fotorama__wrap .fotorama__pointer {
  cursor: pointer; }

.fotorama__wrap--slide .fotorama__stage__frame {
  opacity: 1 !important; }

.fotorama__stage__frame {
  overflow: hidden; }
  .fotorama__stage__frame.fotorama__active {
    z-index: 8; }

.fotorama__wrap--fade .fotorama__stage__frame {
  display: none; }
.fotorama__wrap--fade .fotorama__stage__frame.fotorama__active,
.fotorama__wrap--fade .fotorama__fade-front,
.fotorama__wrap--fade .fotorama__fade-rear {
  display: block;
  left: 0;
  top: 0; }
.fotorama__wrap--fade .fotorama__fade-front {
  z-index: 8; }
.fotorama__wrap--fade .fotorama__fade-rear {
  z-index: 7; }
  .fotorama__wrap--fade .fotorama__fade-rear.fotorama__active {
    z-index: 9; }
.fotorama__wrap--fade .fotorama__stage .fotorama__shadow {
  display: none; }

.fotorama__img {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  border: none !important; }
  .fotorama__loaded .fotorama__img, .fotorama__error .fotorama__img {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1; }

.fotorama__img--full {
  display: none; }

.fotorama--fullscreen .fotorama__loaded--full .fotorama__img {
  display: none; }
.fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full {
  display: block; }

.fotorama__wrap--only-active .fotorama__stage,
.fotorama__wrap--only-active .fotorama__nav {
  max-width: 99999px !important; }
.fotorama__wrap--only-active .fotorama__stage__frame {
  visibility: hidden; }
.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active {
  visibility: visible; }

.fotorama__nav {
  font-size: 0;
  line-height: 0;
  text-align: center;
  display: none;
  white-space: nowrap;
  z-index: 5; }

.fotorama__nav__shaft {
  position: relative;
  left: 0;
  top: 0;
  text-align: left; }

.fotorama__nav__frame {
  position: relative;
  cursor: pointer; }

.fotorama__nav--dots {
  display: block; }
  .fotorama__nav--dots .fotorama__nav__frame {
    width: 18px;
    height: 30px; }
  .fotorama__nav--dots .fotorama__nav__frame--thumb,
  .fotorama__nav--dots .fotorama__thumb-border {
    display: none; }

.fotorama__nav--thumbs {
  display: block; }
  .fotorama__nav--thumbs .fotorama__nav__frame {
    padding-left: 0 !important; }
    .fotorama__nav--thumbs .fotorama__nav__frame:last-child {
      padding-right: 0 !important; }
  .fotorama__nav--thumbs .fotorama__nav__frame--dot {
    display: none; }

.fotorama__dot {
  display: block;
  width: 4px;
  height: 4px;
  position: relative;
  top: 12px;
  left: 6px;
  border-radius: 6px;
  border: 1px solid gray; }
  .fotorama__nav__frame:focus .fotorama__dot:after {
    padding: 1px;
    top: -1px;
    left: -1px; }
  .fotorama__nav__frame.fotorama__active .fotorama__dot {
    width: 0;
    height: 0;
    border-width: 3px; }
    .fotorama__nav__frame.fotorama__active .fotorama__dot:after {
      padding: 3px;
      top: -3px;
      left: -3px; }

.fotorama__thumb {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%; }
  .fotorama__nav__frame:focus .fotorama__thumb {
    z-index: 2; }

.fotorama__thumb-border {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0;
  border-style: solid;
  border-color: #00b0eb;
  background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.25), rgba(64, 64, 64, 0.1)); }

.fotorama__caption {
  position: absolute;
  z-index: 12;
  bottom: 0;
  left: 0;
  right: 0;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #000; }
  .fotorama__caption a {
    text-decoration: none;
    color: #000;
    border-bottom: 1px solid;
    border-color: rgba(0, 0, 0, 0.5); }
    .fotorama__caption a:hover {
      color: #333;
      border-color: rgba(51, 51, 51, 0.5); }
  .fotorama__wrap--rtl .fotorama__caption {
    left: auto;
    right: 0; }
  .fotorama__wrap--video .fotorama__caption, .fotorama__wrap--no-captions .fotorama__caption {
    display: none; }

.fotorama__caption__wrap {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 5px 10px; }

@keyframes spinner {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
.fotorama__wrap--css3 .fotorama__spinner {
  animation: spinner 24s infinite linear; }
.fotorama__wrap--css3 .fotorama__stage .fotorama__img,
.fotorama__wrap--css3 .fotorama__html {
  transition-property: opacity;
  transition-timing-function: linear;
  transition-duration: 0.3s; }

.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,
.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0; }

.fotorama__select {
  cursor: auto; }

.fotorama__video {
  top: 32px;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 10; }

/* Strange fix of the #66 issue (Firefox bug while sliding backwards) */
@-moz-document url-prefix() {
  .fotorama__active {
    box-shadow: 0 0 0 transparent; } }
.fotorama__arr,
.fotorama__fullscreen-icon,
.fotorama__video-play,
.fotorama__video-close {
  position: absolute;
  z-index: 11;
  cursor: pointer; }

.fotorama__arr {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 50%;
  margin-top: -16px; }

.fotorama__arr--prev {
  left: 2px;
  background-position: 0 0; }

.fotorama__arr--next {
  right: 2px;
  background-position: -32px 0; }

.fotorama__arr--disabled {
  pointer-events: none;
  cursor: default;
  *display: none;
  opacity: .1; }

.fotorama__fullscreen-icon {
  width: 32px;
  height: 32px;
  top: 2px;
  right: 2px;
  background-position: 0 -32px;
  z-index: 20; }

.fotorama__fullscreen-icon:focus,
.fotorama__arr:focus {
  border-radius: 50%; }

.fotorama--fullscreen .fotorama__fullscreen-icon {
  background-position: -32px -32px; }

.fotorama__video-play {
  width: 96px;
  height: 96px;
  left: 50%;
  top: 50%;
  margin-left: -48px;
  margin-top: -48px;
  background-position: 0 -64px;
  opacity: 0; }
  .fotorama__wrap--css2 .fotorama__video-play, .fotorama__wrap--video .fotorama__stage .fotorama__video-play {
    display: none; }
  .fotorama__loaded .fotorama__video-play, .fotorama__error .fotorama__video-play, .fotorama__nav__frame .fotorama__video-play {
    opacity: 1;
    display: block; }
  .fotorama__nav__frame .fotorama__video-play {
    width: 32px;
    height: 32px;
    margin-left: -16px;
    margin-top: -16px;
    background-position: -64px -32px; }

.fotorama__video-close {
  width: 32px;
  height: 32px;
  top: 0;
  right: 0;
  background-position: -64px 0;
  z-index: 20;
  opacity: 0; }
  .fotorama__wrap--css2 .fotorama__video-close {
    display: none; }
  .fotorama__wrap--css3 .fotorama__video-close {
    transform: translate3d(32px, -32px, 0); }
  .fotorama__wrap--video .fotorama__video-close {
    display: block;
    opacity: 1; }
  .fotorama__wrap--css3.fotorama__wrap--video .fotorama__video-close {
    transform: translate3d(0, 0, 0); }

.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,
.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon {
  opacity: 0; }
  .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,
  .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus {
    opacity: 1; }

.fotorama__wrap--video .fotorama__arr,
.fotorama__wrap--video .fotorama__fullscreen-icon {
  opacity: 0 !important; }

.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,
.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon {
  display: none; }
  .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,
  .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus {
    display: block; }
.fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr,
.fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon {
  display: none !important; }

.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus) {
  transform: translate3d(32px, -32px, 0); }
.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus) {
  transform: translate3d(-48px, 0, 0); }
.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus) {
  transform: translate3d(48px, 0, 0); }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon {
  transform: translate3d(32px, -32px, 0) !important; }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev {
  transform: translate3d(-48px, 0, 0) !important; }
.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next {
  transform: translate3d(48px, 0, 0) !important; }

.fotorama__wrap--css3 .fotorama__arr:not(:focus),
.fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus),
.fotorama__wrap--css3 .fotorama__video-play:not(:focus),
.fotorama__wrap--css3 .fotorama__video-close:not(:focus) {
  transition-property: transform, opacity;
  transition-duration: 0.3s; }

.fotorama__stage:before, .fotorama__stage:after, .fotorama__nav:before, .fotorama__nav:after {
  content: "";
  display: block;
  position: absolute;
  text-decoration: none;
  top: 0;
  bottom: 0;
  width: 10px;
  height: auto;
  z-index: 10;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 1px 100%, 5px 100%; }
.fotorama__stage:before, .fotorama__nav:before {
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.4), transparent);
  background-position: 0 0, 0 0;
  left: -10px; }
.fotorama__stage.fotorama__shadows--left:before, .fotorama__nav.fotorama__shadows--left:before {
  left: 0; }
.fotorama__stage:after, .fotorama__nav:after {
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.4), transparent);
  background-position: 100% 0, 100% 0;
  right: -10px; }
.fotorama__stage.fotorama__shadows--right:after, .fotorama__nav.fotorama__shadows--right:after {
  right: 0; }

.fotorama--fullscreen .fotorama__stage:before, .fotorama--fullscreen .fotorama__stage:after,
.fotorama--fullscreen .fotorama__nav:before,
.fotorama--fullscreen .fotorama__nav:after,
.fotorama__wrap--no-shadows .fotorama__stage:before,
.fotorama__wrap--no-shadows .fotorama__stage:after,
.fotorama__wrap--no-shadows .fotorama__nav:before,
.fotorama__wrap--no-shadows .fotorama__nav:after,
.fotorama__wrap--fade .fotorama__stage:before,
.fotorama__wrap--fade .fotorama__stage:after {
  display: none; }

.inline-gallery-outer {
  margin: 1.75em 0; }

.fotorama {
  background: #111;
  padding: 2px 2px 0 2px; }

.fotorama__caption__wrap {
  background: rgba(0, 0, 0, 0.6);
  color: #fff; }

.fotorama__caption {
  bottom: auto;
  bottom: 1.2%;
  left: 50%;
  right: 1%;
  width: 100%;
  font-size: 13px; }

.fotorama__caption__wrap {
  transform: translateX(-50%);
  text-align: center; }

.single-content-text img {
  max-width: 100%;
  height: auto; }
.single-content-text img, .single-content-text figure {
  display: block; }
  .single-content-text img.aligncenter, .single-content-text figure.aligncenter {
    margin: 1.5rem auto; }
.single-content-text figure {
  max-width: 100%;
  margin: 1.75rem 0; }
  .single-content-text figure.aligncenter, .single-content-text figure.alignnone {
    margin-left: auto;
    margin-right: auto; }
  .single-content-text figure img {
    margin: 0; }
    .single-content-text figure img.aligncenter, .single-content-text figure img.alignnone, .single-content-text figure img.alignleft, .single-content-text figure img.alignright {
      max-width: 100%;
      margin-left: 0;
      margin-right: 0; }
.single-content-text figcaption {
  font-size: 0.875rem;
  line-height: 1.333;
  font-style: italic;
  text-align: left;
  padding: 0.333rem 0 0; }
.single-content-text a[rel^='attachment'] {
  display: inline-block;
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .single-content-text a[rel^='attachment'] img, .single-content-text a[rel^='attachment'] figure {
    margin-top: 0;
    margin-bottom: 0; }
.single-content-text figure a[rel^='attachment'] {
  margin-top: 0;
  margin-bottom: 0; }
@media screen and (min-width: 53.2em) {
  .single-content-text img.alignleft, .single-content-text figure.alignleft {
    float: left;
    margin-right: 1.75rem;
    margin-left: 0;
    max-width: 50%; }
  .single-content-text img.alignright, .single-content-text figure.alignright {
    float: right;
    margin-left: 1.75rem;
    margin-right: 0;
    max-width: 50%; }
  .single-content-text figure img.alignleft, .single-content-text figure img.alignright {
    float: none;
    margin: 0; } }

.single-content-text blockquote {
  position: relative;
  margin: 2rem 0 2rem 0.75rem;
  color: #ed1c25;
  font-size: 1.33rem;
  line-height: 1.4663;
  font-weight: 300; }
  .single-content-text blockquote > p {
    margin-left: 1.6em;
    margin-bottom: 0.5em; }
    .single-content-text blockquote > p cite {
      text-indent: 0; }
  .single-content-text blockquote:before {
    display: block;
    position: absolute;
    top: -0.2em;
    left: 0;
    float: left;
    margin: 0 0.25em 0 0;
    content: '\201C';
    font-size: 3em;
    font-style: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 65.063em) {
    .single-content-text blockquote {
      font-size: 1.25rem;
      margin: 1.5em 5%; } }
.single-content-text cite {
  display: block;
  margin-top: 0.5em;
  margin-left: 2rem;
  font-size: 1rem;
  line-height: 1.333; }
  .single-content-text cite:before {
    content: '\2014'; }

.single-content-text 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: 2rem 0;
  width: 100%; }
.single-content-text th {
  font-weight: 700;
  padding: 0.5rem;
  text-align: left; }
.single-content-text tr,
.single-content-text td,
.single-content-text th {
  vertical-align: top; }
.single-content-text thead {
  border-bottom-color: #eee; }
  .single-content-text thead tr {
    background-color: #eee; }
  .single-content-text thead td, .single-content-text thead th {
    padding: 0.5rem;
    font-weight: bold; }
    .single-content-text thead td:last-of-type, .single-content-text thead th:last-of-type {
      border-right: 0; }
.single-content-text tbody td, .single-content-text tbody th {
  padding: 0.5rem; }
.single-content-text tbody tr:nth-child(even) {
  background: #fafafa; }

.single-content-text ul, .single-content-text ol {
  padding-left: 2em;
  margin: 1.5em 0;
  list-style-type: disc; }
.single-content-text ol {
  list-style-type: decimal; }
.single-content-text li {
  margin: 0.5em 0; }
.single-content-text p {
  margin: 0.25em 0 1em; }

a.label {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.3rem 0.5rem 0.35rem;
  max-width: 75%;
  color: #fff;
  background: #0479b3;
  font-size: 0.75em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  z-index: 2;
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 94%, 4px 100%);
  clip-path: polygon(0 0, 100% 0%, 100% 94%, 4px 100%); }
  a.label:hover, a.label:focus {
    background: #058acc; }

.member-info .member-info-block {
  background: #fff;
  padding: 1rem;
  margin-bottom: 2rem; }
.member-info h2 {
  margin-top: 0;
  font-weight: 300;
  font-size: 1.33em; }
.member-info dt {
  margin-top: 1em;
  font-size: 0.9em;
  font-weight: 700; }
.member-info dd {
  margin: 0; }
.member-info .member-info-contacts dl {
  overflow: hidden;
  padding-bottom: 1.25em;
  border-bottom: 1px solid #ddd; }
  .member-info .member-info-contacts dl:last-child {
    padding-bottom: 0;
    border-bottom: none; }

@media screen and (min-width: 53.2em) {
  .single-content-text .member-info dt {
    clear: left;
    float: left;
    width: 10rem;
    margin-top: 0;
    padding-top: 0.7rem; } }
@media screen and (min-width: 53.2em) {
  .single-content-text .member-info dd {
    padding: 0.55rem 0 0 11rem; } }

.member-logo {
  margin-bottom: 2rem; }
  .member-logo img {
    max-width: 100%;
    height: auto; }

.member-sections ul {
  overflow: hidden; }
.member-sections li {
  float: left; }
.member-sections a {
  display: inline-block;
  padding: 0.333em 0.5em;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  background: #0479b3;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.2em;
  color: #fff;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out; }
  .member-sections a:hover, .member-sections a:focus {
    background: #03689a; }

.member-info-links dd {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.member-info-files li {
  margin-bottom: 0.5em;
  line-height: 1.333; }
  .member-info-files li:last-child {
    margin-bottom: 0; }
.member-info-files a {
  word-wrap: break-word; }

.post-loop-item.type-member .member-sections {
  position: absolute;
  right: 1em;
  bottom: 1em;
  left: 1em; }
  .post-loop-item.type-member .member-sections li {
    line-height: 1em; }
  .post-loop-item.type-member .member-sections a {
    font-size: 0.75rem;
    margin-right: 1px;
    margin-bottom: 1px; }
.post-loop-item.type-member > a:first-of-type {
  padding-bottom: 5em; }

.tax-category_membership header .archive-title span {
  display: none; }
.tax-category_membership .archive-header-content {
  min-height: auto; }

@media screen and (min-width: 53.2em) {
  .category-top-level.widget.widget_nav_menu ul {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2; }
    .category-top-level.widget.widget_nav_menu ul li {
      margin: 0;
      padding-bottom: 0.75em;
      -webkit-column-break-inside: avoid; } }

.sidebar.category-search-filters {
  background-color: white;
  padding: 0 1em 1em; }
  .sidebar.category-search-filters .category-sub-level.with-children {
    margin-bottom: 1.5em; }
    .sidebar.category-search-filters .category-sub-level.with-children span {
      font-weight: 700; }
  .sidebar.category-search-filters .category-sub-level label {
    display: inline-table;
    width: 90%; }

.mega-menu-mask {
  display: none;
  opacity: 0; }
  .mega-menu-mask.active {
    display: block;
    position: absolute;
    width: 100%;
    right: 0;
    left: 0;
    background: rgba(150, 150, 150, 0.5);
    z-index: 9;
    opacity: 1; }

#nav {
  display: block;
  width: 100%;
  position: relative; }
  @media screen and (min-width: 65.063em) {
    #nav {
      display: block; }
      #nav::after {
        clear: both;
        content: "";
        display: table; } }
  #nav ul {
    display: none;
    background: #f1f1f1; }
    @media screen and (min-width: 65.063em) {
      #nav ul {
        background: transparent; } }
    #nav ul:before, #nav ul:after {
      content: "";
      display: table; }
    #nav ul:after {
      clear: both; }
    #nav ul li {
      display: block;
      line-height: 1.4663; }
    #nav ul a {
      display: block;
      padding: 1.3rem 1.4rem;
      text-decoration: none; }
  #nav > ul {
    clear: left;
    margin-bottom: 1em; }
    @media screen and (min-width: 65.063em) {
      #nav > ul {
        display: block;
        float: right;
        clear: none;
        margin: 0 2.7rem 0 168px; } }
    #nav > ul > li {
      width: 100%; }
      #nav > ul > li.open > a:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 1.25em;
        left: 0;
        right: 0;
        height: 2px;
        margin: 0 1.1rem;
        background-color: #000; }
      #nav > ul > li.open > .sub-menu {
        background-image: url("../../img/body/bg_left.png");
        background-repeat: no-repeat;
        background-position-y: 65px; }
        #nav > ul > li.open > .sub-menu > li > a:after {
          content: ''; }
      @media screen and (min-width: 65.063em) {
        #nav > ul > li {
          float: left;
          width: auto;
          border: none; }
          #nav > ul > li.current-menu-item > a:after, #nav > ul > li.current-menu-ancestor > a:after, #nav > ul > li.current-page-ancestor > a:after {
            content: '';
            display: block;
            position: absolute;
            bottom: 1.25em;
            left: 0;
            right: 0;
            height: 2px;
            margin: 0 1.1rem;
            background-color: #ed1c25; } }
      #nav > ul > li > a {
        text-transform: uppercase;
        font-size: 0.875rem;
        font-weight: 300;
        padding: 1.5em;
        width: 100%; }
        @media screen and (min-width: 65.063em) {
          #nav > ul > li > a {
            position: relative;
            padding: 1.9rem 1.1rem 1.5rem;
            color: #222; }
            #nav > ul > li > a:hover {
              color: #222; } }
  #nav > ul > li > ul {
    position: relative;
    padding-bottom: 1em; }
    @media screen and (min-width: 65.063em) {
      #nav > ul > li > ul {
        width: 100%;
        padding: 1.5em;
        position: absolute;
        z-index: 99;
        left: 0;
        background: #fff;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } }
    #nav > ul > li > ul.normal-sub {
      width: 100%;
      padding-bottom: 2em; }
      #nav > ul > li > ul.normal-sub > li {
        margin: 0; }
      #nav > ul > li > ul.normal-sub > li > a {
        font-weight: 400;
        border-bottom: none; }
      @media screen and (min-width: 65.063em) {
        #nav > ul > li > ul.normal-sub {
          width: 300px;
          left: auto;
          padding: 2em 1em; }
          #nav > ul > li > ul.normal-sub > li {
            width: 100%; } }
    #nav > ul > li > ul > li {
      width: 100%;
      margin: 0 0 2em; }
      @media screen and (min-width: 65.063em) {
        #nav > ul > li > ul > li {
          width: 25%;
          float: left; } }
      #nav > ul > li > ul > li > a {
        display: block;
        margin: 0 1.5rem;
        padding: 0.5rem 0;
        font-weight: 700;
        border-bottom: 1px solid #0479b3; }
        @media screen and (min-width: 65.063em) {
          #nav > ul > li > ul > li > a {
            margin: 0 0.75em; } }
  #nav > ul > li > ul > li > ul {
    position: relative;
    display: block;
    margin-top: 0.5em; }
    #nav > ul > li > ul > li > ul > li {
      float: none; }
      #nav > ul > li > ul > li > ul > li > a {
        padding: 0.5em 2em; }
        @media screen and (min-width: 65.063em) {
          #nav > ul > li > ul > li > ul > li > a {
            padding: 0.333em 1em 0.333em 0.75em; } }
  #nav .has-sub-menu {
    position: relative; }
    @media screen and (min-width: 65.063em) {
      #nav .has-sub-menu {
        position: static; } }
    #nav .has-sub-menu:before {
      content: "+";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: auto;
      cursor: pointer;
      padding: 1.3em 1.5em;
      color: #0479b3; }
      @media screen and (min-width: 65.063em) {
        #nav .has-sub-menu:before {
          display: none; } }
  #nav .menu-toggle {
    display: block;
    float: right;
    margin-right: 3rem;
    padding: 0.8rem;
    font-size: 34px;
    color: #333; }
    #nav .menu-toggle:hover, #nav .menu-toggle:focus {
      color: #0479b3; }
    #nav .menu-toggle span {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    @media screen and (min-width: 65.063em) {
      #nav .menu-toggle {
        display: none; } }
  #nav .show-on-mobile {
    display: block; }

.not-found-loop-item {
  position: relative;
  background: #fff;
  margin: 0 0 1.333em 0;
  padding: 1rem; }
  @media screen and (min-width: 53.2em) {
    .not-found-loop-item {
      padding: 1.5rem; } }
  .not-found-loop-item h2 {
    margin: 0 0 0.5em;
    font-weight: 300;
    display: block; }

.posts-navigation {
  clear: both;
  padding: 2.5em 0; }
  .posts-navigation .nav-links {
    text-align: center; }
  .posts-navigation .nav-previous,
  .posts-navigation .nav-next {
    display: inline-block;
    font-size: 2.5em;
    margin: 0 1em; }
    .posts-navigation .nav-previous a > span,
    .posts-navigation .nav-next a > span {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .posts-navigation .nav-previous a:after,
    .posts-navigation .nav-next a:after {
      font-weight: 100; }

.numbered-pagination {
  clear: both;
  padding: 2.5em 0;
  text-align: center; }
  .numbered-pagination > * {
    margin: 0 0.5em; }

#comments {
  margin: 2.5em 0; }

.post-loop-item {
  position: relative;
  background: #fff;
  margin: 0 0 1.333em 0; }
  .post-loop-item > a:first-of-type {
    padding-bottom: 3em;
    font-weight: 300;
    display: block;
    overflow: hidden;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out; }
    .post-loop-item > a:first-of-type:hover, .post-loop-item > a:first-of-type:focus {
      background: #fafafa;
      outline: 1px solid #e9e9e9; }
  .post-loop-item.has-post-thumbnail .post-loop-item-wrap {
    display: block;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column; }
    .post-loop-item.has-post-thumbnail .post-loop-item-wrap .post-loop-item-text {
      -webkit-box-ordinal-group: 2;
      -moz-box-ordinal-group: 2;
      box-ordinal-group: 2;
      -webkit-order: 2;
      -moz-order: 2;
      order: 2;
      -ms-flex-order: 2; }
    .post-loop-item.has-post-thumbnail .post-loop-item-wrap .post-loop-item-image {
      -webkit-box-ordinal-group: 1;
      -moz-box-ordinal-group: 1;
      box-ordinal-group: 1;
      -webkit-order: 1;
      -moz-order: 1;
      order: 1;
      -ms-flex-order: 1; }
    .post-loop-item.has-post-thumbnail .post-loop-item-wrap .post-loop-item-excerpt {
      -webkit-box-ordinal-group: 3;
      -moz-box-ordinal-group: 3;
      box-ordinal-group: 3;
      -webkit-order: 3;
      -moz-order: 3;
      order: 3;
      -ms-flex-order: 3; }

.post-loop-item-wrap h2 {
  margin: 4rem 1rem 1rem;
  font-size: 1.5em;
  font-weight: 300; }
.post-loop-item-wrap .meta {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 300;
  font-size: 0.8125em;
  position: absolute;
  bottom: 0.666rem;
  color: #333;
  left: 1rem; }

.post-type-archive-event .event-date, .post-type-archive-event .event-city {
  font-weight: bold;
  text-transform: none; }

.post-loop-item.has-post-thumbnail .post-loop-item-wrap h2 {
  padding: 0;
  margin-top: 1rem;
  font-size: 1.333em;
  line-height: 1.333;
  word-wrap: break-word; }

.post-loop-item-image {
  flex-shrink: 0; }
  .post-loop-item-image a, .post-loop-item-image img {
    display: block; }
  .post-loop-item-image img {
    width: 100%;
    height: auto; }

.post-loop-item-excerpt {
  margin: 0 1rem;
  color: #333;
  font-size: 0.9em; }
  .post-loop-item-excerpt p {
    margin: 0; }

.post-author {
  position: relative;
  margin: 2.5em 0;
  background: #fff;
  padding: 1em;
  min-height: 9.7em; }
  .post-author .post-author-meta {
    margin: 1rem 0 1rem 27%;
    font-size: 0.9em; }
  .post-author h2 {
    margin: 0 0 0.1em;
    font-size: 1.333em; }
    .post-author h2 span {
      display: block;
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 300;
      margin-bottom: 0.1em; }
  .post-author [itemprop="jobTitle"] {
    font-size: 1.25em;
    line-height: 1.333;
    font-weight: 300; }
  .post-author [itemprop="telephone"], .post-author [itemprop="email"] {
    font-size: 0.9em;
    opacity: 0.8;
    display: inline-block;
    margin: 0.5em 1em 0 0; }
  .post-author .post-author-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 25%;
    overflow: hidden;
    -webkit-clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%); }
    .post-author .post-author-image img {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -moz-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      height: 100%;
      width: auto; }

.search-loop-item {
  position: relative;
  background: #fff;
  margin: 0 0 1.333em 0;
  padding: 1rem; }
  @media screen and (min-width: 53.2em) {
    .search-loop-item {
      padding: 1.5rem; } }
  .search-loop-item h2 {
    margin: 0 0 0.5em;
    font-weight: 300;
    display: block; }
  .search-loop-item .meta {
    overflow: hidden; }
  .search-loop-item time {
    float: left;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 300;
    font-size: 0.8125em;
    line-height: 1.33em;
    padding: 0 1rem 0 0;
    margin: 0;
    color: #333; }
  .search-loop-item .link-url {
    float: left;
    font-size: 0.8125em;
    line-height: 1.33em;
    word-wrap: break-word;
    color: #333; }

form.search-form {
  background: #fff;
  padding: 0.75em;
  margin-bottom: 1.333rem;
  float: right; }
  form.search-form input {
    font-size: 0.9em;
    float: left; }
    form.search-form input[type="search"] {
      min-width: 220px;
      margin-right: 0.25rem;
      padding: 0.333em; }
  form.search-form button, form.search-form input[type="submit"] {
    display: inline-block;
    position: relative;
    top: 1px; }
  form.search-form.header-search-form {
    display: none;
    float: none;
    text-align: right;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); }
    form.search-form.header-search-form label {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    form.search-form.header-search-form input {
      width: 100px; }
      form.search-form.header-search-form input[type="search"] {
        min-width: 0; }

.members {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  .members::after {
    clear: both;
    content: "";
    display: table; }
  .members .post-loop-item {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%; }
    .members .post-loop-item:last-child {
      margin-right: 0; }
    @media screen and (min-width: 53.2em) {
      .members .post-loop-item {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .members .post-loop-item:last-child {
          margin-right: 0; }
        .members .post-loop-item:nth-child(2n) {
          margin-right: 0; }
        .members .post-loop-item:nth-child(2n+1) {
          clear: left; } }
    @media screen and (min-width: 65.063em) {
      .members .post-loop-item {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%; }
        .members .post-loop-item:nth-child(2n) {
          margin-right: 2.35765%; }
        .members .post-loop-item:nth-child(2n+1) {
          clear: none; }
        .members .post-loop-item:last-child {
          margin-right: 0; }
        .members .post-loop-item:nth-child(3n) {
          margin-right: 0; }
        .members .post-loop-item:nth-child(3n+1) {
          clear: left; } }
    .members .post-loop-item .member-sections {
      list-style: none;
      padding: 0;
      margin: 0;
      position: absolute;
      right: 1em;
      bottom: 1em;
      left: 1em; }
      .members .post-loop-item .member-sections li {
        line-height: 1em;
        margin: 0; }

.peytzmail-shortcode {
  position: relative;
  overflow: hidden;
  margin: 2em 0;
  padding: 1rem;
  background: #fff; }
  .peytzmail-shortcode h2 {
    margin-top: 0; }

.single-content-text {
  margin-bottom: 2.75em; }
  .single-content-text .excerpt {
    font-size: 1.25em;
    font-weight: 300;
    line-height: 1.53295; }
    @media screen and (min-width: 53.2em) {
      .single-content-text .excerpt {
        font-size: 1.333em; } }
    .single-content-text .excerpt p {
      margin-top: 0; }
  .single-content-text ul, .single-content-text ol {
    padding-left: 2em;
    margin: 1.5em 0;
    list-style-type: disc; }
  .single-content-text ol {
    list-style-type: decimal; }
  .single-content-text li {
    margin: 0.5em 0; }
  .single-content-text p {
    margin: 0.25em 0 1em; }
  .single-content-text .source {
    margin: 1.5em 0;
    font-style: italic;
    font-size: 0.9em;
    font-weight: 700; }

.single-header {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column; }
  .single-header h1 {
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    box-ordinal-group: 3;
    -webkit-order: 3;
    -moz-order: 3;
    order: 3;
    -ms-flex-order: 3; }
  .single-header .wp-post-image-wrap {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    box-ordinal-group: 1;
    -webkit-order: 1;
    -moz-order: 1;
    order: 1;
    -ms-flex-order: 1;
    flex-shrink: 0;
    margin: 0 0 1.333rem;
    box-sizing: border-box; }
    .single-header .wp-post-image-wrap img {
      display: block;
      width: 100%;
      height: auto; }
    .single-header .wp-post-image-wrap figcaption {
      padding-top: 0.333em;
      font-size: 0.8125rem;
      font-style: italic; }
  .single-header .single-meta {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    -webkit-order: 2;
    -moz-order: 2;
    order: 2;
    -ms-flex-order: 2;
    margin-bottom: 1.1rem; }
  .single-header .post-categories {
    float: left; }
    .single-header .post-categories li {
      display: inline-block; }
  .single-header .post-categories a, .single-header a.archive-link {
    display: inline-block;
    padding: 0.333em 0.5em;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    background: #0479b3;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.2em;
    color: #fff;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    margin-bottom: 0; }
    .single-header .post-categories a:hover, .single-header .post-categories a:focus, .single-header a.archive-link:hover, .single-header a.archive-link:focus {
      background: #03689a; }
  .single-header time {
    display: inline-block;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 300;
    padding: 0.333em 0 0;
    line-height: 1.2em; }

.single-term-banner {
  position: relative;
  overflow: hidden;
  background: #ebebeb;
  padding: 1.75em 0 1.5em;
  border-bottom: 1px solid #ddd; }
  .single-term-banner .term-banner-image {
    display: none;
    -webkit-clip-path: polygon(10% 100%, 100% 90%, 100% 0px, 0px 0px);
    clip-path: polygon(10% 100%, 100% 90%, 100% 0px, 0px 0px); }
    @media screen and (min-width: 65.063em) {
      .single-term-banner .term-banner-image {
        display: block;
        position: absolute;
        top: 0;
        right: 0; }
        .single-term-banner .term-banner-image img {
          width: 100%;
          height: auto;
          display: block;
          width: 500px; } }
    @media screen and (min-width: 80.063em) {
      .single-term-banner .term-banner-image img {
        width: 600px; } }
  .single-term-banner .term-banner-title {
    margin: 0;
    font-size: 1.5em; }
    .single-term-banner .term-banner-title a {
      font-weight: 400; }
    .single-term-banner .term-banner-title > span a {
      color: #333;
      font-weight: 300; }

.related-content {
  margin: 2.75em 0 2.5em; }
  .related-content h1 {
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 700;
    margin-bottom: 1em; }

.term-loop-item {
  position: relative;
  background: #fff;
  margin: 0 0 1.333em 0; }
  .term-loop-item a {
    font-weight: 300;
    display: block;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out; }
    .term-loop-item a:hover, .term-loop-item a:focus {
      background: #fafafa;
      outline: 1px solid #e9e9e9; }
  .term-loop-item.has-term-thumbnail .term-loop-item-wrap {
    display: block;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column; }
    .term-loop-item.has-term-thumbnail .term-loop-item-wrap .term-loop-item-text {
      -webkit-box-ordinal-group: 2;
      -moz-box-ordinal-group: 2;
      box-ordinal-group: 2;
      -webkit-order: 2;
      -moz-order: 2;
      order: 2;
      -ms-flex-order: 2; }
    .term-loop-item.has-term-thumbnail .term-loop-item-wrap .term-loop-item-image {
      -webkit-box-ordinal-group: 1;
      -moz-box-ordinal-group: 1;
      box-ordinal-group: 1;
      -webkit-order: 1;
      -moz-order: 1;
      order: 1;
      -ms-flex-order: 1; }

.term-loop-item-text {
  padding: 1.25em 1em 1.5em; }
  .term-loop-item-text h2 {
    margin-top: 0;
    margin-bottom: 0.5em;
    font-size: 1.5em;
    line-height: 1.333;
    font-weight: 300;
    word-wrap: break-word; }
  .term-loop-item-text .term-loop-item-excerpt {
    color: #333; }

.term-loop-item-image a, .term-loop-item-image img {
  display: block; }
.term-loop-item-image img {
  width: 100%; }

h2.widgettitle {
  margin-bottom: 1em;
  font-size: 0.875em;
  text-transform: uppercase;
  font-weight: 700; }

.widget {
  margin: 0 0 3rem; }
  .widget p {
    margin-top: 0;
    margin-bottom: 1em; }
  .widget ul {
    padding: 0;
    list-style: none; }
  .widget li {
    margin: 0 0 0.5em;
    line-height: 1.333; }
  .widget a {
    text-decoration: none; }

.widget-button {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.66em 1em;
  color: #fff;
  background: #0479b3;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 300;
  -webkit-clip-path: polygon(0 5px, 100% 0%, 100% 100%, 4px 100%);
  clip-path: polygon(0 5px, 100% 0%, 100% 100%, 4px 100%); }
  .widget-button:hover, .widget-button:focus {
    color: #fff;
    background: #058acc; }

.widget_pli_advert {
  position: relative;
  background: #fafafa; }
  .widget_pli_advert a {
    display: block; }
  .widget_pli_advert img {
    margin: auto;
    display: block;
    padding: 1.5em;
    max-width: 100%; }
  .widget_pli_advert .advert-label {
    position: absolute;
    top: 0.2rem;
    left: 1.5rem;
    right: 1.5rem;
    font-size: 0.75em;
    text-align: center;
    opacity: 0.5; }

.sidebar .widget_pli_advert img {
  padding: 1.5em 0.5em; }

.widget_pli_cta {
  position: relative;
  overflow: hidden;
  background: #fff; }
  .widget_pli_cta a {
    color: #333;
    text-decoration: none; }
  .widget_pli_cta p {
    margin: 0;
    padding: 1.5rem;
    font-size: 1.333em;
    line-height: 1.333;
    font-weight: 300; }
    .widget_pli_cta p span {
      display: block;
      padding-top: 1em;
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 300;
      font-size: 0.9rem;
      line-height: 1.5em;
      color: #0479b3;
      font-weight: 400; }
  .widget_pli_cta .cta-title {
    position: relative; }
    .widget_pli_cta .cta-title h2 {
      position: relative;
      z-index: 2;
      padding: 1.25rem 1.5rem 2rem;
      margin: 0;
      color: #fff;
      background: rgba(30, 174, 30, 0.2);
      font-family: "Roboto Condensed", "Roboto", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 1.7em;
      font-weight: 700;
      line-height: 1.2;
      text-transform: uppercase;
      font-style: italic;
      -webkit-clip-path: polygon(0 0, 97% 0, 94% 100%, 0 90%);
      clip-path: polygon(0 0, 97% 0, 94% 100%, 0 90%); }
    .widget_pli_cta .cta-title .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #0580f2;
      -webkit-clip-path: polygon(0 0, 99% 0, 97% 90%, 0 80%);
      clip-path: polygon(0 0, 99% 0, 97% 90%, 0 80%); }

#nav .menu-widgets {
  display: none; }
  #nav .menu-widgets .widget_pli_cta {
    background-color: transparent; }
    #nav .menu-widgets .widget_pli_cta a {
      padding: 0rem 1rem; }
    #nav .menu-widgets .widget_pli_cta p {
      padding: 1rem;
      font-size: 1.233em; }
  #nav .menu-widgets .widget_pli_frontpage_news_specific .news-item {
    padding: 0; }
  #nav .menu-widgets .widget_pli_frontpage_news_specific a.label {
    padding: 0.3rem 0.5rem 0.35rem; }
  #nav .menu-widgets .post-loop-item.has-post-thumbnail {
    margin: 0 0.75em; }
    #nav .menu-widgets .post-loop-item.has-post-thumbnail .post-loop-item-wrap h2 {
      padding-bottom: 20px; }
  @media screen and (min-width: 65.063em) {
    #nav .menu-widgets {
      display: block; } }

.widget_pli_cta ~ .widget_pli_cta .cta-title h2 {
  background: rgba(5, 128, 242, 0.2);
  -webkit-clip-path: polygon(3% 0, 100% 0, 100% 100%, 5% 95%);
  clip-path: polygon(3% 0, 100% 0, 100% 100%, 5% 95%); }
.widget_pli_cta ~ .widget_pli_cta .cta-title .layer {
  background: #69c699;
  -webkit-clip-path: polygon(1% 0, 100% 0, 100% 90%, 3% 80%);
  clip-path: polygon(1% 0, 100% 0, 100% 90%, 3% 80%); }

@media screen and (min-width: 53.2em) {
  .frontpage-content-widget.widget_pli_cta p, .before-footer-widgets.widgets-1 .before-footer-widget.widget_pli_cta p {
    padding: 3.5rem 3rem;
    padding-right: 20.5rem;
    font-size: 2em; } }
@media screen and (min-width: 53.2em) {
  .frontpage-content-widget.widget_pli_cta .cta-title, .before-footer-widgets.widgets-1 .before-footer-widget.widget_pli_cta .cta-title {
    height: 100%;
    width: 19rem;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0; }
    .frontpage-content-widget.widget_pli_cta .cta-title h2, .before-footer-widgets.widgets-1 .before-footer-widget.widget_pli_cta .cta-title h2 {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 18% 100%, 0 76%);
      clip-path: polygon(30% 0, 100% 0, 100% 100%, 18% 100%, 0 76%);
      padding: 3.5rem 2rem 2rem 3.5rem;
      text-align: right; }
    .frontpage-content-widget.widget_pli_cta .cta-title .layer, .before-footer-widgets.widgets-1 .before-footer-widget.widget_pli_cta .cta-title .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      -webkit-clip-path: polygon(25% 0, 100% 0, 100% 100%, 27% 100%, 0 66%);
      clip-path: polygon(25% 0, 100% 0, 100% 100%, 27% 100%, 0 66%); } }

.before-footer .before-footer-widgets {
  max-width: 74.25em;
  margin-left: auto;
  margin-right: auto; }
  .before-footer .before-footer-widgets::after {
    clear: both;
    content: "";
    display: table; }
  .before-footer .before-footer-widgets .before-footer-widget {
    margin-bottom: 1.333em; }
    .before-footer .before-footer-widgets .before-footer-widget img {
      max-width: 100%;
      height: auto; }
  @media screen and (min-width: 53.2em) {
    .before-footer .before-footer-widgets.widgets-2 .before-footer-widget {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .before-footer .before-footer-widgets.widgets-2 .before-footer-widget:last-child {
        margin-right: 0; }
      .before-footer .before-footer-widgets.widgets-2 .before-footer-widget:nth-child(2n) {
        margin-right: 0; }
      .before-footer .before-footer-widgets.widgets-2 .before-footer-widget:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 53.2em) {
    .before-footer .before-footer-widgets.widgets-3 .before-footer-widget {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .before-footer .before-footer-widgets.widgets-3 .before-footer-widget:last-child {
        margin-right: 0; }
      .before-footer .before-footer-widgets.widgets-3 .before-footer-widget:nth-child(3n) {
        margin-right: 0; }
      .before-footer .before-footer-widgets.widgets-3 .before-footer-widget:nth-child(3n+1) {
        clear: left; } }
  @media screen and (min-width: 53.2em) {
    .before-footer .before-footer-widgets .widget_pli_frontpage_teaser {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .before-footer .before-footer-widgets .widget_pli_frontpage_teaser:last-child {
        margin-right: 0; }
      .before-footer .before-footer-widgets .widget_pli_frontpage_teaser:nth-child(4n) {
        margin-right: 2.35765%; }
      .before-footer .before-footer-widgets .widget_pli_frontpage_teaser:nth-child(4n+1) {
        clear: none; }
      .before-footer .before-footer-widgets .widget_pli_frontpage_teaser:nth-child(2n) {
        margin-right: 0; }
      .before-footer .before-footer-widgets .widget_pli_frontpage_teaser:nth-child(2n+1) {
        clear: left; } }

.widget_pli_events_upcoming {
  position: relative;
  overflow: hidden;
  background: #fff; }
  .widget_pli_events_upcoming .events-title {
    position: relative;
    max-width: 50em; }
    .widget_pli_events_upcoming .events-title h2.widgettitle {
      position: relative;
      padding: 1.75rem 1.5rem 2.75rem;
      margin: 0;
      color: #fff;
      background: rgba(30, 174, 30, 0.15);
      font-size: 2em;
      font-weight: 400;
      line-height: 1.333;
      text-transform: none;
      -webkit-clip-path: polygon(0 0, 97% 0, 94% 100%, 0 90%);
      clip-path: polygon(0 0, 97% 0, 94% 100%, 0 90%);
      z-index: 999; }
      .widget_pli_events_upcoming .events-title h2.widgettitle > span {
        display: block;
        text-transform: uppercase;
        font-size: 0.875rem;
        font-weight: 300;
        font-style: normal; }
    .widget_pli_events_upcoming .events-title .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #0580f2;
      -webkit-clip-path: polygon(0 0, 100% 0, 97% 90%, 0 80%);
      clip-path: polygon(0 0, 100% 0, 97% 90%, 0 80%); }
    .widget_pli_events_upcoming .events-title .layer-bg {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-image: url("http://plast.wp.prod.ng.peytz.dk/wp-content/uploads/2016/04/WalterBlunckfortaelleromVinktilinhousemessen580x300.jpg");
      background-position: center center;
      background-size: cover;
      opacity: 0.2;
      -webkit-clip-path: polygon(0 0, 100% 0, 97% 90%, 0 80%);
      clip-path: polygon(0 0, 100% 0, 97% 90%, 0 80%); }
  .widget_pli_events_upcoming .events-list {
    max-width: 74.25em;
    margin-left: auto;
    margin-right: auto;
    padding: 0.75em 1.5em 3.5em; }
    .widget_pli_events_upcoming .events-list::after {
      clear: both;
      content: "";
      display: table; }
  .widget_pli_events_upcoming article {
    position: relative; }
    @media screen and (min-width: 65.063em) {
      .widget_pli_events_upcoming article {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .widget_pli_events_upcoming article:last-child {
          margin-right: 0; }
        .widget_pli_events_upcoming article:nth-child(2n) {
          margin-right: 0; }
        .widget_pli_events_upcoming article:nth-child(2n+1) {
          clear: left; } }
    .widget_pli_events_upcoming article > a {
      display: block;
      padding: 0.8em 0;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column;
      color: #333;
      text-decoration: none;
      border-bottom: 1px solid #ddd; }
      .widget_pli_events_upcoming article > a:hover, .widget_pli_events_upcoming article > a:focus {
        border-bottom-color: #035781; }
        .widget_pli_events_upcoming article > a:hover .read-more, .widget_pli_events_upcoming article > a:focus .read-more {
          color: #035781; }
  .widget_pli_events_upcoming h3 {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    -webkit-order: 2;
    -moz-order: 2;
    order: 2;
    -ms-flex-order: 2;
    margin: 0 8em 0 0;
    font-size: 1em;
    font-weight: 400; }
  .widget_pli_events_upcoming .info {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    box-ordinal-group: 1;
    -webkit-order: 1;
    -moz-order: 1;
    order: 1;
    -ms-flex-order: 1;
    font-weight: 700; }
  .widget_pli_events_upcoming .read-more {
    position: absolute;
    right: 0;
    bottom: 0.75em;
    color: #0479b3; }

body:not(.home) .widget_pli_events_upcoming article h3 {
  font-size: 0.9em; }
@media screen and (min-width: 65.063em) {
  body:not(.home) .widget_pli_events_upcoming article {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%; }
    body:not(.home) .widget_pli_events_upcoming article:last-child {
      margin-right: 0; } }

.widget_pli_latest_news_teaser {
  overflow: hidden;
  position: relative;
  min-height: 250px;
  background: #fff; }
  .widget_pli_latest_news_teaser .text {
    margin: 2em 1em 2em 35%; }
    .widget_pli_latest_news_teaser .text h2.widgettitle {
      font-size: 1.666em;
      font-weight: 300;
      margin-bottom: 0.5em; }
    .widget_pli_latest_news_teaser .text p {
      font-size: 1.25em;
      font-weight: 300;
      line-height: 1.53295;
      font-size: 1.1em !important; }
      @media screen and (min-width: 53.2em) {
        .widget_pli_latest_news_teaser .text p {
          font-size: 1.333em; } }
  .widget_pli_latest_news_teaser .image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 33%;
    overflow: hidden;
    -webkit-clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%); }
    .widget_pli_latest_news_teaser .image img {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -moz-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      height: 100%;
      width: auto; }

.frontpage-featured-widget {
  overflow: hidden;
  margin: 0;
  border-bottom: 1px solid #ddd; }
  .frontpage-featured-widget .frontpage-teaser {
    position: relative;
    display: block;
    width: 100%; }
    .frontpage-featured-widget .frontpage-teaser a {
      display: block;
      background: #fff; }
      .frontpage-featured-widget .frontpage-teaser a:hover .read-more, .frontpage-featured-widget .frontpage-teaser a:focus .read-more {
        background: #03689a; }
  .frontpage-featured-widget .text-container {
    max-width: 74.25em;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem 3%;
    background: #fff; }
    .frontpage-featured-widget .text-container::after {
      clear: both;
      content: "";
      display: table; }
  .frontpage-featured-widget h2 {
    margin: 0;
    padding: 0;
    color: #333;
    font-size: 1.75em;
    font-weight: 300;
    text-transform: none; }
  .frontpage-featured-widget p {
    color: #333;
    margin: 0.75em 0 0.25em; }
  .frontpage-featured-widget .read-more {
    display: inline-block;
    margin-top: 1em;
    padding: 0.5em;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 300;
    background: #0479b3;
    color: #fff; }
  .frontpage-featured-widget img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    -webkit-clip-path: polygon(0 0, 100% 6%, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 6%, 100% 100%, 0 100%); }

@media screen and (min-width: 53.2em) {
  .frontpage-featured-widget:only-of-type .text-container {
    padding: 5em 3%;
    min-height: 280px; } }
@media screen and (min-width: 80.063em) {
  .frontpage-featured-widget:only-of-type .text-container {
    min-height: 320px; } }
@media screen and (min-width: 80.063em) {
  .frontpage-featured-widget:only-of-type .text-container {
    min-height: 360px; } }
@media screen and (min-width: 53.2em) {
  .frontpage-featured-widget:only-of-type h2, .frontpage-featured-widget:only-of-type p {
    margin-right: 56%; } }
@media screen and (min-width: 80.063em) {
  .frontpage-featured-widget:only-of-type h2, .frontpage-featured-widget:only-of-type p {
    margin-right: 56%; } }
@media screen and (min-width: 53.2em) {
  .frontpage-featured-widget:only-of-type h2 {
    font-size: 2em; } }
@media screen and (min-width: 80.063em) {
  .frontpage-featured-widget:only-of-type h2 {
    font-size: 2.5em; } }
@media screen and (min-width: 53.2em) {
  .frontpage-featured-widget:only-of-type .image-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 51%;
    overflow: hidden; }
    .frontpage-featured-widget:only-of-type .image-container .image-clip {
      width: 100%;
      height: 100%;
      -webkit-clip-path: polygon(6% 0, 100% 0%, 100% 100%, 0 100%);
      clip-path: polygon(6% 0, 100% 0%, 100% 100%, 0 100%); } }
@media screen and (min-width: 53.2em) {
  .frontpage-featured-widget:only-of-type img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: auto;
    width: 100%;
    min-height: 100%;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); } }

@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 {
    max-width: 90em;
    margin: 0 auto 2em;
    padding: 1em 3% 0; } }
@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 .frontpage-featured-widget:nth-of-type(odd) {
    width: 66.8%;
    float: left;
    margin-right: 0.5%;
    position: relative; } }
@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 .frontpage-featured-widget:nth-of-type(odd) .text-container {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding-left: 1.5em;
    padding-right: 1.5em;
    -webkit-clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0 100%);
    clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0 100%); } }
@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 .frontpage-featured-widget:nth-of-type(odd) h2 {
    font-size: 2.25em; } }
@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 .frontpage-featured-widget:nth-of-type(odd) .image-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1; } }
@media screen and (min-width: 53.2em) {
  #frontpage-featured.widgets-2 .frontpage-featured-widget:nth-of-type(odd) .image-container img {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 94%, 0 100%);
    clip-path: polygon(0 0, 100% 0%, 100% 94%, 0 100%); } }
#frontpage-featured.widgets-2 .frontpage-featured-widget:nth-child(even) .text-container {
  padding-left: 1.5em;
  padding-right: 1.5em; }

.footer-widget {
  font-size: 0.875em;
  margin-bottom: 2em; }
  @media screen and (min-width: 53.2em) {
    .footer-widget {
      margin-bottom: 1.15em; } }
  .footer-widget h2 {
    margin-bottom: 0.5em;
    font-size: 1em;
    text-transform: uppercase;
    font-weight: 700; }
  .footer-widget p {
    margin-top: 0.2em;
    margin-bottom: 1em; }
  .footer-widget ul {
    list-style: disc; }
  .footer-widget li {
    margin: 0.2em 0 0.333em 1.5em;
    line-height: 1.333; }
  .footer-widget a {
    text-decoration: none; }
  @media screen and (min-width: 53.2em) {
    .footer-widget .no-title {
      padding-top: 2.8em; } }

.widget_pli_members_map {
  position: relative; }

#map_wrapper {
  height: 550px; }

#map_canvas {
  width: 100%;
  height: 100%;
  margin: 0 auto; }

.members-map-title {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 50em;
  z-index: 2; }
  .members-map-title .members-map-title-inner {
    position: relative;
    background: rgba(4, 102, 192, 0.7);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 3% 95%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 3% 95%); }
  .members-map-title h2.widgettitle {
    padding: 1.75rem 1.5rem 0 2rem;
    margin: 0 0 1.75rem;
    color: #fff;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.333;
    text-transform: none; }
  .members-map-title .members-map-link-archive a {
    display: block;
    padding: 0 1.75rem 1.75rem 2rem;
    margin-top: -1rem;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 300;
    font-style: normal;
    color: #fff; }

.widget.widget_nav_menu ul {
  padding: 0;
  list-style: none; }
.widget.widget_nav_menu li {
  margin: 0 0 0.75em 0;
  line-height: 1.333; }
  .widget.widget_nav_menu li.current a, .widget.widget_nav_menu li.current-menu-item a {
    background: #fafafa;
    outline: 1px solid #e9e9e9;
    border-left: 5px solid #0479b3;
    color: #035781;
    font-weight: bold; }
  .widget.widget_nav_menu li a {
    text-decoration: none;
    display: block;
    padding: 0.6em 0.75em 0.5em;
    background: #fff;
    border-left: 2px solid #ed1c25;
    -webkit-transition: border 0.2s;
    -moz-transition: border 0.2s;
    transition: border 0.2s; }
    .widget.widget_nav_menu li a:hover, .widget.widget_nav_menu li a:focus {
      border-left-color: #0479b3; }

.show-all {
  text-decoration: none;
  display: inline-block;
  padding: 0.6em 0.75em 0.5em;
  background: #fff;
  border-left: 2px solid #ed1c25; }
  .show-all:hover, .show-all:focus {
    border-left-color: #0479b3; }
  .post-type-archive-member .show-all {
    display: none; }

.people-p2p article {
  min-height: 8.5em;
  overflow: hidden;
  position: relative;
  margin: 0 0 1.5em 0;
  padding: 0.8em 1em 1em;
  background: #fff; }
.people-p2p .person-text {
  margin-top: 0.5em;
  margin-left: 27%; }
.people-p2p h3 {
  margin: 0;
  font-size: 1.1em;
  font-weight: 700; }
.people-p2p .role {
  font-size: 1em;
  font-weight: 300;
  display: inline-block;
  margin-bottom: 0.25em; }
.people-p2p [itemprop="telephone"], .people-p2p [itemprop="email"] {
  font-size: 0.9em; }
.people-p2p .person-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 25%;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%); }
  .people-p2p .person-image img {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: 100%;
    width: auto; }

.archive-content .people-p2p article {
  min-height: 7.5em;
  padding: 0.6em 0.5em 0.8em; }
.archive-content .people-p2p h3 {
  font-size: 1em; }
.archive-content .people-p2p .role {
  font-size: 0.9em; }
.archive-content .people-p2p [itemprop="telephone"], .archive-content .people-p2p [itemprop="email"] {
  font-size: 0.8em; }

.widget_peytz_mail_subscribe {
  position: relative;
  overflow: hidden;
  background: #fff; }
  .widget_peytz_mail_subscribe a {
    color: #333;
    text-decoration: none; }

.widget_peytz_mail_subscribe {
  margin: 0; }
  .widget_peytz_mail_subscribe form {
    padding: 1.5rem; }
  .widget_peytz_mail_subscribe .subscribe-title {
    position: relative; }
    .widget_peytz_mail_subscribe .subscribe-title h2 {
      position: relative;
      z-index: 2;
      padding: 1.25rem 1.5rem 2rem;
      margin: 0;
      color: #fff;
      background: rgba(30, 174, 30, 0.2);
      font-family: "Roboto Condensed", "Roboto", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
      font-size: 1.7em;
      font-weight: 700;
      line-height: 1.2;
      text-transform: uppercase;
      font-style: italic;
      -webkit-clip-path: polygon(3% 0, 100% 0, 100% 100%, 5% 95%);
      clip-path: polygon(3% 0, 100% 0, 100% 100%, 5% 95%); }
    .widget_peytz_mail_subscribe .subscribe-title .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #0580f2;
      -webkit-clip-path: polygon(1% 0, 100% 0, 100% 90%, 3% 80%);
      clip-path: polygon(1% 0, 100% 0, 100% 90%, 3% 80%); }

.widget_text {
  position: relative;
  overflow: hidden;
  padding: 1.5em;
  background: #fff; }
  .widget_text > :first-child {
    margin-top: 0; }
  .widget_text .textwidget {
    font-size: 0.9em; }

.footer-widget.widget_text {
  padding: 0; }
  .footer-widget.widget_text h2 {
    margin: 1em 0 0.666em; }
  .footer-widget.widget_text .textwidget {
    font-size: 1em; }

.widget_pli_twitter_widget {
  background: #fff; }
  .widget_pli_twitter_widget .widgettitle {
    margin: 0;
    padding: 0.8em; }
  .widget_pli_twitter_widget iframe {
    width: 100% !important; }



/*# sourceMappingURL=data:application/json;base64,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QUUsQ0FBQztFQUdkLHdCQUFZO0lBQ1gsU0FBUyxFQUFFLEtBQUs7O0FBSWxCLDBCQUEyQjtFQUMxQixPQUFPLEVBQUUsQ0FBQztFQUVWLDZCQUFHO0lBQ0YsTUFBTSxFQUFFLGFBQWE7RUFHdEIsc0NBQVk7SUFDWCxTQUFTLEVBQUUsR0FBRzs7QUN2QmhCLDBCQUEyQjtFQUMxQixVQUFVLEVBQUUsSUFBSTtFQUVoQix1Q0FBYTtJQUNaLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEtBQUs7RUFHZixpQ0FBTztJQUNOLEtBQUssRUFBRSxlQUFlIiwic291cmNlcyI6WyJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwiaGVscGVycy9fbWl4aW5zLnNjc3MiLCJoZWxwZXJzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX21lZGlhLnNjc3MiLCJiYXNlL19pY29ucy5zY3NzIiwibGF5b3V0cy9fYXJjaGl2ZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX29tZWdhLnNjc3MiLCJsYXlvdXRzL19hcmNoaXZlLWRpY3Rpb25hcnkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NoaWZ0LnNjc3MiLCJsYXlvdXRzL19mb290ZXIuc2NzcyIsImxheW91dHMvX2Zyb250cGFnZS5zY3NzIiwibGF5b3V0cy9fZ2VuZXJhbC5zY3NzIiwibGF5b3V0cy9faGVhZGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJsYXlvdXRzL19zZWFyY2guc2NzcyIsImxheW91dHMvX3NpbmdsZS5zY3NzIiwibGF5b3V0cy9fc2luZ2xlLWV2ZW50LnNjc3MiLCJsYXlvdXRzL19zaW5nbGUtcGFnZS5zY3NzIiwiY29tcG9uZW50cy9fYWRkLXRvLWFueS5zY3NzIiwiY29tcG9uZW50cy9fYXJjaGl2ZS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2RpY3Rpb25hcnktbmF2LnNjc3MiLCJjb21wb25lbnRzL19kaWN0aW9uYXJ5LXdvcmQuc2NzcyIsImNvbXBvbmVudHMvX2V2ZW50LWluZm8uc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsImNvbXBvbmVudHMvX2hhc2gtbGluay5zY3NzIiwiY29tcG9uZW50cy9faW5saW5lLWVtYmVkLnNjc3MiLCJjb21wb25lbnRzL19pbmxpbmUtZmFjdGJveC5zY3NzIiwiY29tcG9uZW50cy9mb3RvcmFtYS9fcGxhY2Vob2xkZXJzLnNjc3MiLCJjb21wb25lbnRzL2ZvdG9yYW1hL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvZm90b3JhbWEvZm90b3JhbWEuc2NzcyIsImNvbXBvbmVudHMvZm90b3JhbWEvX2Fycm93cy5zY3NzIiwiY29tcG9uZW50cy9mb3RvcmFtYS9fc2hhZG93cy5zY3NzIiwiY29tcG9uZW50cy9faW5saW5lLWdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvX2lubGluZS1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9faW5saW5lLXF1b3RlLnNjc3MiLCJjb21wb25lbnRzL19pbmxpbmUtdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX2lubGluZS10eXBlLnNjc3MiLCJjb21wb25lbnRzL19sYWJlbC5zY3NzIiwiY29tcG9uZW50cy9fbWVtYmVyLWluZm8uc2NzcyIsImNvbXBvbmVudHMvX21lbWJlci1sb29wLnNjc3MiLCJjb21wb25lbnRzL19tZW1iZXItY2F0ZWdvcmllcy5zY3NzIiwiY29tcG9uZW50cy9fbWVudS1uYXYuc2NzcyIsImNvbXBvbmVudHMvX25vdC1mb3VuZC1sb29wLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wb3N0LWNvbW1lbnRzLnNjc3MiLCJjb21wb25lbnRzL19wb3N0LWxvb3Auc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLCJjb21wb25lbnRzL19wb3N0LWF1dGhvci5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWxvb3Auc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19zaG9ydGNvZGUtbWVtYmVycy5zY3NzIiwiY29tcG9uZW50cy9fc2hvcnRjb2RlLXBleXR6LW1haWwuc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZS1jb250ZW50LXRleHQuc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZS10ZXJtLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fc2luZ2xlLXJlbGF0ZWQtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fdGVybS1sb29wLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1hZHZlcnQuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1jdGEuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1iZWZvcmUtZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQtZXZlbnRzLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQtbGF0ZXN0LW5ld3MtdGVhc2VyLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQtZnJvbnRwYWdlLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LWluLWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LW1hcC5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1wZW9wbGUuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1wZXl0ei1tYWlsLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXQtdGV4dC5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LXR3aXR0ZXIuc2NzcyJdLCJuYW1lcyI6W10sImZpbGUiOiJhcHAuY3NzIiwic291cmNlUm9vdCI6Ii9zb3VyY2UvIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzo0MDAsMzAwLDQwMGl0YWxpYyw3MDAsNzAwaXRhbGljLDUwMCwzMDBpdGFsaWMsNTAwaXRhbGljKTtcbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG8rQ29uZGVuc2VkOjcwMCk7XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuXHRmb250LXdlaWdodDogJHJlZ3VsYXItd2VpZ2h0O1xuXHRsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG59XG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbmgxLCBoMiwgaDMsIGg0IHtcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xufVxuXG5oMSB7XG5cdG1hcmdpbjogMCAwIDAuNWVtO1xuXHRmb250LXNpemU6ICRoMS1mb250LXNpemU7XG5cdGZvbnQtd2VpZ2h0OiAkc3Ryb25nLXdlaWdodDtcblx0bGluZS1oZWlnaHQ6IDEuMjVlbTtcbn1cblxuaDIge1xuXHRtYXJnaW46IDFlbSAwIDAuNjY2ZW07XG5cdGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xufVxuXG5oMyB7XG5cdG1hcmdpbjogMWVtIDAgMC4yNWVtO1xuXHRmb250LXNpemU6ICRoMy1mb250LXNpemU7XG5cdGZvbnQtd2VpZ2h0OiAkc3Ryb25nLXdlaWdodDtcbn1cblxuaDQge1xuXHRtYXJnaW46IDFlbSAwIDAuMjVlbTtcblx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuXHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG59XG5cbi8vIEVuc3VyZSBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IGhlYWRpbmdzIGlzIHNlbnNpYmxlXG5oZWFkZXIgPiBoMSxcbmhlYWRlciA+IGgyLFxuaDEgKyBoMixcbmgyICsgaDMge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBCaWdnZXIgaGVhZGluZ3MgZm9yIGJpZ2dlciBzY3JlZW5zXG5AaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAkaDEtZm9udC1zaXplICogMS4zMzM7XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAkaDItZm9udC1zaXplICogMS4zMzM7XG5cdH1cblxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAkaDMtZm9udC1zaXplICogMS4zMzM7XG5cdH1cbn1cblxuLy8gTGlua3MgKGdlbmVyaWMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5hIHtcblx0Y29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogZGFya2VuKCRjb2xvci0yLCAxMCUpO1xuXHR9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLnNjc3Mgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEluY2x1ZGVzIGxlZ2FjeSBicm93c2VyIHN1cHBvcnQgSUU2LzdcbiAqXG4gKiBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gZHJvcCBzdXBwb3J0IGZvciBJRTYgYW5kIElFN1xuICovXG5cbiRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcblxuLyogQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqIDMuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICBgZW1gIHVuaXRzLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZm9udC1zaXplOiAxMDAlOyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbi8qKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYSB7XG4gICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9O1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBtYXJnaW46IDAuODNlbSAwO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xN2VtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAxLjMzZW0gMDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICBtYXJnaW46IDEuNjdlbSAwO1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC42N2VtO1xuICAgIG1hcmdpbjogMi4zM2VtIDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBwLFxuICBwcmUge1xuICAgICptYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHEge1xuICAgICpxdW90ZXM6IG5vbmU7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAgICovXG5cbiAgcTpiZWZvcmUsXG4gIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIExpc3RzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLypcbiAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgZGwsXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBkZCB7XG4gICAgKm1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBtZW51LFxuICBvbCxcbiAgdWwge1xuICAgICpwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQ29ycmVjdHMgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgKi9cblxuICBuYXYgdWwsXG4gIG5hdiBvbCB7XG4gICAgKmxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgKmxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIH1cblxufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xuICB9XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICB9XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xuICB9XG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogMy4gQ29ycmVjdHMgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogNC4gQ29ycmVjdHMgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAzICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiA0ICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn0iLCIvLyBFeHRlbmRpbmcgTm9ybWFsaXNlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG51bCwgb2wge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcblx0bWF4LXdpZHRoOiAxMDA7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLy8gR2xvYmFsIEFjY2Vzc2liaWxpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi8vIFNraXAgbGlua3MgZm9yIHNjcmVlbiByZWFkZXJzXG4uc2tpcC1saW5rIHtcblx0ZGlzcGxheTogbm9uZTtcblx0Jjpmb2N1cyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdEBpbmNsdWRlIHNjcmVlbi1yZWFkZXItdGV4dDtcbn0iLCIvLyBIaWRlcyB0ZXh0IGZvciBldmVyeW9uZSBleGNlcHQgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBzY3JlZW4tcmVhZGVyLXRleHQoKSB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xufVxuXG5AbWl4aW4gZGlzY3JlZXQtbGluaygpIHtcblx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG5cdH1cbn1cblxuQG1peGluIHNtYWxsLWFsbC1jYXBzKCR3ZWlnaHQ6IDMwMCkge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG5cdGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG5AbWl4aW4gYXJjaGl2ZS1saW5rLXN0eWxlKCkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDAuMzMzZW0gMC41ZW07XG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdGJhY2tncm91bmQ6ICRjb2xvci0yO1xuXHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRjb2xvcjogI2ZmZjtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xcyBlYXNlLWluLW91dCk7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogZGFya2VuKCRjb2xvci0yLCA1JSk7XG5cdH1cbn1cblxuQG1peGluIGV4Y2VycHQoKSB7XG5cdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodCoxLjE1O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0Zm9udC1zaXplOiAxLjMzM2VtO1xuXHR9XG59XG5cbkBtaXhpbiB0ZXh0LXVuZGVybGluZSgkY29sb3IsICR3ZWlnaHQ6IDFweCkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuMmVtO1xuXHRib3JkZXItYm90dG9tOiAkd2VpZ2h0IHNvbGlkICRjb2xvcjtcbn1cblxuLy8gVGhpcyB0YWtlcyBhd2F5IGFueSBvbWVnYSBzZXR0aW5ncyAocmVtb3ZpbmcgbWFyZ2lucykgb24gY29sdW1ucy5cbi8vIFVzZWZ1bGwgZm9yIGF1dG8gY29sdW1ucyB3aGVyZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgY2hhbmdlcy5cbkBtaXhpbiBvbWVnYS1yZXNldCgkbnRoKSB7XG5cdCY6bnRoLWNoaWxkKCN7JG50aH0pIHsgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyKTsgfVxuXHQmOm50aC1jaGlsZCgjeyRudGh9KzEpIHsgY2xlYXI6IG5vbmUgfVxufVxuXG5AbWl4aW4gY2xpcC1wYXRoKCRjbGlwKSB7XG5cdC13ZWJraXQtY2xpcC1wYXRoOiAkY2xpcDtcblx0Y2xpcC1wYXRoOiAkY2xpcDtcbn1cblxuQG1peGluIG9wYWNpdHktdHJhbnNmb3JtIHtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQpO1xuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuXHRcdG91dGxpbmU6IDFweCBzb2xpZCAjZTllOWU5O1xuXHR9XG59XG5cblxuIiwiLy8gTWVkaWEgcXVlcmllc1xuJHNtYWxsLXNjcmVlbi11cDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDBlbSAxMik7XG4kbWVkaXVtLXNjcmVlbi11cDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDUzLjJlbSAxMik7XG4kbGFyZ2Utc2NyZWVuLXVwOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggNjUuMDYzZW0gMTIpO1xuJHhsYXJnZS1zY3JlZW4tdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA4MC4wNjNlbSAxMik7XG4keHhsYXJnZS1zY3JlZW4tdXA6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAxMDAuMDYzZW0gMTIpO1xuXG4vLyBHcmlkXG4kbWF4LXdpZHRoOiBlbSgxMTg4KTtcbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogJ1JvYm90bycsICRoZWx2ZXRpY2E7XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiRhbHQtZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJywgJ1JvYm90bycsICRoZWx2ZXRpY2E7XG4kbGlnaHQtd2VpZ2h0OiAzMDA7XG4kcmVndWxhci13ZWlnaHQ6IDQwMDtcbiRzdHJvbmctd2VpZ2h0OiA3MDA7XG5cbi8vIEZvbnQgU2l6ZXNcbiRlbS1iYXNlOiAxNnB4O1xuJGJhc2UtZm9udC1zaXplOiByZW0oMTYpO1xuJHNtYWxsLWZvbnQtc2l6ZTogcmVtKDE0KTtcbiRoMS1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuODtcbiRoMi1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuMzMzO1xuJGgzLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4yO1xuJGg0LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMTtcblxuLy8gTGluZSBoZWlnaHRcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjY7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjMzMztcblxuLy8gT3RoZXIgU2l6ZXNcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJGJhc2Utei1pbmRleDogMDtcblxuLy8gRm9udCBDb2xvcnNcbiRiYXNlLWZvbnQtY29sb3I6ICMzMzM7XG4kYmFzZS1hY2NlbnQtY29sb3I6ICMwNDc5YjM7XG5cbi8vIENvbG9yc1xuJGNvbG9yLTE6ICNlZDFjMjU7IC8vIHJlZFxuJGNvbG9yLTI6ICMwNDc5YjM7IC8vIGJsdWVcbiRjb2xvci0zOiAjMDU4MGYyOyAvLyBzYXR1cmF0ZWQgYmx1ZVxuJGNvbG9yLTQ6ICMzMjlBODI7IC8vIFNlYSBncmVlblxuJGNvbG9yLWxpbmVzOiAjZGRkO1xuJGNvbG9yLWJnOiAjZjNmM2YzO1xuJHRpbnRlZC1iZzogI2UxZWFlZjtcblxuLy8gTGluayBDb2xvcnNcbiRiYXNlLWxpbmstY29sb3I6ICRiYXNlLWFjY2VudC1jb2xvcjtcbiRob3Zlci1saW5rLWNvbG9yOiBkYXJrZW4oJGJhc2UtYWNjZW50LWNvbG9yLCAxNSk7XG4kYmFzZS1idXR0b24tY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4kaG92ZXItYnV0dG9uLWNvbG9yOiAkaG92ZXItbGluay1jb2xvcjtcbiRob3Zlci1iZy1jb2xvcjogI2ZmZjtcblxuLy8gQm9yZGVyIGNvbG9yXG4kYmFzZS1ib3JkZXItY29sb3I6ICM3Nzc3Nzc7XG4kYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEZvcm1zXG4kZm9ybS1ib3JkZXItY29sb3I6ICRiYXNlLWJvcmRlci1jb2xvcjtcbiRmb3JtLWJvcmRlci1jb2xvci1ob3ZlcjogZGFya2VuKCRiYXNlLWJvcmRlci1jb2xvciwgMTApO1xuJGZvcm0tYm9yZGVyLWNvbG9yLWZvY3VzOiAkYmFzZS1hY2NlbnQtY29sb3I7XG4kZm9ybS1ib3JkZXItcmFkaXVzOiAkYmFzZS1ib3JkZXItcmFkaXVzO1xuJGZvcm0tYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoYmxhY2ssMC4wNik7XG4kZm9ybS1ib3gtc2hhZG93LWZvY3VzOiAkZm9ybS1ib3gtc2hhZG93LCAwIDAgNXB4IHJnYmEoZGFya2VuKCRmb3JtLWJvcmRlci1jb2xvci1mb2N1cywgNSksIDAuNyk7XG4kZm9ybS1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiRmb3JtLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdHNyYzpcdHVybCgnLi4vZm9udHMvaWNvbW9vbi5lb3Q/ZGptdmtuJyk7XG5cdHNyYzpcdHVybCgnLi4vZm9udHMvaWNvbW9vbi5lb3Q/ZGptdmtuI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/ZGptdmtuJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmP2RqbXZrbicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbW9vbi5zdmc/ZGptdmtuI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLXBhcGVyLWNsaXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMDFcIjtcbn1cbi5pY29uLWxpbms6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMDVcIjtcbn1cbi5pY29uLXByaW50ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMjBcIjtcbn1cbi5pY29uLXBhcGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDM0XCI7XG59XG4uaWNvbi1wYXBlci1zdGFjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAzNVwiO1xufVxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDM2XCI7XG59XG4uaWNvbi1mb2xkZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwNTlcIjtcbn1cbi5pY29uLW1hcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTA3MlwiO1xufVxuLmljb24taGVhZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTA3NFwiO1xufVxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTA5NFwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwOTVcIjtcbn1cbi5pY29uLWZsYWc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUxMDhcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMTE2XCI7XG59XG4uaWNvbi1jcm9zczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTExN1wiO1xufVxuLmljb24tbWVudTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTEyMFwiO1xufVxuLmljb24tZmlsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTEyNFwiO1xufVxuLmljb24tZWxsaXBzaXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUxMjlcIjtcbn0iLCIvLyBBcmNoaXZlIGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbm1haW46bm90KC5hcmNoaXZlLWhhcy1zaWRlYmFyKSAuYXJjaGl2ZS1jb250ZW50IHtcblxuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cblx0LmFyY2hpdmUtcG9zdC1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXHRcdH1cblx0fVxuXG5cdC5wb3N0LWxvb3AtaXRlbSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDNuKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSg0bik7XG5cdFx0fVxuXHR9XG5cblx0LnRlcm0tbG9vcC1pdGVtIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdFx0QGluY2x1ZGUgb21lZ2EoMm4pO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDNuKTtcblx0XHR9XG5cdH1cblxuXHQucmVsYXRlZC1jb250ZW50LWxvb3AgLnBvc3QtbG9vcC1pdGVtIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYS1yZXNldCgxbik7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSgybik7XG5cdFx0fVxuXHR9XG59XG5cblxubWFpbi5hcmNoaXZlLWhhcy1zaWRlYmFyIC5hcmNoaXZlLWNvbnRlbnQge1xuXG5cdEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcblxuXHQuYXJjaGl2ZS1wb3N0LWNvbnRhaW5lciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG5cdFx0fVxuXHR9XG5cblx0LnNpZGViYXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdH1cblx0fVxuXG5cdC5wb3N0LWxvb3AtaXRlbSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDJuKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSgzbik7XG5cdFx0fVxuXHR9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50ZXJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIFt1bml0XX0gJGxvY2FsLW1heC13aWR0aCBbJG1heC13aWR0aF1cbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCIvLyBBcmNoaXZlIGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtZGljdGlvbmFyeV93b3JkIG1haW4uYXJjaGl2ZS1oYXMtc2lkZWJhciAuYXJjaGl2ZS1jb250ZW50IHtcblxuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cblx0LmFyY2hpdmUtcG9zdC1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNzUpO1xuXHRcdH1cblx0fVxuXG5cdC5zaWRlYmFyIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRcdEBpbmNsdWRlIHNoaWZ0KDAuMjUpO1xuXHRcdH1cblx0fVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCIuY29udGFpbmVyLmZvb3RlciB7XG5cdHBhZGRpbmc6IDNlbSAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWxpbmVzO1xufVxuXG4uZm9vdGVyLXdpZGdldHMge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cblx0LmZvb3Rlci13aWRnZXQtY29sIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdFx0QGluY2x1ZGUgb21lZ2EoMm4pO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDRuKTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLy8gRnJvbnRwYWdlIHNlY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5zZWN0aW9uI2Zyb250cGFnZS1mZWF0dXJlZCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuc2VjdGlvbiNmcm9udHBhZ2UtZmVhdHVyZWQtc21hbGwge1xuXHRtYXJnaW4tYm90dG9tOiAyZW07XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblxuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRhcnRpY2xlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Ji53aWRnZXRzLTIsICYud2lkZ2V0cy00IHtcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYud2lkZ2V0cy0zLCAmLndpZGdldHMtNSwgJi53aWRnZXRzLTYge1xuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxufVxuXG5zZWN0aW9uI2Zyb250cGFnZS1jb250ZW50IHtcblx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuXG5cdC5mcm9udHBhZ2UtY29udGVudC13aWRnZXQge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHQud2lkZ2V0X3BsaV9sYXRlc3RfbmV3c190ZWFzZXIsIC53aWRnZXRfcGxpX3R3aXR0ZXJfd2lkZ2V0IHtcblx0XHRcdG1pbi1oZWlnaHQ6IDI3NXB4O1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdH1cblxuXHRcdC53aWRnZXRfcGxpX3R3aXR0ZXJfd2lkZ2V0IHtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKCk7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4iLCIvLyBHZW5lcmFsIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi8vIFRoZXNlIGxldCBqYXZhc2NyaXB0IGtub3cgd2hhdCBicmVha3BvaW50IHdlIGFyZSBvbi5cbkBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4tdXApIHtcblx0Ym9keTphZnRlciB7XG5cdFx0Y29udGVudDogXCJzbWFsbFwiO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0Ym9keTphZnRlciB7XG5cdFx0Y29udGVudDogXCJtZWRpdW1cIjtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0Ym9keTphZnRlciB7XG5cdFx0Y29udGVudDogXCJsYXJnZVwiO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJHhsYXJnZS1zY3JlZW4tdXApIHtcblx0Ym9keTphZnRlciB7XG5cdFx0Y29udGVudDogXCJ4bGFyZ2VcIjtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCR4eGxhcmdlLXNjcmVlbi11cCkge1xuXHRib2R5OmFmdGVyIHtcblx0XHRjb250ZW50OiBcInh4bGFyZ2VcIjtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5yb3cge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblx0cGFkZGluZy1sZWZ0OiAzJTtcblx0cGFkZGluZy1yaWdodDogMyU7XG59XG5cbi8vIENvbnRlbnQgY29ueXRhaW5lclxuXG4uY29udGFpbmVyLmNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9ib2R5L2JnX2xlZnQucG5nJykgMCAyMDBweCBuby1yZXBlYXQsIHVybCgnLi4vLi4vaW1nL2JvZHkvYmdfcmlnaHQucG5nJykgMTAwJSAyMDBweCBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXG5cdCYuc3RpY2t5IHtcblx0XHRtYXJnaW4tdG9wOiA2NnB4O1xuXHR9XG59IiwiLmNvbnRhaW5lci5oZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9oZWFkZXIvYmdfbGVmdC5wbmcnKSAwIDAgbm8tcmVwZWF0LCB1cmwoJy4uLy4uL2ltZy9oZWFkZXIvYmdfcmlnaHQucG5nJykgMTAwJSAwIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDBweCwgNDAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogOTk5OTk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8sIGF1dG87XG5cdH1cblxuXHQjaGVhZGVyIHtcblx0XHRwYWRkaW5nLXRvcDogNzZweDtcblx0fVxuXG5cdC5pbm5lciB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsLjEpO1xuXG5cdFx0Ji5zdGlja3kge1xuXG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIDAgYXV0byAwKTtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTtcblxuXHRcdFx0XHQubG9nbywgLmxvZ28gaW1nIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTgwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwLjRyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0I25hdiA+IHVsID4gbGkgPiBhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxLjJyZW0gMS4xcmVtIDEuMHJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCNuYXYgPiB1bCA+IGxpIHtcblxuXHRcdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuXHRcdFx0XHRcdCYuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSxcblx0XHRcdFx0XHQmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciA+IGEsXG5cdFx0XHRcdFx0YTpob3ZlciwgYTpmb2N1cyB7XG5cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRib3R0b206IDAuOGVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zZWFyY2gtd3JhcHBlciAuc2VhcmNoLXRvZ2dsZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEuMmVtO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHQucm93IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cbn1cblxuLmFkbWluLWJhciAuY29udGFpbmVyLmhlYWRlciAuaW5uZXIuc3RpY2t5IHtcblx0dG9wOiAzMnB4O1xufVxuXG4ubG9nbywgLmxvZ28gaW1nIHtcblx0d2lkdGg6IDE4MHB4O1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IDI1MHB4O1xuXHR9XG59XG5cbi5sb2dvIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogMXJlbSAwIDE2cHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiA5OTk7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5zZWFyY2gtd3JhcHBlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTk5OTk7XG5cdHJpZ2h0OiAzJTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkeGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdHJpZ2h0OiAzLjUlO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJHh4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0cmlnaHQ6IDQlO1xuXHR9XG5cblx0LnNlYXJjaC10b2dnbGUge1xuXHRcdHRleHQtYWxpZ246cmlnaHQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMC44ZW0gMC41ZW07XG5cdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRjb2xvci0yO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4xZW07XG5cdFx0XHRwYWRkaW5nOiAxLjlyZW0gMC44cmVtIDEuNjY2cmVtO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0QGluY2x1ZGUgc2NyZWVuLXJlYWRlci10ZXh0O1xuXHRcdH1cblx0fVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbmJvZHkuc2VhcmNoIHtcblxuXHRoMSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG59IiwiLy8gU2luZ2xlIGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi5zaW5nbGUtY29udGVudCB7XG5cblx0PiAud3AtcG9zdC1pbWFnZS13cmFwIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWF4LWhlaWdodDogNTB2aDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbjogMCAtMiU7XG5cdFx0cGFkZGluZy10b3A6IDFlbTtcblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdGZpZ2NhcHRpb24ge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGF1dG8gMCAwIDApO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDogMC4zMzNlbTtcblx0XHRcdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAqIDAuOTI4NTc7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdH1cblx0fVxuXG5cdC5tYWluIHtcblx0XHRwYWRkaW5nOiAyZW0gMDtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3Ljc1KTtcblx0XHR9XG5cdH1cblxuXHQubWFpbi1zaWRlYmFyIHtcblx0XHRwYWRkaW5nOiAyZW0gMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXHRcdFx0QGluY2x1ZGUgc2hpZnQoMC4yNSk7XG5cdFx0fVxuXHR9XG5cbn0iLCIvLyBFdmVudHMgb25seVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLnNpbmdsZS1ldmVudCB7XG5cblx0Lmdmb3JtX3dyYXBwZXIge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCN0aWxtZWxkaW5nIHtcblx0XHRwYWRkaW5nLXRvcDogMmVtO1xuXHR9XG5cblx0Lmhhc2gtbGluayB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQubWFpbi1zaWRlYmFyIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMnJlbTtcblx0XHR9XG5cdH1cblxufSIsIi8vIFBhZ2VzIG9ubHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG4ucGFnZSB7XG5cdC5zaW5nbGUtY29udGVudCB7XG5cdFx0Lm1haW4ge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc2hpZnQoNSk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc2hpZnQoNC4yNSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1haW4tc2lkZWJhciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBzaGlmdCgtMTIpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNoaWZ0KC0xMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBBZGQgdG8gYW55IHNoYXJpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbmJvZHkge1xuXHQuYWRkdG9hbnlfY29udGVudF90b3Age1xuXHRcdG1hcmdpbjogMC42NjZlbSAwIDEuNjY2ZW07XG5cdH1cblxuXHQuYWRkdG9hbnlfdGVybV90b3Age1xuXHRcdG1hcmdpbjogMS42NjZlbSAwIDA7XG5cdH1cblxuXHQuYWRkdG9hbnlfaGVhZGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0QGluY2x1ZGUgc21hbGwtYWxsLWNhcHM7XG5cdFx0bWFyZ2luOiAwIDAuM2VtIDAgMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtMC4yZW07XG5cdH1cblxuXHQuYTJhX2ZvbGxvdyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDAuMmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG5cblx0XHRhIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0XHR9XG5cdH1cbn0iLCIvLyBIZWFkZXJzIGZvciB0YXhvbm9taWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4uYXJjaGl2ZS1oZWFkZXIge1xuXG5cdC5hcmNoaXZlLWhlYWRlci1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAyLjVlbSAwIDEuNWVtO1xuXHR9XG5cblx0LmFyY2hpdmUtdGl0bGUge1xuXG5cdFx0PiBzcGFuIHtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0XHR9XG5cblx0XHRcdHNwYW4udHlwZSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHR9XG5cblx0XHRcdHNwYW4uaGlkZSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNjcmVlbi1yZWFkZXItdGV4dDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYXJjaGl2ZS1kZXNjcmlwdGlvbiB7XG5cdFx0QGluY2x1ZGUgZXhjZXJwdDtcblx0fVxufVxuXG4uYXJjaGl2ZS1oZWFkZXIgeyAvLyAuaGFzLWltYWdlXG5cblx0LmFyY2hpdmUtaGVhZGVyLWNvbnRlbnQge1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZy10b3A6IDNlbTtcblx0XHRcdG1hcmdpbi1yaWdodDogNjAlO1xuXHRcdFx0bWluLWhlaWdodDogMzYwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHhsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDQxMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA1MiU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHh4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDQ5JTtcblx0XHRcdG1pbi1oZWlnaHQ6IDQ4MHB4O1xuXHRcdH1cblx0fVxuXG5cdD4gZGl2Om9ubHktb2YtdHlwZSB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4eGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWluLWhlaWdodDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmltYWdlLXdyYXAtc2xhbnRlZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bGVmdDogLTMlO1xuXHR3aWR0aDogMTA2JTtcblx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLDEwMCUgMCwxMDAlIDk1JSwwIDEwMCUpKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBhdXRvIGF1dG8pO1xuXHRcdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDEwJSAxMDAlLDEwMCUgOTAlLDEwMCUgMHB4LDBweCAwcHgpKTtcblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0d2lkdGg6IDYwMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHR3aWR0aDogNjcwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHh4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHR3aWR0aDogODAwcHg7XG5cdFx0fVxuXHR9XG59IiwiLy8gRGljdGlvbmFyeSBuYXZpZ2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4jZGljdGlvbmFyeS1sZXR0ZXJzLW5hdiB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdHVsIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLTI7XG5cdFx0cGFkZGluZzogMC41ZW07XG5cdH1cblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IDAuNGVtIDEuMDVlbTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItMiwgNSUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGljdGlvbmFyeS1sZXR0ZXJzIHtcblx0PiBoMiB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDVyZW0gMCAxcmVtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDMuNWVtO1xuXHR9XG59IiwiLy8gRGljdGlvbmFyeSBzaW5nbGUgd29yZCBkZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4uZGljdGlvbmFyeS1sZXR0ZXJzIHtcblxuXHRkdCB7XG5cdFx0YmFja2dyb3VuZDogI2ZhZmFmYTtcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0cGFkZGluZzogMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkc3Ryb25nLXdlaWdodDtcblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHR9XG5cdH1cblxuXHRkZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDJlbTtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC8vIEF2b2lkIGRvdWJsZSBtYXJnaW4gd2l0aCBmaXJzdCBhbmQgbGFzdCBodG1sIGVsZW1lbnRzIGluIGRkXG5cdFx0PiA6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQ+IDpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59IiwiLy8gRXZlbnQgaW5mbyBib3hlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLmV2ZW50LWluZm8ge1xuXHQ+IGRpdiB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHRmb250LXNpemU6IDEuMzNlbTtcblx0fVxuXG5cdGR0IHtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG5cdH1cblxuXHRkZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0PiBkaXYuZXZlbnQtaW5mby1jb250YWN0LXBlcnNvbnMge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdGgyIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHR9XG5cdH1cblxufSIsIi8vIExpbmsgb24tcGFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBhZGRpbmc6IDFyZW07XG5cdG1hcmdpbjogMnJlbSAwO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdHBhZGRpbmc6IDAuM2VtIDAuNzVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItMjtcblx0Y29sb3I6ICNmZmY7XG5cdEBpbmNsdWRlIHNtYWxsLWFsbC1jYXBzO1xuXHRib3JkZXI6IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItMiwgNSUpO1xuXHR9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiLy8gTGluayBvbi1wYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5hLmhhc2gtbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRwYWRkaW5nOiAwLjc1cmVtIDAuNXJlbSAwLjc1cmVtO1xuXHRjb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZDogJGNvbG9yLTI7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZvbnQtd2VpZ2h0OiAkbGlnaHQtd2VpZ2h0O1xuXHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItMiwgNSUpO1xuXHR9XG59IiwiLnNpbmdsZS1jb250ZW50LXRleHQge1xuXG5cdC5lbWJlZC1jb250YWluZXIge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMnJlbSAwO1xuXHR9XG5cblx0LndwLXBvc3Qtb2VtYmVkLXdyYXAgPiAuZW1iZWQtY29udGFpbmVyIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQuZW1iZWQtY29udGFpbmVyIC5lbWJlZC1jb250YWluZXItaW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHRcdGhlaWdodDogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG5cdC5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuXHQuZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0XHR0b3A6IDAgIWltcG9ydGFudDtcblx0XHRsZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLnNpbmdsZS1jb250ZW50LXRleHQge1xuXG5cdC5mYWN0Ym94IHtcblx0XHRtYXJnaW46IDEuNzVyZW0gMDtcblx0XHRwYWRkaW5nOiAxLjI1ZW0gMWVtIDFlbTtcblx0XHRiYWNrZ3JvdW5kOiAkdGludGVkLWJnO1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMC45O1xuXG5cdFx0aDIge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR3aWR0aDogNDYlO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0JTtcblx0XHR9XG5cdH1cbn0iLCIlc3RyZXRjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4laW1hZ2UtcmVzZXQge1xuICBtYXgtd2lkdGg6IDk5OTk5cHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogOTk5OTlweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4lZ3JhYi1jdXJzb3Ige1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbiVncmFiYmluZy1jdXJzb3Ige1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1vLWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tcy1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuJWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuJWluaXRpYWwtdHJhbnNsYXRlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuJWdwdSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuJWZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuJWZvY3VzLW92ZXJsYXkge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIEBleHRlbmQgJXN0cmV0Y2g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmx1ZSwgLjUpO1xuICB9XG59XG5cbiVuby10cmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuJXRyYW5zaXRpb24tZm9yLXNsaWRlIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB3aWR0aDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMSwgMCwgLjI1LCAxKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xufVxuXG4lbm8tc2VsZWN0IHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbiVzZWxlY3Qge1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cblxuJWVtcHR5LWJnIHtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUQvQUN3QUFBQUFBUUFCQUFBQ0FEcz0pO1xufVxuXG4lbm8tbWFyZ2luIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xufVxuXG4laW5saW5lLWJsb2NrIHtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrO1xufVxuXG4lY29udGVudC1ib3gge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuJWJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4laGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OTlweDtcbiAgdG9wOiAtOTk5OTlweDtcbiAgei1pbmRleDogLTE7XG59XG5cbiV2aXNpYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIHotaW5kZXg6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbiVuby10YXAge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbiV0cmFuc2l0aW9uRHVyYXRpb24ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMzNtcztcbn1cblxuJXRyYW5zaXRpb25EdXJhdGlvblplcm8ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwbXM7XG59XG5cbiVzcHJpdGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9mb3RvcmFtYS9mb3RvcmFtYS5wbmcnKSBuby1yZXBlYXQ7XG4gIEBtZWRpYSAoI3std2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW99OiAxLjUpLCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvZm90b3JhbWEvZm90b3JhbWFAMngucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTZweCAxNjBweDtcbiAgfVxuICBAZXh0ZW5kICVuby1iZy1vbi1wcmludDtcbn1cblxuJWJlZm9yZS1sb2FkLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWl4KGJsYWNrLCB3aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWl4KGJsYWNrLCB3aGl0ZSksIC4yKTtcbn1cblxuJW5vLWJnLW9uLXByaW50IHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCJAbWl4aW4gaW5saW5lLWJsb2NrKCR2YTogbWlkZGxlKSB7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHZhO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbn1cblxuQG1peGluIG9wYWNpdHkoJHZhbDogMSwgJGltcG9ydGFudDogMCkge1xuICBAaWYgJGltcG9ydGFudCA9PSAwIHtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7JHZhbCoxMDB9KVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kdmFsKjEwMCk7XG4gICAgb3BhY2l0eTogJHZhbDtcbiAgfSBAZWxzZSB7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0jeyR2YWwqMTAwfSlcIiAhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kdmFsKjEwMCkgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAkdmFsICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIkdGltZTogLjNzO1xuJGFyclNpemU6IDMycHg7XG4kd2hpdGU6IHdoaXRlO1xuJGdyYXk6IG1peChibGFjaywgd2hpdGUpO1xuJGxpZ2h0Z3JheTogbWl4KCRncmF5LCB3aGl0ZSk7XG4kYmx1ZTogbWl4KCMwMGQxZmYsICMwMDhlZDYpO1xuXG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAncGxhY2Vob2xkZXJzJztcblxuLmZvdG9yYW1hIHtcbiAgLy8gL3Rlc3Qvc3BlY3MvaW5pdGlhbGl6YXRpb24uanNcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpub3QoLmZvdG9yYW1hLS11bm9idHJ1c2l2ZSkgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5mdWxsc2NyZWVuIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLmZvdG9yYW1hLS1mdWxsc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAyMTQ3NDgzNjQ3ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgQGV4dGVuZCAlaW1hZ2UtcmVzZXQ7XG4gIC5mb3RvcmFtYV9fc3RhZ2UsXG4gIC5mb3RvcmFtYV9fbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB9XG59XG5cbi5mb3RvcmFtYV9fd3JhcCB7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAZXh0ZW5kICVuby1zZWxlY3Q7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB6LWluZGV4OiAwO1xufVxuXG4uZm90b3JhbWFfX3dyYXAtLXJ0bCB7XG4gIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuXG4vLy5mb3RvcmFtYV9fd3JhcCxcbi8vLmZvdG9yYW1hX19zdGFnZSxcbi8vLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQsXG4vLy5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLFxuLy8uZm90b3JhbWFfX2ltZyB7XG4vL1xuLy99XG5cbi5mb3RvcmFtYV9fc3RhZ2UsXG4uZm90b3JhbWFfX25hdiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm90b3JhbWFfX3dyYXAtLXBhbi15IHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0IHtcbiAgQGV4dGVuZCAlc3RyZXRjaDtcbiAgQGV4dGVuZCAlbm8tdGFwO1xufVxuXG5cbi5mb3RvcmFtYV9fd3JhcCB7XG4gIC5mb3RvcmFtYV9fcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmZvdG9yYW1hX19ncmFiIHtcbiAgICBAZXh0ZW5kICVncmFiLWN1cnNvcjtcbiAgfVxufVxuXG4uZm90b3JhbWFfX3dyYXAtLXNsaWRlIHtcbiAgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZm90b3JhbWFfX2dyYWJiaW5nICoge1xuICBAZXh0ZW5kICVncmFiYmluZy1jdXJzb3I7XG59XG5cbi5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIHtcbiAgQGV4dGVuZCAlc3RyZXRjaDtcbiAgQGV4dGVuZCAlbm8tdGFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLmZvdG9yYW1hX19hY3RpdmUge1xuICAgIHotaW5kZXg6IDg7XG4gIH1cbn1cblxuXG4uZm90b3JhbWFfX3dyYXAtLWZhZGUge1xuICAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS5mb3RvcmFtYV9fYWN0aXZlLFxuICAuZm90b3JhbWFfX2ZhZGUtZnJvbnQsXG4gIC5mb3RvcmFtYV9fZmFkZS1yZWFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICAuZm90b3JhbWFfX2ZhZGUtZnJvbnQge1xuICAgIHotaW5kZXg6IDg7XG4gIH1cbiAgLmZvdG9yYW1hX19mYWRlLXJlYXIge1xuICAgIHotaW5kZXg6IDc7XG4gICAgJi5mb3RvcmFtYV9fYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgfVxuICB9XG4gIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19zaGFkb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvdG9yYW1hX19pbWcge1xuICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICBAZXh0ZW5kICVpbWFnZS1yZXNldDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGV4dGVuZCAlc3RyZXRjaDtcbiAgLmZvdG9yYW1hX19sb2FkZWQgJixcbiAgLmZvdG9yYW1hX19lcnJvciAmIHtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICB9XG59XG5cbi5mb3RvcmFtYV9faW1nLS1mdWxsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fbG9hZGVkLS1mdWxsIHtcbiAgLmZvdG9yYW1hX19pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZvdG9yYW1hX19pbWctLWZ1bGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5mb3RvcmFtYV9faHRtbCB7XG4gIEBleHRlbmQgJXN0cmV0Y2g7XG5cbn1cblxuLmZvdG9yYW1hX193cmFwLS1vbmx5LWFjdGl2ZSB7XG4gIC5mb3RvcmFtYV9fc3RhZ2UsXG4gIC5mb3RvcmFtYV9fbmF2IHtcbiAgICBtYXgtd2lkdGg6IDk5OTk5cHggIWltcG9ydGFudDtcbiAgfVxuICAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLmZvdG9yYW1hX19uYXYge1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBleHRlbmQgJW5vLW1hcmdpbjtcbiAgQGV4dGVuZCAlbm8tdGFwO1xuICB6LWluZGV4OiA1O1xufVxuXG4uZm90b3JhbWFfX25hdl9fc2hhZnQge1xuICBAZXh0ZW5kICVpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBAZXh0ZW5kICVuby10YXA7XG59XG5cbi5mb3RvcmFtYV9fbmF2X19mcmFtZSB7XG4gIEBleHRlbmQgJWlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAZXh0ZW5kICVuby1tYXJnaW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGV4dGVuZCAlbm8tdGFwO1xuICBAZXh0ZW5kICVmb2N1cztcbiAgLy8gL3Rlc3Qvc3BlY3MvdGh1bWJzLmpzXG4gIEBleHRlbmQgJWNvbnRlbnQtYm94O1xufVxuXG4uZm90b3JhbWFfX25hdi0tZG90cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iLFxuICAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZm90b3JhbWFfX25hdi0tdGh1bWJzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvdG9yYW1hX19kb3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG5cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzICYge1xuICAgIEBleHRlbmQgJWZvY3VzLW92ZXJsYXk7XG4gICAgJjphZnRlciB7XG4gICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZS5mb3RvcmFtYV9fYWN0aXZlICYge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIGxlZnQ6IC0zcHg7XG4gICAgfVxuICB9XG59XG5cbi5mb3RvcmFtYV9fdGh1bWIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIEBleHRlbmQgJWJlZm9yZS1sb2FkLWJnO1xuXG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAmIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIEBleHRlbmQgJWZvY3VzLW92ZXJsYXk7XG4gIH1cbn1cblxuLmZvdG9yYW1hX190aHVtYi1ib3JkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgQGV4dGVuZCAlY29udGVudC1ib3g7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KSwgcmdiYSg2NCwgNjQsIDY0LCAuMSkpO1xuICBAZXh0ZW5kICVuby1iZy1vbi1wcmludDtcbn1cblxuLmZvdG9yYW1hX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwO1xuICBAZXh0ZW5kICVncHU7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoIzAwMCwgLjUpO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoIzMzMywgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC5mb3RvcmFtYV9fd3JhcC0tcnRsICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYsXG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tY2FwdGlvbnMgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZm90b3JhbWFfX2NhcHRpb25fX3dyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIC45KTtcbiAgQGV4dGVuZCAlYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIEBleHRlbmQgJWlubGluZS1ibG9jaztcbn1cblxuLmZvdG9yYW1hLS1oaWRkZW4ge1xuICBAZXh0ZW5kICVoaWRkZW47XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpXG4gIH1cbn1cblxuLmZvdG9yYW1hX19zcGlubmVyIHtcbiAgQGV4dGVuZCAlY2VudGVyO1xufVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMge1xuICAuZm90b3JhbWFfX3N0YWdlX19zaGFmdCxcbiAgLmZvdG9yYW1hX19uYXZfX3NoYWZ0LFxuICAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gICAgQGV4dGVuZCAldHJhbnNpdGlvbi1mb3Itc2xpZGU7XG4gIH1cbiAgLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQsXG4gIC5mb3RvcmFtYV9fbmF2X19zaGFmdCxcbiAgLmZvdG9yYW1hX190aHVtYi1ib3JkZXIge1xuICAgIEBleHRlbmQgJWluaXRpYWwtdHJhbnNsYXRlO1xuICB9XG4gIC5mb3RvcmFtYV9fc3Bpbm5lciB7XG4gICAgYW5pbWF0aW9uOiBzcGlubmVyIDI0cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgQGV4dGVuZCAlZ3B1O1xuICB9XG4gIC5mb3RvcmFtYV9fc3RhZ2UsXG4gIC5mb3RvcmFtYV9fbmF2LFxuICAuZm90b3JhbWFfX3N0YWdlX19mcmFtZVxuICB7XG4gICAgQGV4dGVuZCAlZ3B1O1xuICB9XG4gIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19pbWcsXG4gIC5mb3RvcmFtYV9faHRtbCB7XG4gICAgQGV4dGVuZCAlZ3B1O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdGltZTtcbiAgfVxufVxuXG4uZm90b3JhbWFfX3dyYXAtLXZpZGVvIHtcbiAgLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQsXG4gIC5mb3RvcmFtYV9fc3RhZ2UsXG4gIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyB7XG4gICAgQGV4dGVuZCAlbm8tdHJhbnNmb3JtO1xuICB9XG4gIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyB7XG4gICAgLmZvdG9yYW1hX19pbWcsXG4gICAgLmZvdG9yYW1hX19odG1sIHtcbiAgICAgIEBleHRlbmQgJW5vLXRyYW5zZm9ybTtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5mb3RvcmFtYV9fc2VsZWN0IHtcbiAgQGV4dGVuZCAlc2VsZWN0O1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5mb3RvcmFtYV9fbm8tc2VsZWN0IHtcbiAgQGV4dGVuZCAlbm8tc2VsZWN0O1xufVxuXG4uZm90b3JhbWFfX2xvYWQge1xuICBAZXh0ZW5kICVoaWRkZW47XG59XG5cbi5mb3RvcmFtYV9fdmlkZW8ge1xuICB0b3A6IDMycHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGlmcmFtZSB7XG4gICAgQGV4dGVuZCAlc3RyZXRjaDtcbiAgfVxufVxuXG4vKiBTdHJhbmdlIGZpeCBvZiB0aGUgIzY2IGlzc3VlIChGaXJlZm94IGJ1ZyB3aGlsZSBzbGlkaW5nIGJhY2t3YXJkcykgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKXtcbiAgLmZvdG9yYW1hX19hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBpbXBvcnQgJ2Fycm93cyc7XG5AaW1wb3J0ICdzaGFkb3dzJztcbiIsIi5mb3RvcmFtYV9fYXJyLFxuLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sXG4uZm90b3JhbWFfX3ZpZGVvLXBsYXksXG4uZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAZXh0ZW5kICVuby10YXA7XG4gIEBleHRlbmQgJW5vLXNlbGVjdDtcblxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMgJiB7XG4gICAgQGV4dGVuZCAlaW5pdGlhbC10cmFuc2xhdGU7XG4gIH1cbn1cblxuLy8uZm90b3JhbWFfX2FyciB7XG4vLyAgd2lkdGg6ICRhcnJTaXplICogMS41O1xuLy8gIGhlaWdodDogMTAwJTtcbi8vICB0b3A6IDA7XG4vLyAgYm90dG9tOiAwO1xuLy99XG5cbi5mb3RvcmFtYV9fYXJyIHtcbiAgLy9AZXh0ZW5kICVncHU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6ICRhcnJTaXplO1xuICBoZWlnaHQ6ICRhcnJTaXplO1xuICAvL2xlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIC8vbWFyZ2luLWxlZnQ6IC0oJGFyclNpemUgLyAyKTtcbiAgbWFyZ2luLXRvcDogLSgkYXJyU2l6ZSAvIDIpO1xuICBAZXh0ZW5kICVzcHJpdGU7XG59XG5cbi5mb3RvcmFtYV9fYXJyLS1wcmV2IHtcbiAgbGVmdDogMnB4O1xuICAvLy5mb3RvcmFtYV9fYXJyX19hcnIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgLy99XG59XG5cbi5mb3RvcmFtYV9fYXJyLS1uZXh0IHtcbiAgcmlnaHQ6IDJweDtcbiAgLy8uZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAoLSRhcnJTaXplKSAwO1xuICAvL31cbn1cblxuLmZvdG9yYW1hX19hcnItLWRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgKmRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IC4xO1xufVxuXG4uZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gIHdpZHRoOiAkYXJyU2l6ZTtcbiAgaGVpZ2h0OiAkYXJyU2l6ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIEBleHRlbmQgJXNwcml0ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAoLSRhcnJTaXplKTtcbiAgei1pbmRleDogMjA7XG59XG5cbi5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLFxuLmZvdG9yYW1hX19hcnIge1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGV4dGVuZCAlZm9jdXM7XG4gICAgQGV4dGVuZCAlZm9jdXMtb3ZlcmxheTtcbiAgfVxufVxuXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4ge1xuICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC0kYXJyU2l6ZSkgKC0kYXJyU2l6ZSk7XG4gIH1cbn1cblxuLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgd2lkdGg6ICRhcnJTaXplICogMztcbiAgaGVpZ2h0OiAkYXJyU2l6ZSAqIDM7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtKCRhcnJTaXplICogMyAvIDIpO1xuICBtYXJnaW4tdG9wOiAtKCRhcnJTaXplICogMyAvIDIpO1xuICBAZXh0ZW5kICVzcHJpdGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgKC0kYXJyU2l6ZSoyKTtcbiAgb3BhY2l0eTogMDtcblxuICAuZm90b3JhbWFfX3dyYXAtLWNzczIgJixcbiAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZm90b3JhbWFfX2xvYWRlZCAmLFxuICAuZm90b3JhbWFfX2Vycm9yICYsXG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lICYge1xuICAgIHdpZHRoOiAkYXJyU2l6ZTtcbiAgICBoZWlnaHQ6ICRhcnJTaXplO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRhcnJTaXplIC8gMik7XG4gICAgbWFyZ2luLXRvcDogLSgkYXJyU2l6ZSAvIDIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICgtJGFyclNpemUqMikgKC0kYXJyU2l6ZSk7XG4gIH1cbn1cblxuLmZvdG9yYW1hX192aWRlby1jbG9zZSB7XG4gIHdpZHRoOiAkYXJyU2l6ZTtcbiAgaGVpZ2h0OiAkYXJyU2l6ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgQGV4dGVuZCAlc3ByaXRlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAoLSRhcnJTaXplKjIpIDA7XG4gIHotaW5kZXg6IDIwO1xuICBvcGFjaXR5OiAwO1xuXG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZvdG9yYW1hX193cmFwLS1jc3MzICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFyclNpemUsIC0kYXJyU2l6ZSwgMCk7XG4gIH1cblxuICAuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuXG4uZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIHtcbiAgLmZvdG9yYW1hX19hcnIsXG4gIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLmZvdG9yYW1hX193cmFwLS12aWRlbyB7XG4gIC5mb3RvcmFtYV9fYXJyLFxuICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMiB7XG4gICYuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIHtcbiAgICAuZm90b3JhbWFfX2FycixcbiAgICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZvdG9yYW1hX193cmFwLS12aWRlbyB7XG4gICAgLmZvdG9yYW1hX19hcnIsXG4gICAgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMge1xuICAmLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3Mge1xuICAgIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOm5vdCg6Zm9jdXMpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFyclNpemUsIC0kYXJyU2l6ZSwgMCk7XG4gICAgfVxuICAgIC5mb3RvcmFtYV9fYXJyLS1wcmV2Om5vdCg6Zm9jdXMpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhcnJTaXplICogMS41LCAwLCAwKTtcbiAgICB9XG4gICAgLmZvdG9yYW1hX19hcnItLW5leHQ6bm90KDpmb2N1cykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYXJyU2l6ZSAqIDEuNSwgMCwgMCk7XG4gICAgfVxuICB9XG4gICYuZm90b3JhbWFfX3dyYXAtLXZpZGVvIHtcbiAgICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhcnJTaXplLCAtJGFyclNpemUsIDApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mb3RvcmFtYV9fYXJyLS1wcmV2IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhcnJTaXplICogMS41LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZm90b3JhbWFfX2Fyci0tbmV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhcnJTaXplICogMS41LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMge1xuICAuZm90b3JhbWFfX2Fycjpub3QoOmZvY3VzKSxcbiAgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246bm90KDpmb2N1cyksXG4gIC5mb3RvcmFtYV9fdmlkZW8tcGxheTpub3QoOmZvY3VzKSxcbiAgLmZvdG9yYW1hX192aWRlby1jbG9zZTpub3QoOmZvY3VzKSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0aW1lO1xuICB9XG59XG5cbiIsIi5mb3RvcmFtYV9fc3RhZ2UsIC5mb3RvcmFtYV9fbmF2IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMXB4IDEwMCUsIDVweCAxMDAlO1xuICAgIEBleHRlbmQgJWdwdTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMikgMjUlLCByZ2JhKDAsIDAsIDAsIDAuMykgNzUlLCB0cmFuc3BhcmVudCksIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDAgNTAlLCByZ2JhKDAsIDAsIDAsIDAuNCksIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgMDtcbiAgICBsZWZ0OiAtMTBweDtcbiAgfVxuICAmLmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4yKSAyNSUsIHJnYmEoMCwgMCwgMCwgMC4zKSA3NSUsIHRyYW5zcGFyZW50KSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMTAwJSA1MCUsIHJnYmEoMCwgMCwgMCwgMC40KSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCwgMTAwJSAwO1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgfVxuICAmLmZvdG9yYW1hX19zaGFkb3dzLS1yaWdodDphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fc3RhZ2UsXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXYsXG4uZm90b3JhbWFfX3dyYXAtLW5vLXNoYWRvd3MgLmZvdG9yYW1hX19zdGFnZSxcbi5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX25hdixcbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdG9yYW1hIGltYWdlIGdhbGxlcmllcyB2aWEgV1AncyBidWlsdCBpbiBnYWxsZXJ5IGZlYXR1cmUuXG5cbi8vIFNDU1MgZGlyZWN0bHkgZm9ybSB0aGUgZ2FsbGVyeSBnaXQgcmVwb1xuLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXJ0cG9saWthcnBvdi9mb3RvcmFtYS90cmVlL21hc3Rlci9zcmMvc2Nzc1xuQGltcG9ydCAnZm90b3JhbWEvZm90b3JhbWEnO1xuXG4vLyBXcmFwcGVyICYgb3ZlcnJpZGluZyBzdHlsZXNcbi5pbmxpbmUtZ2FsbGVyeS1vdXRlciB7XG5cdG1hcmdpbjogMS43NWVtIDA7XG59XG5cbi5mb3RvcmFtYSB7XG5cdGJhY2tncm91bmQ6ICMxMTE7XG5cdHBhZGRpbmc6IDJweCAycHggMCAycHg7XG59XG5cbi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuNik7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uZm90b3JhbWFfX2NhcHRpb24ge1xuXHRib3R0b206IGF1dG87XG5cdGJvdHRvbTogMS4yJTtcblx0bGVmdDogNTAlO1xuXHRyaWdodDogMSU7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDEzcHg7XG59XG5cbi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi5zaW5nbGUtY29udGVudC10ZXh0IHtcblxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHRpbWcsIGZpZ3VyZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQmLmFsaWduY2VudGVyIHtcblx0XHRcdG1hcmdpbjogMS41cmVtIGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Ly8gV2hlbiBpbWFnZXMgaGF2ZSBjYXB0aW9ucy4uLlxuXHRmaWd1cmUge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDEuNzVyZW0gMDtcblxuXHRcdCYuYWxpZ25jZW50ZXIsXG5cdFx0Ji5hbGlnbm5vbmUge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0Ly8gUmVzZXQgaW1hZ2UgcG9zaXRpb25zIHdoZW4gaW5zaWRlIGZpZ3VyZXNcblx0XHRpbWcge1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQmLmFsaWduY2VudGVyLFxuXHRcdFx0Ji5hbGlnbm5vbmUsXG5cdFx0XHQmLmFsaWdubGVmdCxcblx0XHRcdCYuYWxpZ25yaWdodCB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRmaWdjYXB0aW9uIHtcblx0XHRmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cGFkZGluZzogMC4zMzNyZW0gMCAwO1xuXHR9XG5cblx0Ly8gV2hlbiBpbWFnZXMgbGluayB0byBmaWxlXG5cdGFbcmVsXj0nYXR0YWNobWVudCddIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0aW1nLCBmaWd1cmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0ZmlndXJlIGFbcmVsXj0nYXR0YWNobWVudCddIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXG5cdFx0aW1nLCBmaWd1cmUge1xuXG5cdFx0XHQmLmFsaWdubGVmdCB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEuNzVyZW07XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdH1cblxuXHRcdFx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMS43NXJlbTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBSZXNldCBpbWFnZSBwb3NpdGlvbnMgd2hlbiBpbnNpZGUgZmlndXJlc1xuXHRcdGZpZ3VyZSBpbWcge1xuXHRcdFx0Ji5hbGlnbmxlZnQsICYuYWxpZ25yaWdodCB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLnNpbmdsZS1jb250ZW50LXRleHQge1xuXG5cdGJsb2NrcXVvdGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IDJyZW0gMCAycmVtIDAuNzVyZW07XG5cdFx0Y29sb3I6ICRjb2xvci0xO1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4zMztcblx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodCAqIDEuMTtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblxuXHRcdD4gcCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMS42ZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblx0XHRcdGNpdGUge1xuXHRcdFx0XHR0ZXh0LWluZGVudDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogLTAuMmVtO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luOiAwIDAuMjVlbSAwIDA7XG5cdFx0XHRjb250ZW50OiAnXFwyMDFDJztcblx0XHRcdGZvbnQtc2l6ZTogM2VtO1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0dGV4dC1yZW5kZXJpbmc6YXV0bztcblx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7XG5cdFx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAxLjI1O1xuXHRcdFx0bWFyZ2luOiAxLjVlbSA1JTtcblx0XHR9XG5cdH1cblxuXHRjaXRlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiAwLjVlbTtcblx0XHRtYXJnaW4tbGVmdDogMnJlbTtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG5cdFx0Ly90ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXDIwMTQnO1xuXHRcdH1cblx0fVxufSIsIi5zaW5nbGUtY29udGVudC10ZXh0IHtcblxuXHQvLyBUYWJsZXMgLSBnZW5lcmljXG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cblx0dGFibGUge1xuXHRcdEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImtlcm5cIixcImxpZ2FcIixcInRudW1cIik7XG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRtYXJnaW46IDJyZW0gMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdHRoIHtcblx0XHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHR0cixcblx0dGQsXG5cdHRoIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG5cblx0Ly8gVGFibGUgaGVhZFxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5cdHRoZWFkIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAjZWVlO1xuXG5cdFx0dHIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHR9XG5cblx0XHR0ZCwgdGgge1xuXHRcdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0Ly8gVGFibGUgYm9keVxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5cdHRib2R5IHtcblxuXHRcdHRkLCB0aCB7XG5cdFx0XHRwYWRkaW5nOiAwLjVyZW07XG5cdFx0fVxuXG5cdFx0dHI6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi5zaW5nbGUtY29udGVudC10ZXh0IHtcblxuXHR1bCwgb2wge1xuXHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdG1hcmdpbjogMS41ZW0gMDtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cdH1cblxuXHRvbCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuXHR9XG5cblx0bGkge1xuXHRcdG1hcmdpbjogMC41ZW0gMDtcblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbjogMC4yNWVtIDAgMWVtO1xuXHR9XG5cbn1cbiIsIi8vIExhYmVscyAoZS5nLiBjYXRlZ29yeSBtYXJraW5nKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuYS5sYWJlbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0cGFkZGluZzogMC4zcmVtIDAuNXJlbSAwLjM1cmVtO1xuXHRtYXgtd2lkdGg6IDc1JTtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQ6ICRjb2xvci0yO1xuXHRmb250LXNpemU6IDAuNzVlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR6LWluZGV4OiAyO1xuXHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgOTQlLCA0cHggMTAwJSkpO1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLTIsIDUlKTtcblx0fVxufSIsIi8vIE1lbWJlciBpbmZvIGJveGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4ubWVtYmVyLWluZm8ge1xuXG5cdC5tZW1iZXItaW5mby1ibG9jayB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHRmb250LXNpemU6IDEuMzNlbTtcblx0fVxuXG5cdGR0IHtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG5cdH1cblxuXHRkZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0Lm1lbWJlci1pbmZvLWNvbnRhY3RzIHtcblx0XHRkbCB7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEuMjVlbTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4uc2luZ2xlLWNvbnRlbnQtdGV4dCAubWVtYmVyLWluZm8ge1xuXHRkdCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdGNsZWFyOiBsZWZ0O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogMTByZW07XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0cGFkZGluZy10b3A6IDAuN3JlbTtcblx0XHR9XG5cdH1cblxuXHRkZCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdHBhZGRpbmc6IDAuNTVyZW0gMCAwIDExcmVtO1xuXHRcdH1cblx0fVxufVxuXG4ubWVtYmVyLWxvZ28ge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4ubWVtYmVyLXNlY3Rpb25zIHtcblx0dWwge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHRsaSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblxuXHRhIHtcblx0XHRAaW5jbHVkZSBhcmNoaXZlLWxpbmstc3R5bGU7XG5cdH1cbn1cblxuLm1lbWJlci1pbmZvLWxpbmtzIHtcblx0ZGQge1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxufVxuXG4ubWVtYmVyLWluZm8tZmlsZXMge1xuXHRsaSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0YSB7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHR9XG59IiwiLy8gTWVtYmVyIGluIGEgbG9vcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLnBvc3QtbG9vcC1pdGVtLnR5cGUtbWVtYmVyIHtcblx0Lm1lbWJlci1zZWN0aW9ucyB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG5vbmUgMWVtIDFlbSAxZW0pO1xuXG5cdFx0bGkge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRcdG1hcmdpbi1yaWdodDogMXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXB4O1xuXHRcdH1cblx0fVxuXG5cdD4gYTpmaXJzdC1vZi10eXBlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNWVtO1xuXHR9XG59IiwiLnRheC1jYXRlZ29yeV9tZW1iZXJzaGlwIHtcblxuXHRoZWFkZXIgLmFyY2hpdmUtdGl0bGUgc3BhbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5hcmNoaXZlLWhlYWRlci1jb250ZW50IHtcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5jYXRlZ29yeS10b3AtbGV2ZWwud2lkZ2V0LndpZGdldF9uYXZfbWVudSB7XG5cdHVsIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1ucygyKTtcblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xuXHRcdFx0XHQtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc2lkZWJhci5jYXRlZ29yeS1zZWFyY2gtZmlsdGVycyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0cGFkZGluZzogMCAxZW0gMWVtO1xuXG5cdC5jYXRlZ29yeS1zdWItbGV2ZWwud2l0aC1jaGlsZHJlbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdH1cblx0fVxuXG5cdC5jYXRlZ29yeS1zdWItbGV2ZWwge1xuXHRcdGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS10YWJsZTtcblx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0fVxuXHR9XG59IiwiLy8gTWVnYSBtZW51XG5cbi5tZWdhLW1lbnUtbWFzayB7XG5cdGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxNTAsMTUwLDE1MCwuNSk7XG5cdFx0ei1pbmRleDogOTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbiNuYXYge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdH1cblxuXHQvLyBBbGwgbGV2ZWxzXG5cdHVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICNmMWYxZjE7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQqMS4xO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAxLjNyZW0gMS40cmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIExldmVsIDFcblx0PiB1bCB7XG5cdFx0Y2xlYXI6IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRjbGVhcjogbm9uZTtcblx0XHRcdG1hcmdpbjogMCAyLjdyZW0gMCAxNjhweDtcblx0XHR9XG5cblx0XHQ+IGxpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGJvdHRvbTogMS4yNWVtO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMS4xcmVtO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IC5zdWItbWVudSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvYm9keS9iZ19sZWZ0LnBuZycpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbi15OiA2NXB4O1xuXG5cdFx0XHRcdFx0PiBsaSB7XG5cdFx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEsXG5cdFx0XHRcdCYuY3VycmVudC1wYWdlLWFuY2VzdG9yID4gYSB7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRib3R0b206IDEuMjVlbTtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEuMXJlbTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0xO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRcdFx0cGFkZGluZzogMS41ZW07XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdCY6aG92ZXIge31cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEuOXJlbSAxLjFyZW0gMS41cmVtO1xuXHRcdFx0XHRcdGNvbG9yOiAjMjIyO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzIyMjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIExldmVsIDJcblx0PiB1bCA+IGxpID4gdWwge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAxLjVlbTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDk5O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDk3JSkpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdFx0fVxuXG5cdFx0Ji5ub3JtYWwtc3ViIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblxuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblxuXHRcdFx0PiBsaSA+IGEge1xuXHRcdFx0XHRmb250LXdlaWdodDogJHJlZ3VsYXItd2VpZ2h0O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdHdpZHRoOiAzMDBweDtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0cGFkZGluZzogMmVtIDFlbTtcblxuXHRcdFx0XHQ+IGxpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdD4gbGkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDAgMCAyZW07XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdD4gYSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDAgMS41cmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjVyZW0gMDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLTI7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwLjc1ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBMZXZlbCAzXG5cdD4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDAuNWVtO1xuXG5cdFx0PiBsaSB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0cGFkZGluZzogMC41ZW0gMmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjMzM2VtIDFlbSAwLjMzM2VtIDAuNzVlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIERyb3AgaWNvblxuXHQuaGFzLXN1Yi1tZW51IHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCIrXCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBhdXRvKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBhZGRpbmc6IDEuM2VtIDEuNWVtO1xuXHRcdFx0Y29sb3I6ICRjb2xvci0yO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gTW9iaWxlIG1lbnUgdG9nZ2xlXG5cdC5tZW51LXRvZ2dsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1yaWdodDogM3JlbTtcblx0XHRwYWRkaW5nOiAwLjhyZW07XG5cdFx0Zm9udC1zaXplOiAzNHB4O1xuXHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLTI7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyBTaG93IG1lbnUgb24gdG9nZ2xlXG5cdC5zaG93LW9uLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8vIEl0ZW0gaW4gc2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4ubm90LWZvdW5kLWxvb3AtaXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0bWFyZ2luOiAwIDAgMS4zMzNlbSAwO1xuXHRwYWRkaW5nOiAxcmVtO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogMS41cmVtO1xuXHR9XG5cblx0aDIge1xuXHRcdG1hcmdpbjogMCAwIDAuNWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLnNlYXJjaC1pdGVtLWV4Y2VycHQge30iLCIvLyBQYWdpbmF0aW9uIG9mIGxvb3BzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4ucG9zdHMtbmF2aWdhdGlvbiB7XG5cdGNsZWFyOiBib3RoO1xuXHRwYWRkaW5nOiAyLjVlbSAwO1xuXG5cdC5uYXYtbGlua3Mge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5uYXYtcHJldmlvdXMsXG5cdC5uYXYtbmV4dCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMi41ZW07XG5cdFx0bWFyZ2luOiAwIDFlbTtcblxuXHRcdGEgPiBzcGFuIHtcblx0XHRcdEBpbmNsdWRlIHNjcmVlbi1yZWFkZXItdGV4dDtcblx0XHR9XG5cblx0XHRhOmFmdGVyIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1wcmV2aW91cyBhIHtcblx0XHQvL0BpbmNsdWRlIGljb25zKCAnXFxlODc5JywgJ2xpbmVhcmljb25zJywgJ2FmdGVyJywgJGNvbG9yLWNhcmRpbmFsLCAnMCcgKTtcblx0fVxuXG5cdC5uYXYtbmV4dCBhIHtcblx0XHQvL0BpbmNsdWRlIGljb25zKCAnXFxlODdhJywgJ2xpbmVhcmljb25zJywgJ2FmdGVyJywgJGNvbG9yLWNhcmRpbmFsLCAnMCcgKTtcblx0fVxufVxuXG4ubnVtYmVyZWQtcGFnaW5hdGlvbiB7XG5cdGNsZWFyOiBib3RoO1xuXHRwYWRkaW5nOiAyLjVlbSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdD4gKiB7XG5cdFx0bWFyZ2luOiAwIDAuNWVtO1xuXHR9XG59IiwiLy8gQXV0aG9yIGJveCBvbiBhIHNpbmdsZSBwb3N0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4jY29tbWVudHMge1xuXHRtYXJnaW46IDIuNWVtIDA7XG59IiwiLy8gUG9zdCBpbiBhIGxvb3Bcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi5wb3N0LWxvb3AtaXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0bWFyZ2luOiAwIDAgMS4zMzNlbSAwO1xuXG5cdD4gYTpmaXJzdC1vZi10eXBlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogM2VtO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRAaW5jbHVkZSBvcGFjaXR5LXRyYW5zZm9ybTtcblx0fVxuXG5cdCYuaGFzLXBvc3QtdGh1bWJuYWlsIHtcblx0XHQucG9zdC1sb29wLWl0ZW0td3JhcCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG5cdFx0XHQucG9zdC1sb29wLWl0ZW0tdGV4dCB7XG5cdFx0XHRcdEBpbmNsdWRlIG9yZGVyKDIpO1xuXHRcdFx0fVxuXG5cdFx0XHQucG9zdC1sb29wLWl0ZW0taW1hZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBvcmRlcigxKTtcblx0XHRcdH1cblxuXHRcdFx0LnBvc3QtbG9vcC1pdGVtLWV4Y2VycHQge1xuXHRcdFx0XHRAaW5jbHVkZSBvcmRlcigzKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnBvc3QtbG9vcC1pdGVtLXdyYXAge1xuXG5cdGgyIHtcblx0XHRtYXJnaW46IDRyZW0gMXJlbSAxcmVtO1xuXHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0fVxuXG5cdC5tZXRhIHtcblx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRmb250LXNpemU6IGVtKDEzKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwLjY2NnJlbTtcblx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0XHRsZWZ0OiAxcmVtO1xuXHR9XG5cbn1cblxuLnBvc3QtdHlwZS1hcmNoaXZlLWV2ZW50IHtcblx0LmV2ZW50LWRhdGUsIC5ldmVudC1jaXR5IHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG4ucG9zdC1sb29wLWl0ZW0uaGFzLXBvc3QtdGh1bWJuYWlsIHtcblxuXHQucG9zdC1sb29wLWl0ZW0td3JhcCB7XG5cdFx0aDIge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0XHRmb250LXNpemU6IDEuMzMzZW07XG5cdFx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcblx0XHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHR9XG5cdH1cbn1cblxuLnBvc3QtbG9vcC1pdGVtLWltYWdlIHtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0YSwgaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5wb3N0LWxvb3AtaXRlbS1leGNlcnB0IHtcblx0bWFyZ2luOiAwIDFyZW07XG5cdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRmb250LXNpemU6IDAuOWVtO1xuXG5cdHAge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCIvLyBBdXRob3IgYm94IG9uIGEgc2luZ2xlIHBvc3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi5wb3N0LWF1dGhvciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAyLjVlbSAwO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwYWRkaW5nOiAxZW07XG5cdG1pbi1oZWlnaHQ6IDkuN2VtO1xuXG5cdC5wb3N0LWF1dGhvci1tZXRhIHtcblx0XHRtYXJnaW46IDFyZW0gMCAxcmVtIDI3JTtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG5cblx0aDIge1xuXHRcdG1hcmdpbjogMCAwIDAuMWVtO1xuXHRcdGZvbnQtc2l6ZTogMS4zMzNlbTtcblxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2FwcygpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC4xZW07XG5cdFx0fVxuXHR9XG5cblx0W2l0ZW1wcm9wPVwiam9iVGl0bGVcIl0ge1xuXHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuXHRcdGZvbnQtd2VpZ2h0OiAkbGlnaHQtd2VpZ2h0O1xuXHR9XG5cblx0W2l0ZW1wcm9wPVwidGVsZXBob25lXCJdLCBbaXRlbXByb3A9XCJlbWFpbFwiXSB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbjogMC41ZW0gMWVtIDAgMDtcblx0fVxuXG5cdC5wb3N0LWF1dGhvci1pbWFnZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMjUlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAlLCA4NSUgMTAwJSwgMCUgMTAwJSkpO1xuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCA1MCUpO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAwKSk7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn0iLCIvLyBJdGVtIGluIHNlYXJjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLnNlYXJjaC1sb29wLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdG1hcmdpbjogMCAwIDEuMzMzZW0gMDtcblx0cGFkZGluZzogMXJlbTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmc6IDEuNXJlbTtcblx0fVxuXG5cdGgyIHtcblx0XHRtYXJnaW46IDAgMCAwLjVlbTtcblx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Lm1ldGEge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHR0aW1lIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRmb250LXNpemU6IGVtKDEzKTtcblx0XHRsaW5lLWhlaWdodDogMS4zM2VtO1xuXHRcdHBhZGRpbmc6IDAgMXJlbSAwIDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHR9XG5cblx0LmxpbmstdXJsIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRmb250LXNpemU6IGVtKDEzKTtcblx0XHRsaW5lLWhlaWdodDogMS4zM2VtO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0fVxufVxuXG4uc2VhcmNoLWl0ZW0tZXhjZXJwdCB7fSIsIi8vIFNlYXJjaCBmb3JtIGluIHNlYXJjaCB0ZW1wbGF0ZSBhbmQgaW4gaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG5mb3JtLnNlYXJjaC1mb3JtIHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0cGFkZGluZzogMC43NWVtO1xuXHRtYXJnaW4tYm90dG9tOiAxLjMzM3JlbTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdGlucHV0IHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0Jlt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdG1pbi13aWR0aDogMjIwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG5cdFx0XHRwYWRkaW5nOiAwLjMzM2VtO1xuXHRcdH1cblx0fVxuXG5cdGJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDFweDtcblx0fVxuXG5cdC8vIFNwZWNpZmljIGZvciBoZWFkZXIgc2VhcmNoIGZvcm1cblx0Ji5oZWFkZXItc2VhcmNoLWZvcm0ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0Ym94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XG5cdFx0fVxuXG5cdFx0aW5wdXQge1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0Jlt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5tZW1iZXJzIHtcblx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuXG5cdC5wb3N0LWxvb3AtaXRlbSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSgybik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0QGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXHRcdFx0QGluY2x1ZGUgb21lZ2EoM24pO1xuXHRcdH1cblxuXHRcdC5tZW1iZXItc2VjdGlvbnMge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHJpZ2h0OiAxZW07XG5cdFx0ICAgIGJvdHRvbTogMWVtO1xuXHRcdCAgICBsZWZ0OiAxZW07XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gUGV5dHogTWFpbCB3aWRnZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi5wZXl0em1haWwtc2hvcnRjb2RlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXJnaW46IDJlbSAwO1xuXHRwYWRkaW5nOiAxcmVtO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdGgyIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59IiwiLy8gSGVhZGVycyBmb3IgdGF4b25vbWllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLnNpbmdsZS1jb250ZW50LXRleHQge1xuXHRtYXJnaW4tYm90dG9tOiAyLjc1ZW07XG5cblx0LmV4Y2VycHQge1xuXHRcdEBpbmNsdWRlIGV4Y2VycHQ7XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0dWwsIG9sIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0XHRtYXJnaW46IDEuNWVtIDA7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXHR9XG5cblx0b2wge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblx0fVxuXG5cdGxpIHtcblx0XHRtYXJnaW46IDAuNWVtIDA7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW46IDAuMjVlbSAwIDFlbTtcblx0fVxuXG5cdC5zb3VyY2Uge1xuXHRcdG1hcmdpbjogMS41ZW0gMDtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0XHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG5cdH1cblxufSIsIi8vIEhlYWRlcnMgZm9yIHBhZ2VzLCBwb3N0cyBhbmQgZXZlbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4uc2luZ2xlLWhlYWRlciB7XG5cdEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG5cdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cblx0aDEge1xuXHRcdEBpbmNsdWRlIG9yZGVyKDMpO1xuXHR9XG5cblx0LndwLXBvc3QtaW1hZ2Utd3JhcCB7XG5cdFx0QGluY2x1ZGUgb3JkZXIoMSk7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0bWFyZ2luOiAwIDAgMS4zMzNyZW07XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdGZpZ2NhcHRpb24ge1xuXHRcdFx0cGFkZGluZy10b3A6IDAuMzMzZW07XG5cdFx0XHRmb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgKiAwLjkyODU3O1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0fVxuXG5cdC5zaW5nbGUtbWV0YSB7XG5cdFx0QGluY2x1ZGUgb3JkZXIoMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS4xcmVtO1xuXHR9XG5cblx0LnBvc3QtY2F0ZWdvcmllcyB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cblx0XHR1bCB7XG5cblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LnBvc3QtY2F0ZWdvcmllcyBhLCBhLmFyY2hpdmUtbGluayB7XG5cdFx0QGluY2x1ZGUgYXJjaGl2ZS1saW5rLXN0eWxlO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHR0aW1lIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0QGluY2x1ZGUgc21hbGwtYWxsLWNhcHM7XG5cdFx0cGFkZGluZzogMC4zMzNlbSAwIDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHR9XG59IiwiLy8gSGVhZGVycyBmb3IgcGFnZXMgYW5kIHBvc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4uc2luZ2xlLXRlcm0tYmFubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLWJnLCAzJSk7XG5cdHBhZGRpbmc6IDEuNzVlbSAwIDEuNWVtO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuXHQuc2luZ2xlLXRlcm0tYmFubmVyLWlubmVyIHt9XG5cblx0LnRlcm0tYmFubmVyLWltYWdlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMTAlIDEwMCUsMTAwJSA5MCUsMTAwJSAwcHgsMHB4IDBweCkpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA1MDBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkeGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDYwMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50ZXJtLWJhbm5lci10aXRsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cblx0XHRhIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkcmVndWxhci13ZWlnaHQ7XG5cdFx0fVxuXG5cdFx0PiBzcGFuIGEge1xuXHRcdFx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cdFx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHR9XG5cdH1cblxufSIsIi8vIFJlbGF0ZWQgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLnJlbGF0ZWQtY29udGVudCB7XG5cdG1hcmdpbjogMi43NWVtIDAgMi41ZW07XG5cdGgxIHtcblx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcygkc3Ryb25nLXdlaWdodCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG59IiwiLy8gVGF4b25vbXkgdGVybSBpbiBhIGxvb3Bcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi50ZXJtLWxvb3AtaXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0bWFyZ2luOiAwIDAgMS4zMzNlbSAwO1xuXG5cdGEge1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgb3BhY2l0eS10cmFuc2Zvcm07XG5cdH1cblxuXHQmLmhhcy10ZXJtLXRodW1ibmFpbCB7XG5cdFx0LnRlcm0tbG9vcC1pdGVtLXdyYXAge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuXHRcdFx0LnRlcm0tbG9vcC1pdGVtLXRleHQge1xuXHRcdFx0XHRAaW5jbHVkZSBvcmRlcigyKTtcblx0XHRcdH1cblxuXHRcdFx0LnRlcm0tbG9vcC1pdGVtLWltYWdlIHtcblx0XHRcdFx0QGluY2x1ZGUgb3JkZXIoMSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50ZXJtLWxvb3AtaXRlbS10ZXh0IHtcblx0cGFkZGluZzogMS4yNWVtIDFlbSAxLjVlbTtcblxuXHRoMiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHR9XG5cblx0LnRlcm0tbG9vcC1pdGVtLWV4Y2VycHQge1xuXHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHR9XG5cbn1cblxuLnRlcm0tbG9vcC1pdGVtLWltYWdlIHtcblx0YSwgaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn0iLCIvLyBHZW5lcmljIHdpZGdldCBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbmgyLndpZGdldHRpdGxlIHtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRmb250LXNpemU6IGVtKDE0KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xufVxuXG4ud2lkZ2V0IHtcblx0bWFyZ2luOiAwIDAgM3JlbTtcblxuXHRwIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0fVxuXG5cdHVsIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwIDAgMC41ZW07XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG5cdH1cblxuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLndpZGdldC1idXR0b24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IDA7XG5cdHBhZGRpbmc6IDAuNjZlbSAxZW07XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItMjtcblx0QGluY2x1ZGUgc21hbGwtYWxsLWNhcHM7XG5cdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgNXB4LCAxMDAlIDAlLCAxMDAlIDEwMCUsIDRweCAxMDAlKSk7XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItMiwgNSUpO1xuXHR9XG59IiwiLy8gQWR2ZXJ0IHdpZGdldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLndpZGdldF9wbGlfYWR2ZXJ0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMS41ZW07XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmFkdmVydC1sYWJlbCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMC4ycmVtO1xuXHRcdGxlZnQ6IDEuNXJlbTtcblx0XHRyaWdodDogMS41cmVtO1xuXHRcdGZvbnQtc2l6ZTogMC43NWVtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLnNpZGViYXIgLndpZGdldF9wbGlfYWR2ZXJ0IHtcblx0aW1nIHtcblx0XHRwYWRkaW5nOiAxLjVlbSAwLjVlbTtcblx0fVxufSIsIi8vIENUQSBsaWtlIEJlY29tZSBNZW1iZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi53aWRnZXRfcGxpX2N0YSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHRhIHtcblx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMS41cmVtO1xuXHRcdGZvbnQtc2l6ZTogMS4zMzNlbTtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLXRvcDogMWVtO1xuXHRcdFx0QGluY2x1ZGUgc21hbGwtYWxsLWNhcHM7XG5cdFx0XHRmb250LXNpemU6IDAuOXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRyZWd1bGFyLXdlaWdodDtcblx0XHR9XG5cdH1cblxuXHQuY3RhLXRpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRoMiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0cGFkZGluZzogMS4yNXJlbSAxLjVyZW0gMnJlbTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMWVhZTFlLCAwLjIpO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRhbHQtZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXNpemU6IDEuN2VtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDk3JSAwLCA5NCUgMTAwJSwgMCA5MCUpKTtcblx0XHR9XG5cblx0XHQubGF5ZXIge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLTM7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDk5JSAwLCA5NyUgOTAlLCAwIDgwJSkpO1xuXHRcdH1cblxuXHR9XG59XG5cbiNuYXYgLm1lbnUtd2lkZ2V0cyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdC53aWRnZXRfcGxpX2N0YSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nOiAwcmVtIDFyZW07XG5cblx0XHR9XG5cdFx0cCB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0Zm9udC1zaXplOiAxLjIzM2VtO1xuXHRcdH1cblx0fVxuXHQud2lkZ2V0X3BsaV9mcm9udHBhZ2VfbmV3c19zcGVjaWZpYyB7XG5cdFx0Lm5ld3MtaXRlbSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0XHRhLmxhYmVsIHtcblx0XHRcdHBhZGRpbmc6IDAuM3JlbSAwLjVyZW0gMC4zNXJlbTtcblx0XHR9XG5cdH1cblxuXHQucG9zdC1sb29wLWl0ZW0uaGFzLXBvc3QtdGh1bWJuYWlsIHtcblx0XHRtYXJnaW46IDAgMC43NWVtO1xuXHRcdC5wb3N0LWxvb3AtaXRlbS13cmFwIGgyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLndpZGdldF9wbGlfY3RhIH4gLndpZGdldF9wbGlfY3RhIHtcblxuXHQuY3RhLXRpdGxlIHtcblxuXHRcdGgyIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoNSwgMTI4LCAyNDIsIDAuMik7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigzJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgNSUgOTUlKSk7XG5cdFx0fVxuXG5cdFx0LmxheWVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICM2OWM2OTk7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigxJSAwLCAxMDAlIDAsIDEwMCUgOTAlLCAzJSA4MCUpKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQnJvYWQgdmVyc2lvbiBmb3IgaG9tZXBhZ2Vcbi5mcm9udHBhZ2UtY29udGVudC13aWRnZXQud2lkZ2V0X3BsaV9jdGEsIC5iZWZvcmUtZm9vdGVyLXdpZGdldHMud2lkZ2V0cy0xIC5iZWZvcmUtZm9vdGVyLXdpZGdldC53aWRnZXRfcGxpX2N0YSB7XG5cblx0cCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdHBhZGRpbmc6IDMuNXJlbSAzcmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjAuNXJlbTtcblx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdH1cblx0fVxuXG5cdC5jdGEtdGl0bGUge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTlyZW07XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblxuXHRcdFx0aDIge1xuXHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0XHRcdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMTglIDEwMCUsIDAgNzYlKSk7XG5cdFx0XHRcdHBhZGRpbmc6IDMuNXJlbSAycmVtIDJyZW0gMy41cmVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblxuXHRcdFx0LmxheWVyIHtcblx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigyNSUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDI3JSAxMDAlLCAwIDY2JSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5iZWZvcmUtZm9vdGVyIHtcblx0LmJlZm9yZS1mb290ZXItd2lkZ2V0cyB7XG5cdFx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuXG5cdFx0LmJlZm9yZS1mb290ZXItd2lkZ2V0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuMzMzZW07XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLndpZGdldHMtMiB7XG5cblx0XHRcdC5iZWZvcmUtZm9vdGVyLXdpZGdldCB7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCYud2lkZ2V0cy0yIHtcblxuXHRcdFx0LmJlZm9yZS1mb290ZXItd2lkZ2V0IHtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBvbWVnYSgybik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCYud2lkZ2V0cy0zIHtcblxuXHRcdFx0LmJlZm9yZS1mb290ZXItd2lkZ2V0IHtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBvbWVnYSgzbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC53aWRnZXRfcGxpX2Zyb250cGFnZV90ZWFzZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdFx0XHRAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG5cdFx0XHRcdEBpbmNsdWRlIG9tZWdhKDJuKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIFVwY29taW5nIGV2ZW50cyB3aWRnZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi53aWRnZXRfcGxpX2V2ZW50c191cGNvbWluZyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHQuZXZlbnRzLXRpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWF4LXdpZHRoOiA1MGVtO1xuXG5cdFx0aDIud2lkZ2V0dGl0bGUge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZzogMS43NXJlbSAxLjVyZW0gMi43NXJlbTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMWVhZTFlLCAwLjE1KTtcblx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRyZWd1bGFyLXdlaWdodDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDk3JSAwLCA5NCUgMTAwJSwgMCA5MCUpKTtcblx0XHRcdHotaW5kZXg6IDk5OTtcblx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5sYXllciB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItMztcblx0XHRcdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCA5NyUgOTAlLCAwIDgwJSkpO1xuXHRcdH1cblxuXHRcdC5sYXllci1iZyB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3BsYXN0LndwLnByb2QubmcucGV5dHouZGsvd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvV2FsdGVyQmx1bmNrZm9ydGFlbGxlcm9tVmlua3RpbGluaG91c2VtZXNzZW41ODB4MzAwLmpwZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCwgOTclIDkwJSwgMCA4MCUpKTtcblx0XHR9XG5cdH1cblxuXHQvLyBMaXN0XG5cdC5ldmVudHMtbGlzdCB7XG5cdFx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cdFx0cGFkZGluZzogMC43NWVtIDEuNWVtIDMuNWVtO1xuXHR9XG5cblx0Ly8gU2luZ2xlIGluIGxpc3Rcblx0YXJ0aWNsZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDJuKTtcblx0XHR9XG5cblx0XHQ+IGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwLjhlbSAwO1xuXHRcdFx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0XHRcdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cdFx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuXG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCRjb2xvci0yLCAxMCUpO1xuXHRcdFx0XHQucmVhZC1tb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvci0yLCAxMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aDMge1xuXHRcdEBpbmNsdWRlIG9yZGVyKDIpO1xuXHRcdG1hcmdpbjogMCA4ZW0gMCAwO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkcmVndWxhci13ZWlnaHQ7XG5cdH1cblxuXHQuaW5mbyB7XG5cdFx0QGluY2x1ZGUgb3JkZXIoMSk7XG5cdFx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xuXHR9XG5cblx0LnJlYWQtbW9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMC43NWVtO1xuXHRcdGNvbG9yOiAkY29sb3ItMjtcblx0fVxufVxuXG5ib2R5Om5vdCguaG9tZSkgLndpZGdldF9wbGlfZXZlbnRzX3VwY29taW5nIGFydGljbGUge1xuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAwLjllbTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuXHR9XG59IiwiLy8gTmV3cyB0ZWFzZXIgd2lkZ2V0IChsaWtlIEhlbGxlcyBibG9nKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLndpZGdldF9wbGlfbGF0ZXN0X25ld3NfdGVhc2VyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAyNTBweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHQudGV4dCB7XG5cdFx0bWFyZ2luOiAyZW0gMWVtIDJlbSAzNSU7XG5cblx0XHRoMi53aWRnZXR0aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDEuNjY2ZW07XG5cdFx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0QGluY2x1ZGUgZXhjZXJwdDtcblx0XHRcdGZvbnQtc2l6ZTogMS4xZW0gIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQuaW1hZ2Uge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDMzJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwJSwgODUlIDEwMCUsIDAlIDEwMCUpKTtcblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgNTAlKTtcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgMCkpO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59IiwiLy8gVGVhc2VycyBvbiB0aGUgZnJvbnRwYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuXG4uZnJvbnRwYWdlLWZlYXR1cmVkLXdpZGdldCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cblx0LmZyb250cGFnZS10ZWFzZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0LnJlYWQtbW9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRjb2xvci0yLCA1JSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGV4dC1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcblx0XHRwYWRkaW5nOiAxLjVyZW0gMyU7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0fVxuXG5cdGgyIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0XHRmb250LXNpemU6IDEuNzVlbTtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fVxuXG5cdHAge1xuXHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRcdG1hcmdpbjogMC43NWVtIDAgMC4yNWVtO1xuXHR9XG5cblx0LnJlYWQtbW9yZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRwYWRkaW5nOiAwLjVlbTtcblx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItMjtcblx0XHRjb2xvcjogI2ZmZjtcblx0fVxuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgNiUsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG5cdH1cbn1cblxuLy8gU2luZ2xlIGZlYXR1cmVcbi5mcm9udHBhZ2UtZmVhdHVyZWQtd2lkZ2V0Om9ubHktb2YtdHlwZSB7XG5cblx0LnRleHQtY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0cGFkZGluZzogNWVtIDMlO1xuXHRcdFx0bWluLWhlaWdodDogMjgwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHhsYXJnZS1zY3JlZW4tdXApIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDMyMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiAzNjBweDtcblx0XHR9XG5cdH1cblxuXHRoMiwgcCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdG1hcmdpbi1yaWdodDogNTYlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDU2JTtcblx0XHR9XG5cdH1cblxuXHRoMiB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR4bGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0XHRmb250LXNpemU6IDIuNWVtO1xuXHRcdH1cblx0fVxuXG5cdC5pbWFnZS1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDUxJTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdC5pbWFnZS1jbGlwIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oNiUgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwIDEwMCUpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgNTAlKTtcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgMCkpO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIE11bHRpcGxlIGZlYXR1cmVzXG4jZnJvbnRwYWdlLWZlYXR1cmVkLndpZGdldHMtMiB7XG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0bWF4LXdpZHRoOiA5MGVtO1xuXHRcdG1hcmdpbjogMCBhdXRvIDJlbTtcblx0XHRwYWRkaW5nOiAxZW0gMyUgMDtcblx0fVxuXG5cdC8vIG9kZGx5IG51bWJlcmVkIGZlYXR1cmUgKGJpZylcblx0LmZyb250cGFnZS1mZWF0dXJlZC13aWRnZXQ6bnRoLW9mLXR5cGUob2RkKSB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0d2lkdGg6IDY2LjglO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNSU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LnRleHQtY29udGFpbmVyIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBhdXRvIDAgMCAwKTtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxLjVlbTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cdFx0XHRcdEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgNiUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyLjI1ZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmltYWdlLWNvbnRhaW5lciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuXHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAlLCAxMDAlIDk0JSwgMCAxMDAlKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8vIEV2ZW5seSBudW1iZXJlZCBmZWF0dXJlIChzbWFsbClcblx0LmZyb250cGFnZS1mZWF0dXJlZC13aWRnZXQ6bnRoLWNoaWxkKGV2ZW4pIHtcblxuXHRcdC50ZXh0LWNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cdFx0fVxuXHR9XG59IiwiLy8gQWR2ZXJ0IHdpZGdldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLmZvb3Rlci13aWRnZXQge1xuXG5cdGZvbnQtc2l6ZTogZW0oMTQpO1xuXHRtYXJnaW4tYm90dG9tOiAyZW07XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjE1ZW07XG5cdH1cblxuXHRoMiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHQ7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW4tdG9wOiAwLjJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogZGlzYztcblx0fVxuXG5cdGxpIHtcblx0XHRtYXJnaW46IDAuMmVtIDAgMC4zMzNlbSAxLjVlbTtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcblx0fVxuXG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG5cblx0XHQubm8tdGl0bGUge1xuXHRcdFx0cGFkZGluZy10b3A6IDIuOGVtO1xuXHRcdH1cblxuXHR9XG59IiwiLy8gTWVtYmVyIGdvb2dsZSBtYXAgd2lkZ2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tL1xuLndpZGdldF9wbGlfbWVtYmVyc19tYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNtYXBfd3JhcHBlciB7XG5cdGhlaWdodDogNTUwcHg7XG59XG5cbiNtYXBfY2FudmFzIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi5tZW1iZXJzLW1hcC10aXRsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0bWF4LXdpZHRoOiA1MGVtO1xuXHR6LWluZGV4OiAyO1xuXG5cblx0Lm1lbWJlcnMtbWFwLXRpdGxlLWlubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGNvbG9yLTMsIDEwJSksIDAuNyk7XG5cdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMyUgOTUlKSk7XG5cdH1cblxuXHRoMi53aWRnZXR0aXRsZSB7XG5cdFx0cGFkZGluZzogMS43NXJlbSAxLjVyZW0gMCAycmVtO1xuXHRcdG1hcmdpbjogMCAwIDEuNzVyZW07XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRyZWd1bGFyLXdlaWdodDtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fVxuXG5cdC5tZW1iZXJzLW1hcC1saW5rLWFyY2hpdmUgYSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMCAxLjc1cmVtIDEuNzVyZW0gMnJlbTtcblx0XHRtYXJnaW4tdG9wOiAtMXJlbTtcblx0XHRAaW5jbHVkZSBzbWFsbC1hbGwtY2Fwcztcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cbn0iLCIvLyBNZW51IHdpZGdldCBzcGVjaWZpYyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi53aWRnZXQud2lkZ2V0X25hdl9tZW51IHtcblxuXHR1bCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cblx0bGkge1xuXHRcdG1hcmdpbjogMCAwIDAuNzVlbSAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuXHRcdCYuY3VycmVudCwgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZhZmFmYTtcblx0XHRcdFx0b3V0bGluZTogMXB4IHNvbGlkICNlOWU5ZTk7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGNvbG9yLTI7XG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGNvbG9yLTIsIDEwJSk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMC42ZW0gMC43NWVtIDAuNWVtO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLTE7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlciAwLjJzKTtcblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yLTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zaG93LWFsbCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAwLjZlbSAwLjc1ZW0gMC41ZW07XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLTE7XG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3ItMjtcblx0fVxuXHQucG9zdC10eXBlLWFyY2hpdmUtbWVtYmVyICYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBQZW9wbGUgd2lkZ2V0L2Nvbm5lY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi5wZW9wbGUtcDJwIHtcblxuXHRhcnRpY2xlIHtcblx0XHRtaW4taGVpZ2h0OiA4LjVlbTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IDAgMCAxLjVlbSAwO1xuXHRcdHBhZGRpbmc6IDAuOGVtIDFlbSAxZW07XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0fVxuXG5cdC5wZXJzb24tdGV4dCB7XG5cdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDI3JTtcblxuXHR9XG5cblx0aDMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkc3Ryb25nLXdlaWdodDtcblx0fVxuXG5cdC5yb2xlIHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0XHRmb250LXdlaWdodDogJGxpZ2h0LXdlaWdodDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuXHR9XG5cblx0W2l0ZW1wcm9wPVwidGVsZXBob25lXCJdLFtpdGVtcHJvcD1cImVtYWlsXCJdIHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG5cblx0LnBlcnNvbi1pbWFnZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMjUlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAlLCA4NSUgMTAwJSwgMCUgMTAwJSkpO1xuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCA1MCUpO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAwKSk7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cblxufVxuXG4uYXJjaGl2ZS1jb250ZW50IC5wZW9wbGUtcDJwIHtcblxuXHRhcnRpY2xlIHtcblx0XHRtaW4taGVpZ2h0OiA3LjVlbTtcblx0XHRwYWRkaW5nOiAwLjZlbSAwLjVlbSAwLjhlbTtcblx0fVxuXG5cdGgzIHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxuXG5cdC5yb2xlIHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG5cblx0W2l0ZW1wcm9wPVwidGVsZXBob25lXCJdLFtpdGVtcHJvcD1cImVtYWlsXCJdIHtcblx0XHRmb250LXNpemU6IDAuOGVtO1xuXHR9XG59IiwiLy8gUGV5dHogTWFpbCB3aWRnZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi53aWRnZXRfcGV5dHpfbWFpbF9zdWJzY3JpYmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cbn1cblxuLndpZGdldF9wZXl0el9tYWlsX3N1YnNjcmliZSB7XG5cdG1hcmdpbjogMDtcblxuXHRmb3JtIHtcblx0XHRwYWRkaW5nOiAxLjVyZW07XG5cdH1cblxuXHQuc3Vic2NyaWJlLXRpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRoMiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0cGFkZGluZzogMS4yNXJlbSAxLjVyZW0gMnJlbTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgjMWVhZTFlLCAwLjIpO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRhbHQtZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXNpemU6IDEuN2VtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigzJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgNSUgOTUlKSk7XG5cdFx0fVxuXG5cdFx0LmxheWVyIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci0zO1xuXHRcdFx0QGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMSUgMCwgMTAwJSAwLCAxMDAlIDkwJSwgMyUgODAlKSk7XG5cdFx0fVxuXG5cdH1cbn0iLCIvLyBCYXNpYyB0ZXh0IHdpZGdldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS9cblxuLndpZGdldF90ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAxLjVlbTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHQ+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdC50ZXh0d2lkZ2V0IHtcblx0XHRmb250LXNpemU6IDAuOWVtO1xuXHR9XG59XG5cbi5mb290ZXItd2lkZ2V0LndpZGdldF90ZXh0IHtcblx0cGFkZGluZzogMDtcblxuXHRoMiB7XG5cdFx0bWFyZ2luOiAxZW0gMCAwLjY2NmVtO1xuXHR9XG5cblx0LnRleHR3aWRnZXQge1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHR9XG59IiwiLy8gVHdpdHRlciB3aWRnZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vXG5cbi53aWRnZXRfcGxpX3R3aXR0ZXJfd2lkZ2V0IHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHQud2lkZ2V0dGl0bGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwLjhlbTtcblx0fVxuXG5cdGlmcmFtZSB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufSJdfQ== */
