/* Put your global styles here */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
  text-align: center;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
   http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #000000;
}

/* Prev / Next */
.slick-prev, .slick-next {
  position: absolute;
  top: calc(50% - 15px);
  z-index: 1;
  font-size: 0;
  background: transparent;
  border: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 48px;
  height: 30px;
  outline: none;
}
.slick-prev {
  left: 20px;
  transform: rotate(-180deg);
}

.slick-next {
  right: 20px;
}

.slick-slide {
  padding: 0 0.5px;
  box-sizing: border-box;
  display: block;
  position: relative;
}
.slick-slide .img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-size: cover;
}

.carousel__button {
  background: transparent;
  background-image: url(/img/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 48px;
  height: 30px;
  font-size: 0;
  border: none;
  border-radius: 0;
}
.carousel__button.is-prev {
  transform: rotate(-180deg);
}
.carousel__button.is-next {
  transform: none;
}
.carousel__button.is-close, .carousel__button.is-close:hover {
  background: none;
  top: 30px;
}
.carousel__button:hover {
  background-image: url(/img/arrow-over.svg);
}

.main-nav ul {
  display: flex;
}

.m-menu {
  position: fixed;
  top: 8px;
  right: 0;
  display: none;
  z-index: 6;
}
.m-menu .mm {
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  outline: none;
  padding: 0;
}
.m-menu .mm:before, .m-menu .mm:after {
  position: absolute;
  display: block;
  content: "";
  width: 14px;
  height: 2px;
  left: 18px;
  top: 19px;
  background-color: #000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.m-menu .mm:after {
  top: 27px;
}

.white .m-menu .mm:before, .white .m-menu .mm:after {
  background-color: white;
}

.m-menu-open .m-menu .mm:before {
  top: 24px;
  transform: rotate(-45deg);
}
.m-menu-open .m-menu .mm:after {
  top: 24px;
  transform: rotate(45deg);
}
.m-menu-open .m-menu .mm:before, .m-menu-open .m-menu .mm:after {
  background-color: #000 !important;
}
.m-menu-open a {
  color: #000 !important;
}

@media only screen and (max-width: 45em) {
  .m-menu {
    display: block;
  }
  html.noscroll {
    overflow: hidden;
  }
  body.noscroll {
    overflow: visible;
    height: 100%;
  }
  .m-menu-open .logo {
    z-index: 7;
  }
  .m-menu-open .main-nav {
    display: block;
    width: 100%;
  }
  .m-menu-open .main-nav .nav__container {
    background: white;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: 100%;
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
  }
  .m-menu-open .main-nav .nav__container a {
    display: block;
    margin-left: 10px;
  }
  .m-menu-open .main-nav .nav__container a:first-child {
    margin-top: 60px;
  }
  .main-nav {
    display: none;
  }
}
html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: Helvetica Neue, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: normal;
}

h1, h2 {
  font-weight: normal;
  font-size: 1rem;
}

.description, .quote {
  font-size: 3rem;
  line-height: 3.25rem;
}

.project-info {
  font-size: 2rem;
  line-height: 2.5rem;
}

.more {
  font-size: 0.8rem;
}

@media only screen and (max-width: 35em) {
  .description, .quote {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
  .project-info {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
/* Put your layout here */
body, html {
  height: 100%;
}

#container {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
}

main.main {
  flex: 1 0 auto;
  margin-top: 200px;
  padding-bottom: 20px;
}

.logo {
  position: fixed;
  left: 0;
  right: 0;
  top: 20px;
  margin: 0 auto;
  text-align: center;
  z-index: 2;
}
.logo a {
  text-decoration: none;
  text-transform: uppercase;
}

.main-nav {
  position: fixed;
  right: 40px;
  top: 20px;
  z-index: 3;
}
.main-nav a {
  text-decoration: none;
  text-transform: uppercase;
}

.projects {
  padding-left: 40px;
  padding-right: 40px;
}
.projects .project {
  text-decoration: none;
  margin-bottom: 100px;
  display: block;
  /* Hide scrollbar for Chrome, Safari and Opera */
  /* Hide scrollbar for IE, Edge and Firefox */
}
.projects .project .description, .projects .project .img img {
  display: inline;
  vertical-align: text-top;
  max-height: 400px;
}
.projects .project .meta .date {
  margin-right: 0;
}
.projects .project .meta span:after {
  content: "";
  width: 0px;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: -2px;
  transition: all 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.projects .project:hover .meta span:after {
  width: 100%;
}
.projects .project:hover .more {
  opacity: 1;
  margin-left: 0;
}
.projects .project .img {
  display: inline-block;
  margin: 1px 0 20px 20px;
  position: relative;
}
.projects .project .img img:not(.shim) {
  position: absolute;
  top: 20px;
  left: 10px;
}
.projects .project .img .shim {
  visibility: hidden;
}
.projects .project .img .add {
  display: none;
}
.projects .project .looping img {
  display: none;
}
.projects .project .looping .current {
  display: block;
}
.projects .project .more {
  opacity: 0;
  transition: all 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  margin-left: -10px;
  text-transform: uppercase;
}
.projects .project .imgs {
  width: calc(100% + 40px);
  margin-top: 20px;
  margin-left: -40px;
  display: flex;
  overflow: hidden;
  overflow-x: auto;
  padding-left: 40px;
}
.projects .project .imgs .p-img {
  margin: 10px 20px 10px 0;
}
.projects .project .imgs .p-img:last-child {
  margin-right: 40px;
}
.projects .project .imgs::-webkit-scrollbar {
  display: none;
}
.projects .project .imgs {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.meta span {
  display: inline-flex;
  position: relative;
  flex-wrap: wrap;
}
.meta span h1, .meta span h2 {
  text-transform: uppercase;
  margin: 0 20px 0 0;
  padding: 0;
}
.meta span .location, .meta span .date {
  margin-right: 10px;
}

.project-page {
  /* Hide scrollbar for Chrome, Safari and Opera */
  /* Hide scrollbar for IE, Edge and Firefox */
}
.project-page main.main {
  margin-top: 100px;
}
.project-page .meta, .project-page .description, .project-page .documentation h2, .project-page .pics-by, .project-page .project-info {
  padding-left: 40px;
  padding-right: 40px;
}
.project-page .description {
  margin-bottom: 40px;
}
.project-page .project-info {
  margin-top: 60px;
  margin-bottom: 60px;
  max-width: 1250px;
}
.project-page section {
  margin: 0 0 20px 0;
  display: flex;
  overflow-x: scroll;
  padding: 0 20px;
}
.project-page .img {
  display: inline-block;
  margin: 20px;
}
.project-page .img img {
  height: 400px !important;
  max-width: auto !important;
}
.project-page .main-imgs .img img {
  height: 700px !important;
}
.project-page section::-webkit-scrollbar {
  display: none;
}
.project-page section {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.project-page figcaption {
  display: none;
}
.project-page .pics-by {
  margin-top: -40px;
  margin-bottom: 40px;
}
.project-page .fancybox-caption__body h2 {
  position: fixed;
  bottom: 20px;
  left: 40px;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
}
.project-page .fancybox-caption__body .credits {
  position: fixed;
  bottom: 20px;
  right: 40px;
}
.project-page .documentation h2 {
  text-transform: uppercase;
  margin: 0;
}
.project-page .documentation section {
  margin-top: 0;
}
.project-page .pn-btn {
  text-transform: uppercase;
  text-decoration: none;
  position: fixed;
  bottom: 20px;
}
.project-page .prev {
  left: 40px;
}
.project-page .next {
  right: 40px;
}

.about-page .main {
  display: flex;
  max-width: 1200px;
  margin: 100px auto 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.about-page .left {
  width: 66%;
  margin-right: 10%;
}
.new .logo {
  left: 40px;
  right: auto;
}
.new .main-nav a {
  margin-left: 20px;
}
.new.browse main.main {
  margin: 0;
  padding: 0;
}
.new.browse.white a, .new.browse.white .slick-current .project-title, .new.browse.white #project-title {
  color: white;
}
.new.browse header.header a.background--dark, .new.browse .project-title.background--dark {
  color: white;
}
.new.browse header.header a.background--dark:hover, .new.browse .project-title.background--dark:hover {
  color: #000;
}
.new.browse header.header a:hover {
  color: white;
}
.new.browse .carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  right: 0;
  margin: 0 auto;
  height: 100%;
}
.new.browse .carousel .slick-track {
  height: 100vh;
}
.new.browse .project-teaser {
  text-decoration: none;
}
.new.browse .project-teaser .img {
  display: block;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
  right: 0;
  margin: 0 auto;
}
.new.browse .project-teaser .img.no-crop {
  background-size: contain;
}
.new.browse .project-teaser .img.bleed {
  background-size: cover;
}
.new.browse .quote-wrapper {
  position: relative;
  height: 100%;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  align-self: center;
}
.new.home .main {
  margin-top: 100px;
}
.new .project-title {
  opacity: 0;
}
.new .project-title, .new #project-title {
  position: fixed;
  bottom: 20px;
  left: 40px;
  text-transform: uppercase;
}
.new.about-page .main {
  display: flex;
  max-width: none;
  margin: 100px auto 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.new.about-page .left {
  width: 66%;
  margin-right: 10%;
}
.new.about-page .left p:first-child {
  margin-top: 0;
}
.new.about-page .right {
  width: 24%;
}
.new.about-page .right p:first-child {
  margin-top: 0;
}
.new.news-page .main {
  margin-top: 100px;
}
.new.news-page .news-items {
  padding-left: 40px;
  padding-right: 40px;
  width: 66%;
}
.new.news-page .news-items .item {
  margin-bottom: 80px;
}
.new.news-page h2 {
  text-transform: uppercase;
  margin-top: 0;
}
.new.selected .main {
  margin-top: 100px;
}
.new.selected .projects .project .imgs {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.new.selected .projects .project .img {
  margin: 20px 20px 0 0;
}
.new.selected .projects .project img {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  display: block;
  max-height: 70vh;
}
.new.projects-page main.main {
  overflow-x: hidden;
}
.new.projects-page .meta {
  margin-bottom: 5px;
}
.new.projects-page .description {
  font-size: 1.5rem;
  line-height: 1.5rem;
  vertical-align: top;
}
.new.projects-page .projects .project .img img {
  max-height: 60vh;
}
.new.projects-page .projects .project .looping {
  overflow-x: hidden;
}

.project-list {
  padding-left: 40px;
  padding-right: 40px;
  margin-top: -8 0px;
}

@media only screen and (max-width: 45em) {
  main.main {
    margin-top: 120px;
  }
  .logo, .new .logo {
    left: 10px;
    right: auto;
  }
  .main-nav {
    right: 10px;
  }
  .new .project-title, .new #project-title {
    left: 10px;
  }
  .projects, .project-list {
    padding-left: 10px;
    padding-right: 10px;
  }
  .projects .project img, .project-list .project img {
    max-width: 100%;
  }
  .meta span {
    margin-bottom: 10px;
  }
  .project-page .meta, .project-page .description, .project-page .documentation h2, .project-page .pics-by, .project-page .project-info {
    padding-left: 10px;
    padding-right: 10px;
  }
  .project-page .project-info {
    margin-top: 20px;
    margin-bottom: 40px;
  }
  .project-page section {
    padding-left: 0;
    padding-right: 0;
  }
  .project-page section .img {
    margin-left: 10px;
    margin-right: 10px;
  }
  .project-page .pn-btn span {
    display: none;
  }
  .project-page .prev {
    left: 10px;
  }
  .project-page .next {
    right: 10px;
  }
  .about-page .main {
    padding-left: 10px;
    padding-right: 10px;
    flex-direction: column;
  }
  .about-page .main .left {
    width: calc(100% - 20px);
    margin-right: 0;
  }
  .new.news-page .news-items {
    padding-left: 10px;
    padding-right: 10px;
  }
  .new.about-page .main {
    padding-left: 10px;
    padding-right: 10px;
  }
  .new.browse .project-teaser .img {
    max-width: 100%;
  }
}
body {
  background-color: #fff;
  color: #000;
}

a {
  color: #000;
}

ul,
li {
  margin: 0;
  padding: 0;
}

nav li {
  list-style: none;
}

img {
  display: block;
}

.active, a:hover {
  color: #000;
}

.fancybox-bg {
  background: #fff;
  opacity: 1 !important;
}

.fancybox-button {
  background: transparent;
  color: #000;
}
.fancybox-button:hover {
  color: #000;
  -webkit-filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
}

.fancybox-caption {
  background: transparent;
  color: #000;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm5vcm1hbGl6ZS5zY3NzIiwiX2JvaWxlcnBsYXRlLnNjc3MiLCJzbGljay5zY3NzIiwic2xpY2stdGhlbWUuc2NzcyIsIl9uYXYuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl90eXBvLnNjc3MiLCJfbGF5b3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxRQUNRO0VBQ047OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxTQUNTO0VBQ1A7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQzNWRjtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0k7QUFBQTtBQUFBO0lBR0k7SUFDQTtBQUFBO0lBRUE7SUFDQTs7RUFHSjtBQUFBO0lBRUk7O0VBR0o7SUFDSTs7RUFHSjtJQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBS0E7QUFBQTtJQUVJOztFQUdKO0lBQ0k7O0VBRUo7QUFBQTtJQUVJO0lBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFLQTtJQUNJOztFQUdKO0FBQUE7SUFFSTs7RUFHSjtBQUFBO0FBQUE7SUFHSTtJQUNBOztFQUdKO0FBQUE7SUFFSTs7O0FDMVBSO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7O0FBR1I7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBV0E7O0FBVkE7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBS0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7OztBQ3ZFSjtBQUdJO0VBQ0k7OztBQU1SO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNKOztBQUNJO0VBQ0k7RUFDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7O0FDckdSO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDL0JNO0VEZ0NOOztBQUVGO0VBQ0U7OztBQU1KO0VBQ0U7OztBQU1BO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBS0E7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7O0VBR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7RUFDQTtJQUNFOztFQU9WO0lBQ0U7OztBRTlHSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUVFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQ3pDSjtBQUdBO0VBQ0M7OztBQUdEO0VBQ0M7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDQztFQUNBOzs7QUFHRjtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0M7RUFDQTs7O0FBSUY7RUFDQztFQUNBOztBQUdBO0VBQ0M7RUFDQTtFQUNBO0FBb0ZBO0FBS0E7O0FBeEZBO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxrQkZwRVM7RUVxRVQ7RUFDQTtFQUNBOztBQUlBO0VBQ0M7O0FBRUQ7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUVEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFLRDtFQUNDOztBQUVEO0VBQ0M7O0FBSUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0M7O0FBQ0E7RUFFQzs7QUFNSDtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7O0FBTUo7RUFDQztFQUNBO0VBQ0E7O0FBQ0E7RUFDQztFQUNBO0VBQ0E7O0FBRUQ7RUFDQzs7O0FBSUY7QUEyQ0M7QUFLQTs7QUE5Q0E7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFNRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTs7QUFDQTtFQUNDO0VBQ0E7O0FBSUY7RUFDQzs7QUFJRDtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNDOztBQUdEO0VBQ0M7RUFDQTs7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQTs7QUFLRDtFQUNDO0VBQ0E7O0FBRUQ7RUFDQzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7O0FBRUQ7RUFDQzs7O0FBS0Q7RUFDQztFQUNBLFdGNVFVO0VFNlFWO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7O0FBU0Q7RUFDQztFQUNBOztBQUdBO0VBQ0M7O0FBS0Q7RUFDQztFQUNBOztBQUlBO0VBQ0M7O0FBR0Y7RUFDQzs7QUFDQTtFQUNDLE9GdlRROztBRTBUVjtFQUNDOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFHRjtFQUVDOztBQUNBO0VBQ0M7RUFNQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVEO0VBQ0M7O0FBRUQ7RUFDQzs7QUFJRjtFQUNDO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtEO0VBQ0M7O0FBR0Y7RUFDQzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7O0FBQ0E7RUFDQzs7QUFHRjtFQUNDOztBQUNBO0VBQ0M7O0FBT0Y7RUFDQzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTs7QUFDQTtFQUNDOztBQUdGO0VBQ0M7RUFDQTs7QUFLRDtFQUNDOztBQUdBO0VBQ0M7RUFDQTtFQUNBOztBQUVEO0VBQ0M7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFPRjtFQUNDOztBQUdEO0VBQ0M7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7O0FBSUE7RUFDQzs7QUFFRDtFQUNDOzs7QUFPSjtFQUNDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztJQUNDOztFQUdEO0lBQ0M7SUFDQTs7RUFFRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQztJQUNBOztFQUVDO0lBQ0M7O0VBS0Y7SUFFQzs7RUFJQTtJQUNDO0lBQ0E7O0VBRUQ7SUFDQztJQUNBOztFQUVEO0lBQ0M7SUFDQTs7RUFDQTtJQUNDO0lBQ0E7O0VBSUQ7SUFDQzs7RUFHRjtJQUNBOztFQUVBO0lBQ0M7O0VBS0Y7SUFDQztJQUNBO0lBQ0E7O0VBQ0E7SUFDQztJQUNBOztFQUtIO0lBQ0M7SUFDQTs7RUFFRDtJQUNDO0lBQ0E7O0VBR0Q7SUFDQzs7O0FSdGpCRjtFQUNFLGtCTVpRO0VOYVIsT01aVTs7O0FOZVo7RUFDRSxPTWhCVTs7O0FObUJaO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUdFOzs7QUFHRjtFQUNFLE9NbkNVOzs7QU5zQ1o7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7RUFDQSxPTXhEVSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFB1dCB5b3VyIGdsb2JhbCBzdHlsZXMgaGVyZSAqL1xuQHVzZSAnbm9ybWFsaXplJztcbkB1c2UgJ2JvaWxlcnBsYXRlJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdzbGljayc7XG5AdXNlICdzbGljay10aGVtZSc7XG5AdXNlICduYXYnO1xuQHVzZSAndHlwbyc7XG5AdXNlICdsYXlvdXQnO1xuLy8gQGltcG9ydCAnbmF2JztcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcmlhYmxlcy4kYmdjb2xvcjtcbiAgY29sb3I6IHZhcmlhYmxlcy4kbWFpbmNvbG9yO1xufVxuXG5hIHtcbiAgY29sb3I6IHZhcmlhYmxlcy4kbWFpbmNvbG9yO1xufVxuXG51bCxcbmxpIHtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcbn1cblxubmF2IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgLy8gbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWN0aXZlLCBhOmhvdmVye1xuICBjb2xvcjogdmFyaWFibGVzLiRoaWdobGlnaHQ7XG59XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuICB9XG59XG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyaWFibGVzLiRtYWluY29sb3I7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qISBIVE1MNSBCb2lsZXJwbGF0ZSB2Ni4wLjEgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vaHRtbDVib2lsZXJwbGF0ZS5jb20vICovXG5cbi8qXG4gKiBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbiAqIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbiAqIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIHN0eWxlczogb3BpbmlvbmF0ZWQgZGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGV4dC1zaGFkb3cgaW4gc2VsZWN0aW9uIGhpZ2hsaWdodDpcbiAqIGh0dHBzOi8vdHdpdHRlci5jb20vbWlrZXRheWxyL3N0YXR1cy8xMjIyODgwNTMwMVxuICpcbiAqIFZlbmRvci1wcmVmaXhlZCBhbmQgcmVndWxhciA6OnNlbGVjdGlvbiBzZWxlY3RvcnMgY2Fubm90IGJlIGNvbWJpbmVkOlxuICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2OTgyNTEwLzcxMzM0NzFcbiAqXG4gKiBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gbWF0Y2ggeW91ciBkZXNpZ24uXG4gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qXG4gKiBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG4gKi9cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4gKiBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzQ0MFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnJvd3NlciBVcGdyYWRlIFByb21wdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJyb3dzZXJ1cGdyYWRlIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICovXG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICovXG5cbi52aXN1YWxseWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50XG4gKiB0byBiZSBmb2N1c2FibGUgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDpcbiAqIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbn1cblxuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAqL1xuXG4uaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbiAqXG4gKiBGb3IgbW9kZXJuIGJyb3dzZXJzXG4gKiAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuICogICAgYGNvbnRlbnRlZGl0YWJsZWAgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuICogICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4gKiAgICB0aGF0IHJlY2VpdmUgdGhlIGBjbGVhcmZpeGAgY2xhc3MuXG4gKiAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuICogICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgc3R5bGVzLlxuICAgSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4gICBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzICovXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgICAqL1xuXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBQcmludGluZyBUYWJsZXM6XG4gICAgICogaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgICovXG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1sb2FkZXItcGF0aDogXCIvaW1nL1wiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgfVxufVxuXG5cblxuLyogUHJldiAvIE5leHQgKi9cblxuLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9hcnJvdy5zdmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2Fycm93LW92ZXIuc3ZnKTtcbiAgICB9XG59XG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogMjBweDtcbiAgICB0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpO1xufVxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAyMHB4O1xufVxuXG4uc2xpY2stc2xpZGUge1xuICAgIHBhZGRpbmc6IDAgMC41cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbnBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuIH1cblxuLmNhcm91c2VsX19idXR0b24ge1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvYXJyb3cuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjpub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICAmLmlzLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpO1xuICAgIH1cbiAgICAmLmlzLW5leHQge1xuICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICB9XG4gICAgJi5pcy1jbG9zZSwgJi5pcy1jbG9zZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2Fycm93LW92ZXIuc3ZnKTtcbiAgICB9XG59XG4iLCJAdXNlICd2YXJpYWJsZXMnO1xuXG4ubWFpbi1uYXYgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubS1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6OHB4O1xuICByaWdodDowO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA2O1xuXG4gIC5tbSB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgYmFja2dyb3VuZDpub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6NTBweDtcbiAgICBoZWlnaHQ6NTBweDtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgcGFkZGluZzogMDsgLy8gaW9zIGhhcyBhIGJ1ZyBvdGhlcndpc2VcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHdpZHRoOjE0cHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGxlZnQ6IDE4cHg7XG4gICAgICB0b3A6IDE5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnZhcmlhYmxlcy4kbWFpbmNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMjdweDtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlIC5tLW1lbnUgLm1tIHtcbiAgJjpiZWZvcmUsJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLm0tbWVudS1vcGVuIHtcbiAgLm0tbWVudSAubW0ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDoyNHB4O1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDoyNHB4O1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgICY6YmVmb3JlLCY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcmlhYmxlcy4kbWFpbmNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgfVxuICBhIHtcbiAgICBjb2xvcjogdmFyaWFibGVzLiRtYWluY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1ZW0pIHtcbiAgLm0tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBodG1sLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgYm9keS5ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm0tbWVudS1vcGVuIHtcblxuICAgIC5sb2dvIHtcbiAgICAgIHotaW5kZXg6IDc7XG4gICAgfVxuICAgIC5tYWluLW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG5cbiAgICAgIC5uYXZfX2NvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1haW4tbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn0iLCIkYmdjb2xvcjogI2ZmZjtcbiRtYWluY29sb3I6ICMwMDA7XG4kaGlnaGxpZ2h0OiAjMDAwO1xuXG4kbWF4LXdpZHRoOiAxMjAwcHg7IiwiXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmJvZHkgeyAgXG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyAgXG59XG5cbmgxLCBoMiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmRlc2NyaXB0aW9uLCAucXVvdGUge1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xufVxuXG4ucHJvamVjdC1pbmZvIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xufVxuXG4ubW9yZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuXG4gIC5kZXNjcmlwdGlvbiwgLnF1b3Rle1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICB9XG5cbiAgLnByb2plY3QtaW5mbyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cblxufSIsIi8qIFB1dCB5b3VyIGxheW91dCBoZXJlICovXG5AdXNlICd2YXJpYWJsZXMnO1xuXG5ib2R5LCBodG1sIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4jY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ly8gaGVpZ2h0OiAxMDAlOyAgLy8gcmVtb3ZlZCB0aGlzIHRvIGZpeCBzYWZhcmkgaGVpZ2h0IGJ1Z1xuXHRtaW4taGVpZ2h0OiAxMDAlOyAvLyBzb2x2ZXMgc2FmYXJpIGJ1Z1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMDtcbn1cblxubWFpbi5tYWluIHtcblx0ZmxleDogMSAwIGF1dG87XG5cdG1hcmdpbi10b3A6IDIwMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLmxvZ28ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDIwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHotaW5kZXg6IDI7XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG59XG4ubWFpbi1uYXYge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiA0MHB4O1xuXHR0b3A6IDIwcHg7XG5cdHotaW5kZXg6IDM7XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG59XG5cbi5wcm9qZWN0cyB7XG5cdHBhZGRpbmctbGVmdDogNDBweDtcblx0cGFkZGluZy1yaWdodDogNDBweDtcblx0Ly8gbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuXHQvLyBtYXJnaW46IDAgYXV0bztcblx0LnByb2plY3Qge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHQuZGVzY3JpcHRpb24sIC5pbWcgaW1nIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcblx0XHRcdG1heC1oZWlnaHQ6IDQwMHB4O1xuXHRcdH1cblxuXHRcdC5tZXRhIC5kYXRlIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cblx0XHQubWV0YSBzcGFuOmFmdGVye1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR3aWR0aDogMHB4O1xuXHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXJpYWJsZXMuJG1haW5jb2xvcjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogLTJweDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdC8vIGN1cnNvcjplLXJlc2l6ZTtcblx0XHRcdC5tZXRhIHNwYW46YWZ0ZXJ7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0Lm1vcmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW1nIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjogMXB4IDAgMjBweCAyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRpbWc6bm90KC5zaGltKXtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDIwcHg7XG5cdFx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHQuc2hpbSB7XG5cdFx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdH1cblxuXHRcdFx0LmFkZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lmxvb3Bpbmcge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5jdXJyZW50IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1vcmUge1xuXHRcdFx0Ly8gdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cblx0XHQuaW1ncyB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRcdFx0LnAtaW1nIHtcblx0XHRcdFx0bWFyZ2luOiAxMHB4IDIwcHggMTBweCAwO1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdC8vIG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvKiBIaWRlIHNjcm9sbGJhciBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXG5cdFx0LmltZ3M6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHQgIGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LyogSGlkZSBzY3JvbGxiYXIgZm9yIElFLCBFZGdlIGFuZCBGaXJlZm94ICovXG5cdFx0LmltZ3Mge1xuXHRcdCAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgLyogSUUgYW5kIEVkZ2UgKi9cblx0XHQgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cblx0XHR9XG5cblx0fVxufVxuXG4ubWV0YSBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRoMSwgaDIge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bWFyZ2luOiAwIDIwcHggMCAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblx0LmxvY2F0aW9uLCAuZGF0ZSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHR9XG59XG5cbi5wcm9qZWN0LXBhZ2Uge1xuXG5cdG1haW4ubWFpbiB7XG5cdFx0bWFyZ2luLXRvcDogMTAwcHg7XG5cdH1cblxuXHQubWV0YSwgLmRlc2NyaXB0aW9uLCAuZG9jdW1lbnRhdGlvbiBoMiwgLnBpY3MtYnksIC5wcm9qZWN0LWluZm8ge1xuXHRcdHBhZGRpbmctbGVmdDogNDBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHR9XG5cblx0LmRlc2NyaXB0aW9uIHtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG5cdC5hZGRpdGlvbmFsLWluZm8ge1xuXHRcdC8vIG1hcmdpbi10b3A6IC0zMHB4O1xuXHRcdC8vIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cblx0LnByb2plY3QtaW5mbyB7XG5cdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXHRcdG1heC13aWR0aDogMTI1MHB4O1xuXHR9XG5cblx0c2VjdGlvbiB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0b3ZlcmZsb3cteDogc2Nyb2xsO1xuXHRcdHBhZGRpbmc6IDAgMjBweDtcblx0fVxuXHQuaW1nIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAyMHB4O1xuXHRcdGltZyB7XG5cdFx0XHRoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXgtd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQubWFpbi1pbWdzIC5pbWcgaW1nIHtcblx0XHRoZWlnaHQ6IDcwMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvKiBIaWRlIHNjcm9sbGJhciBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXG5cdHNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0ICBkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogSGlkZSBzY3JvbGxiYXIgZm9yIElFLCBFZGdlIGFuZCBGaXJlZm94ICovXG5cdHNlY3Rpb24ge1xuXHQgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG5cdCAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLyogRmlyZWZveCAqL1xuXHR9XG5cblx0ZmlnY2FwdGlvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5waWNzLWJ5IHtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG5cblx0LmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xuXHRcdGgyIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGJvdHRvbTogMjBweDtcblx0XHRcdGxlZnQ6IDQwcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0LmNyZWRpdHMge1xuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0Ym90dG9tOiAyMHB4O1xuXHRcdFx0cmlnaHQ6IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmRvY3VtZW50YXRpb24ge1xuXHRcdGgyIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdHNlY3Rpb24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQucG4tYnRuIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0Ym90dG9tOiAyMHB4O1xuXHR9XG5cdC5wcmV2IHtcblx0XHRsZWZ0OiA0MHB4O1xuXHR9XG5cdC5uZXh0IHtcblx0XHRyaWdodDogNDBweDtcblx0fVxufVxuXG4uYWJvdXQtcGFnZSB7XG5cdC5tYWluIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdG1heC13aWR0aDogdmFyaWFibGVzLiRtYXgtd2lkdGg7XG5cdFx0bWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcblx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0fVxuXHQubGVmdCB7XG5cdFx0d2lkdGg6IDY2JTtcblx0XHRtYXJnaW4tcmlnaHQ6MTAlO1xuXHR9XG5cdC5yaWdodCB7XG5cblx0fVxufVxuXG5cbi5uZXcge1xuXHQubG9nbyB7XG5cdFx0bGVmdDogNDBweDtcblx0XHRyaWdodDogYXV0bztcblx0fVxuXHQubWFpbi1uYXYge1xuXHRcdGEge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ji5icm93c2Uge1xuXHRcdG1haW4ubWFpbiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdCYud2hpdGUge1xuXHRcdFx0YSwgLnNsaWNrLWN1cnJlbnQgLnByb2plY3QtdGl0bGUsICNwcm9qZWN0LXRpdGxlIHtcblx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRoZWFkZXIuaGVhZGVyIGEuYmFja2dyb3VuZC0tZGFyaywgLnByb2plY3QtdGl0bGUuYmFja2dyb3VuZC0tZGFyayB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6dmFyaWFibGVzLiRtYWluY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGhlYWRlci5oZWFkZXIgYTpob3ZlciB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXHRcdC5jYXJvdXNlbCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Ly8gd2lkdGg6IGNhbGMoMTAwJSAtIDYwMHB4KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0LnNsaWNrLXRyYWNrIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnByb2plY3QtdGVhc2VyIHtcblx0XHRcdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdC5pbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ly8gcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHQvLyB0b3A6IDA7XG5cdFx0XHRcdC8vIGxlZnQ6IDA7XG5cdFx0XHRcdC8vIHdpZHRoOiAxMDAlO1xuXHRcdFx0XHQvLyBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHQvLyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwMHB4KTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0LmltZy5uby1jcm9wIHtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0fVxuXHRcdFx0LmltZy5ibGVlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnF1b3RlLXdyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0LnF1b3RlIHtcblxuXHRcdFx0fVxuXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRhbGlnbi1zZWxmOmNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmLmhvbWUge1xuXHRcdC5tYWluIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwMHB4O1xuXHRcdH1cblx0fVxuXHQucHJvamVjdC10aXRsZSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQucHJvamVjdC10aXRsZSwgI3Byb2plY3QtdGl0bGUge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRib3R0b206IDIwcHg7XG5cdFx0bGVmdDogNDBweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG5cblx0Ji5hYm91dC1wYWdlIHtcblxuXHRcdC5tYWluIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDEwMHB4IGF1dG8gMCBhdXRvO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0XHR9XG5cdFx0LmxlZnQge1xuXHRcdFx0d2lkdGg6IDY2JTtcblx0XHRcdG1hcmdpbi1yaWdodDoxMCU7XG5cdFx0XHRwOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnJpZ2h0IHtcblx0XHRcdHdpZHRoOiAyNCU7XG5cdFx0XHRwOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdCYubmV3cy1wYWdlIHtcblx0XHQubWFpbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMDBweDtcblx0XHR9XG5cdFx0Lm5ld3MtaXRlbXMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0XHRcdHdpZHRoOiA2NiU7XG5cdFx0XHQuaXRlbSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdCYuc2VsZWN0ZWQge1xuXHRcdC5tYWluIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwMHB4O1xuXHRcdH1cblx0XHQucHJvamVjdHMgLnByb2plY3QgIHtcblx0XHRcdC5pbWdzIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0LmltZyB7XG5cdFx0XHRcdG1hcmdpbjogMjBweCAyMHB4IDAgMDtcblx0XHRcdH1cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdHRvcDogYXV0bztcblx0XHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWF4LWhlaWdodDogNzB2aDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnByb2plY3RzLXBhZ2Uge1xuXG5cdFx0bWFpbi5tYWluIHtcblx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHR9XG5cblx0XHQubWV0YSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0fVxuXHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVyZW07XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0fVxuXG5cdFx0LnByb2plY3RzIC5wcm9qZWN0IHtcblx0XHRcdC5pbWcgaW1nIHtcblx0XHRcdFx0bWF4LWhlaWdodDogNjB2aDtcblx0XHRcdH1cblx0XHRcdC5sb29waW5ne1xuXHRcdFx0XHRvdmVyZmxvdy14OmhpZGRlbjtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuXG4ucHJvamVjdC1saXN0IHtcblx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRtYXJnaW4tdG9wOiAtOFx0MHB4O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDVlbSkge1xuXG5cdG1haW4ubWFpbiB7XG5cdFx0bWFyZ2luLXRvcDogMTIwcHg7XG5cdH1cblxuXHQubG9nbywgLm5ldyAubG9nbyB7XG5cdFx0bGVmdDogMTBweDtcblx0XHRyaWdodDogYXV0bztcblx0fVxuXHQubWFpbi1uYXYge1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHR9XG5cblx0Lm5ldyAucHJvamVjdC10aXRsZSwgLm5ldyAjcHJvamVjdC10aXRsZSB7XG5cdFx0bGVmdDogMTBweDtcblx0fVxuXG5cdC5wcm9qZWN0cywgLnByb2plY3QtbGlzdCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0LnByb2plY3Qge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4gIC5tZXRhIHNwYW4ge1xuICBcdC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIFx0bWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5wcm9qZWN0LXBhZ2Uge1xuICBcdC5tZXRhLCAuZGVzY3JpcHRpb24sIC5kb2N1bWVudGF0aW9uIGgyLCAucGljcy1ieSwgLnByb2plY3QtaW5mbyB7XG4gIFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBcdH1cbiAgXHQucHJvamVjdC1pbmZvIHtcbiAgXHRcdG1hcmdpbi10b3A6IDIwcHg7XG4gIFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBcdH1cbiAgXHRzZWN0aW9uIHtcbiAgXHRcdHBhZGRpbmctbGVmdDogMDtcbiAgXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG4gIFx0XHQuaW1nIHtcbiAgXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG4gIFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcbiAgXHRcdH1cbiAgXHR9XG4gIFx0LnBuLWJ0biB7XG4gIFx0XHRzcGFuIHtcbiAgXHRcdFx0ZGlzcGxheTogbm9uZTtcbiAgXHRcdH1cbiAgXHR9XG4gIFx0LnByZXYge1xuICBcdGxlZnQ6IDEwcHg7XG5cdCAgfVxuXHQgIC5uZXh0IHtcblx0ICBcdHJpZ2h0OiAxMHB4O1xuXHQgIH1cbiAgfVxuXG4gIC5hYm91dC1wYWdlIHtcblx0XHQubWFpbiB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdC5sZWZ0IHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm5ldy5uZXdzLXBhZ2UgLm5ld3MtaXRlbXMge1xuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHR9XG5cdC5uZXcuYWJvdXQtcGFnZSAubWFpbiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdH1cblxuXHQubmV3LmJyb3dzZSAucHJvamVjdC10ZWFzZXIgLmltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblxufSJdfQ== */
