@charset "UTF-8";
/* Put your global styles here */ /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

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

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

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

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

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

/*! 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;
  }
}
@font-face {
  font-family: "Kern";
  src: url("/webfonts/Kern-Regular-the1970s.woff2") format("woff2"), url("/webfonts/Kern-Regular-the1970s.woff") format("woff"), url("/webfonts/Kern-Regular-the1970s.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Kerni";
  src: url("/webfonts/kern_italic-webfont.woff2") format("woff2"), url("/webfonts/kern_italic-webfont.woff") format("woff"), url("/webfonts/Kern Italic.ttf") format("truetype"), url("/webfonts/kern_italic-webfont.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: Kern, Helvetica Neue, sans-serif;
  font-size: 1.825rem;
  line-height: 2.15rem;
  font-weight: normal;
}

.small {
  font-size: 1.1rem;
  line-height: 1.2rem;
}

.medium {
  font-size: 1.325rem;
  line-height: 1.575rem;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 1.825rem;
  line-height: 2.15rem;
}

h3 {
  text-transform: uppercase;
}

nav, .langswitch {
  text-transform: lowercase;
}

.events .item {
  font-size: 1.5rem;
  line-height: 1.8rem;
}

.event-type {
  line-height: 1.9rem;
}

/* MAIN ELEMENTS */
main.main,
header.header {
  z-index: 1;
}

main.main {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap;
}

.logo {
  position: fixed;
  max-width: 300px;
  top: 10px;
  left: 10px;
  z-index: 1234;
}

nav {
  position: fixed;
  top: 5px;
  right: 5px;
  z-index: 1;
  z-index: 1235;
}

.home nav {
  width: calc(100% - 5px);
}

.langswitch {
  display: flex;
  justify-content: center;
}

.signup {
  margin-bottom: 140px;
}
.signup #mc_embed_signup_scroll,
.signup form {
  width: 100%;
}
.signup .mc-field-group {
  display: flex;
}
.signup .mc-field-group-btn {
  display: flex;
  justify-content: flex-end;
}
.signup .input-group {
  flex-wrap: wrap;
}
.signup .nl-label {
  margin-right: 20px;
  padding-top: 4px;
}

footer.footer {
  position: fixed;
  bottom: 40px;
  z-index: -1;
}
footer.footer ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
footer.footer ul li {
  margin: 5px 10px;
}

/* PIECES */
.item.in .info,
.item.out .info {
  display: flex;
  justify-content: space-between;
}
.item.in .info .location,
.item.out .info .location {
  text-align: right;
}
.item.in .img-holder,
.item.out .img-holder {
  position: relative;
}
.item.in .info-right,
.item.out .info-right {
  text-align: right;
}
.item.in .svg-holder,
.item.out .svg-holder {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.item.in svg,
.item.out svg {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  margin-left: -1px;
}
.item.in img,
.item.out img {
  width: 100%;
}

.item.in,
.item.out {
  align-self: flex-start;
}
.item.in.item-v2,
.item.out.item-v2 {
  margin-top: 30px !important;
}
.item.in .img-holder-v2,
.item.out .img-holder-v2 {
  display: flex;
  overflow: hidden;
  position: relative;
  margin: 20px;
}
.item.in .img-holder-v2:hover .img-v2,
.item.out .img-holder-v2:hover .img-v2 {
  clip-path: circle(100%);
}
.item.in .img-v2,
.item.out .img-v2 {
  height: 100%;
  clip-path: url(#cp);
  width: 100%;
}
.item.in.static:hover .img-holder-v2:hover .img-v2,
.item.out.static:hover .img-holder-v2:hover .img-v2 {
  clip-path: url(#cp);
}

.page-artist .img-v2,
.page-event .img-v2,
.page-work .img-v2 {
  max-height: none !important;
  width: 100%;
}

.home .logo {
  display: none;
}

.left,
.right {
  width: calc(50% - 20px);
  padding: 10px;
}

.right {
  margin-top: 60px;
}

.search-input {
  margin: 10px 0 20px 0;
}

.big,
.opening {
  margin-bottom: 20px;
}

.big .info {
  margin-bottom: 10px;
}
.big .event-type {
  margin-bottom: 10px;
}

.publics {
  margin: 50px 0;
  position: relative;
}
.publics h2 {
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 12345;
  padding-left: 60px;
  padding-right: 60px;
}

.programme {
  margin-bottom: 20px;
}
.programme h2 {
  margin-bottom: 10px;
}
.programme .events-wrapper {
  width: 100%;
  height: 210px;
  overflow: hidden;
}
.programme .events {
  padding-top: 10px;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-right: 17px;
  box-sizing: content-box;
}
.programme .event {
  display: flex;
  flex-direction: column;
  border-top: 2px solid #000000;
  margin-bottom: 5px;
  padding: 10px 0;
}
.programme .event .practical {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.programme .event .practical:last-child {
  border-bottom: none;
}
.programme .event.t-exhibition .practical .time, .programme .event.t-tentoonstelling .practical .time, .programme .event.t-exposition .practical .time {
  display: none;
}
.programme .event .title {
  margin-bottom: 10px;
}

.single-events {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.single-events .panel {
  max-width: calc(50% - 30px);
  margin-bottom: 20px;
  align-self: flex-start;
}
.single-events h4 {
  margin: 10px 0;
}

.media-library a {
  color: #ffffff;
  text-decoration: none;
  display: block;
}
.media-library a:hover {
  color: #ffffff;
}
.media-library a .media-library-front {
  display: flex;
  justify-content: space-between;
}
.media-library a .media-library-front h2 {
  width: 50%;
}
.media-library a h2 {
  margin-top: 20px;
  margin-left: 20px;
}
.media-library a .item {
  max-width: 400px;
  width: 50%;
}

.news {
  position: fixed;
  bottom: 0;
  left: 0;
  background-color: #52FF6A;
  width: 100%;
  height: 40px;
  z-index: 12345;
}
.news .label {
  background-color: #000000;
  color: white;
  padding: 2px 5px 4px 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 123;
}
.news .messages {
  height: 40px;
  padding-top: 4px;
}
.news .messages a {
  margin-right: 50px;
}

.page .content,
.page-event .content,
.page-artist .content,
.page-work .content {
  padding: 100px 15px 10px 15px;
  width: calc(100% - 30px);
}
.page .content .panel,
.page-event .content .panel,
.page-artist .content .panel,
.page-work .content .panel {
  position: relative;
  margin-bottom: 20px;
}
.page .content h1,
.page-event .content h1,
.page-artist .content h1,
.page-work .content h1 {
  margin: 20px 20px 0 20px;
  position: absolute;
  top: 0;
  z-index: 123;
}
.page .content h1.no-img,
.page-event .content h1.no-img,
.page-artist .content h1.no-img,
.page-work .content h1.no-img {
  position: relative;
  margin: 20px 0 20px 0;
  text-transform: uppercase;
}
.page .content h3,
.page-event .content h3,
.page-artist .content h3,
.page-work .content h3 {
  margin-top: 20px;
}
.page .content .item,
.page-event .content .item,
.page-artist .content .item,
.page-work .content .item {
  margin-top: 10px;
}
.page .content p.first,
.page-event .content p.first,
.page-artist .content p.first,
.page-work .content p.first {
  margin-top: 5px;
}
.page .content .body-txt figure,
.page-event .content .body-txt figure,
.page-artist .content .body-txt figure,
.page-work .content .body-txt figure {
  margin: 0;
  padding: 0;
}
.page .content .body-txt figure iframe,
.page-event .content .body-txt figure iframe,
.page-artist .content .body-txt figure iframe,
.page-work .content .body-txt figure iframe {
  margin: 0;
}
.page .content .body-txt figure .fluid-width-video-wrapper,
.page-event .content .body-txt figure .fluid-width-video-wrapper,
.page-artist .content .body-txt figure .fluid-width-video-wrapper,
.page-work .content .body-txt figure .fluid-width-video-wrapper {
  margin-bottom: 20px;
}

.small-panel {
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 45px);
  padding: 0 5px;
  margin: 10px 10px 20px 10px;
}
.small-panel .panel-upper p {
  padding: 0;
  margin: 0;
}

.table {
  display: flex;
  flex-direction: row;
  width: 100%;
}
.table .length,
.table .price {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  border-right: 2px solid #000000;
}
.table .length.price,
.table .price.price {
  border-right: none;
}
.table .length > div,
.table .price > div {
  max-width: 200px;
  padding: 10px;
  width: calc(100% - 20px);
  border-top: 2px solid #000000;
}
.table .length > div.label,
.table .price > div.label {
  width: calc(100% - 20px) !important;
  border-top: none;
}

.column {
  display: inline-block;
  vertical-align: top;
  max-width: calc(50% - 24px);
  width: calc(50% - 34px);
}

iframe,
#map,
.ol-viewport {
  border: none;
  width: 100%;
  border-radius: 25px;
  margin-top: 50px;
}

.fluid-width-video-wrapper {
  margin-bottom: 150px;
}

.link-panels {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.link-panels .item {
  width: calc(33.3333333333% - 40px);
  margin: 10px;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
}
.gallery .item {
  width: calc(25% - 20px);
}
.gallery .svg-holder {
  top: -1px;
}

.programme-page main.main,
.page-work-overview main.main {
  flex-direction: column;
}

.filters {
  display: flex;
  margin-top: 110px;
  margin-bottom: 30px;
  justify-content: center;
  flex-wrap: wrap;
}
.filters .filter {
  margin: 5px;
}
.filters .has-sub {
  position: relative;
  display: flex;
  flex-direction: column;
}
.filters .has-sub ul {
  position: absolute;
  padding: 50px 0 0 0;
  margin: 0;
  display: none;
}
.filters .has-sub li {
  list-style: none;
  margin: 0 20px 10px -15px;
}
.filters .has-sub:hover ul {
  display: flex;
}

.programme-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px;
}
.programme-list .item {
  max-width: calc(50% - 30px);
  width: calc(50% - 30px);
  margin-bottom: 20px;
}
.programme-list .item .info {
  margin-bottom: 10px;
}
.programme-list .item .event-type {
  margin-bottom: 10px;
}

.page-event .event-info {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.page-search .content {
  padding-bottom: 20px;
}
.page-search .content h1 {
  position: relative;
  margin: 20px 0;
}
.page-search .content ul {
  margin-bottom: 40px;
}

.page-artist-overview .programme-list,
.page-work-overview .programme-list {
  margin-top: 100px;
  margin-left: 10px;
  margin-right: 10px;
}
.page-artist-overview .alphabet-filter,
.page-work-overview .alphabet-filter {
  display: none;
}
.page-artist-overview .alphabet,
.page-work-overview .alphabet {
  position: fixed;
  width: calc(100% - 60px);
  padding: 20px;
  left: 0;
  right: 0;
  bottom: 20px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 1234;
}
.page-artist-overview .alphabet .db-search,
.page-work-overview .alphabet .db-search {
  width: 100%;
}
.page-artist-overview .alphabet .number,
.page-work-overview .alphabet .number {
  margin-left: auto !important;
}
.page-artist-overview .db-search,
.page-work-overview .db-search {
  position: fixed;
  top: 90px;
  right: 10px;
  width: calc(100% - 20px);
  max-width: 550px;
}
.page-artist-overview .db-search .row,
.page-work-overview .db-search .row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.page-artist-overview .db-search input[type=text],
.page-work-overview .db-search input[type=text] {
  background-color: #ffffff;
  border: #F0F0F0;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.2);
  border-radius: 25px;
  padding-left: 10px;
  padding-right: 10px;
  flex-grow: 1;
  min-width: 0;
}
.page-artist-overview .db-search .btn,
.page-work-overview .db-search .btn {
  flex-shrink: 0;
  margin-right: 0;
}
.page-artist-overview .db-search input[type=text], .page-artist-overview .db-search .db-results,
.page-work-overview .db-search input[type=text],
.page-work-overview .db-search .db-results {
  display: none;
}
.page-artist-overview .db-search.open input[type=text], .page-artist-overview .db-search.open .db-results:not(.empty),
.page-work-overview .db-search.open input[type=text],
.page-work-overview .db-search.open .db-results:not(.empty) {
  display: flex;
}
.page-artist-overview .db-search .db-results,
.page-work-overview .db-search .db-results {
  background: #ffffff;
  position: relative;
}
.page-artist-overview .db-search .db-results .inner,
.page-work-overview .db-search .db-results .inner {
  max-height: 50vh;
  overflow-y: auto;
  width: 100%;
}
.page-artist-overview .db-search .db-results .inner h3,
.page-work-overview .db-search .db-results .inner h3 {
  margin: 0 0 10px 0;
}
.page-artist-overview .db-search .db-results .inner h3:not(:first-of-type),
.page-work-overview .db-search .db-results .inner h3:not(:first-of-type) {
  margin-top: 40px;
}
.page-artist-overview .db-search .db-results .inner a,
.page-work-overview .db-search .db-results .inner a {
  display: block;
  text-decoration: none;
  line-height: 1.825rem;
  margin-bottom: 10px;
}
.page-artist-overview .db-search .db-results .inner .works-list a,
.page-work-overview .db-search .db-results .inner .works-list a {
  margin-bottom: 10px;
}

.page-work .bio-txt, .page-work .work-desc, .page-work .event-desc, .page-event.db .bio-txt, .page-event.db .work-desc, .page-event.db .event-desc, .page-artist .bio-txt, .page-artist .work-desc, .page-artist .event-desc {
  max-width: 1000px;
}

.page-work .programme-list, .page-event.db .programme-list, .page-artist .programme-list, .page-artist-overview .programme-list, .page-work-overview .programme-list {
  justify-content: flex-start;
  padding-left: 0;
  padding-right: 0;
}
.page-work .programme-list .item, .page-event.db .programme-list .item, .page-artist .programme-list .item, .page-artist-overview .programme-list .item, .page-work-overview .programme-list .item {
  max-width: calc(33.3333333333% - 30px);
  width: calc(33.3333333333% - 30px);
}
.page-work .programme-list .item:nth-child(3n-1), .page-event.db .programme-list .item:nth-child(3n-1), .page-artist .programme-list .item:nth-child(3n-1), .page-artist-overview .programme-list .item:nth-child(3n-1), .page-work-overview .programme-list .item:nth-child(3n-1) {
  margin-left: 15px;
  margin-right: 15px;
}

.birthyear {
  position: relative;
  padding-left: 15px;
}
.birthyear:before {
  position: absolute;
  content: "°";
  top: 0;
  left: 0;
}

.page-work .programme-list {
  margin-top: 20px;
}
.page-work .technical {
  display: flex;
  justify-content: space-between;
}

.pager {
  display: flex;
  justify-content: space-between;
  padding: 20px 40px;
  margin-bottom: 20px;
}
.pager a {
  text-decoration: none;
}
.pager .inactive {
  opacity: 0.1;
}

@media only screen and (max-width: 70em) {
  .single-events {
    flex-wrap: wrap;
  }
  .single-events .panel {
    max-width: calc(100% - 20px);
    margin-bottom: 20px;
  }
  .link-panels .item {
    width: calc(50% - 40px);
  }
  .column {
    display: block;
    max-width: 100%;
    width: 100%;
  }
  .page-event.db .programme-list, .page-artist .programme-list, .page-work .programme-list, .page-artist-overview .programme-list, .page-work-overview .programme-list {
    justify-content: space-between;
  }
  .page-event.db .programme-list .item, .page-artist .programme-list .item, .page-work .programme-list .item, .page-artist-overview .programme-list .item, .page-work-overview .programme-list .item {
    max-width: calc(50% - 30px);
    width: calc(50% - 30px);
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media only screen and (max-width: 45em) {
  .home main.main {
    flex-wrap: wrap;
  }
  .home .left,
  .home .right {
    width: calc(100% - 20px);
  }
  .home .right {
    margin-top: 0;
  }
  .signup {
    margin-bottom: 180px;
  }
  .signup .mc-field-group {
    flex-direction: column;
  }
  .signup .nil {
    width: 100%;
  }
  .signup [type=email], .signup [type=text] {
    flex-grow: 1 !important;
    width: 100%;
    margin-left: 0 !important;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 20px;
  }
  .signup [type=submit] {
    margin-left: auto;
  }
  .programme-list .item {
    max-width: 100% !important;
    width: 100% !important;
  }
  .small-panel {
    display: block;
    width: calc(100% - 20px);
    margin: 20px 0;
  }
  .link-panels .item {
    width: calc(100% - 40px);
  }
  .page .content h1,
  .page-event .content h1 {
    margin: 10px 20px 0 20px;
    position: relative;
  }
  .page .content .item,
  .page-event .content .item {
    margin-top: -10px;
  }
  .table {
    flex-direction: row;
    width: 100%;
  }
  .table .length,
  .table .price {
    justify-content: space-between;
    flex-direction: column;
    border-bottom: none;
    border-right: 2px solid #000000;
  }
  .table .length.price,
  .table .price.price {
    border-right: none;
  }
  .table .length > div,
  .table .price > div {
    width: calc(100% - 20px);
    border-left: none;
    border-top: 2px solid #000000;
  }
  .table .length > div.label,
  .table .price > div.label {
    width: calc(100% - 20px) !important;
    border-top: none;
  }
  .table .length > div:first-child,
  .table .price > div:first-child {
    border-left: none;
  }
  .gallery .item {
    width: calc(50% - 20px);
  }
  .page-artist-overview .programme-list .item,
  .page-work-overview .programme-list .item {
    max-width: calc(100% - 30px);
  }
  .page-artist-overview .alphabet,
  .page-work-overview .alphabet {
    transform: translateY(100%);
  }
  .page-artist-overview .alphabet.filter-active,
  .page-work-overview .alphabet.filter-active {
    transform: translateY(0);
  }
  .page-artist-overview .alphabet-filter,
  .page-work-overview .alphabet-filter {
    display: block;
    position: fixed;
    bottom: 40px;
    left: 20px;
    border-radius: 25px;
    padding: 0 15px 2px 15px;
    background: #000000;
    color: white;
    cursor: pointer;
  }
  .page-artist-overview .alphabet-filter.filter-active,
  .page-work-overview .alphabet-filter.filter-active {
    transform: translateY(0);
  }
}
@media only screen and (max-width: 35em) {
  .gallery .item {
    width: calc(100% - 20px);
  }
}
@media only screen and (max-width: 25em) {
  .signup {
    margin-bottom: 220px;
  }
  .gallery .item {
    width: calc(100% - 20px);
  }
}
.m-menu {
  position: fixed;
  top: 14px;
  right: 25px;
  display: none;
  z-index: 12345678;
}
.m-menu:before {
  position: absolute;
  display: block;
  content: "";
  width: 50px;
  height: 3px;
  left: 0px;
  top: 24px;
  background-color: #000000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.m-menu .mm {
  border: none;
  background: transparent;
  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: 50px;
  height: 3px;
  left: 0px;
  top: 12px;
  background-color: #000000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.m-menu .mm:after {
  top: 36px;
}

nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
nav ul li {
  margin: 5px;
  display: block;
}
nav ul li a, nav ul li span.button {
  display: block;
}
nav li ul {
  display: none;
  position: absolute;
  padding-top: 5px;
  right: 0;
}
nav li:hover ul {
  flex-wrap: wrap;
  margin-left: -5px;
}
nav .langswitch {
  display: flex;
}
nav .p40 ul {
  display: none !important;
}

@media only screen and (max-width: 35em) {
  .m-menu {
    display: block;
  }
  .nav {
    display: none;
  }
  .m-menu-open .m-menu:before {
    opacity: 0;
  }
  .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 .nav {
    position: absolute;
    display: block;
    top: 75px;
    width: calc(100% - 10px);
    left: 5px;
  }
  .m-menu-open .nav ul {
    flex-flow: column;
  }
  .m-menu-open .nav ul li {
    text-align: center;
  }
  .m-menu-open .nav ul li a, .m-menu-open .nav ul li .button {
    padding: 10px;
  }
  .m-menu-open .nav ul li ul {
    position: relative;
  }
  .m-menu-open .nav ul li ul li:last-child {
    margin-bottom: 0;
  }
  .m-menu-open .langswitch-holder {
    order: -1;
  }
}
@media not all and (pointer: coarse) {
  nav li:hover ul {
    display: flex;
  }
}
[v-cloak] > * {
  display: none;
}

@keyframes rotatingImage {
  0% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  25% {
    -webkit-transform: rotateY(-360deg);
    transform: rotateY(-360deg);
  }
  75% {
    -webkit-transform: rotateY(-360deg);
    transform: rotateY(-360deg);
  }
  100% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
}
body {
  background-color: #F0F0F0;
  color: #000000;
}

a {
  color: #000000;
}
a:hover {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

.content a {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
  text-decoration: none;
}

.link-panels a {
  text-shadow: none;
}
.link-panels a:hover {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

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

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

nav li,
.langswitch li,
footer li {
  list-style: none;
}

.button,
nav a,
.langswitch {
  background-color: #ffffff;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.25);
  color: #000000;
  border-radius: 25px;
  padding: 0 15px 2px 15px;
  text-decoration: none;
}
.button:hover,
nav a:hover,
.langswitch:hover {
  color: #000000;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

.langswitch {
  padding: 0 10px 2px 10px;
}

.langswitch a {
  background: none;
  box-shadow: none;
  text-decoration: none;
  color: #ffffff;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
  margin: 0;
  padding: 0 5px;
}
.langswitch a.active, .langswitch a:hover {
  color: #000000;
}

.button.active,
nav li.active a {
  background-color: #000000;
  color: #ffffff;
}
.button.active:hover,
nav li.active a:hover {
  text-shadow: 0 0 0.3em rgb(255, 255, 255);
}

main.main {
  background-color: #ffffff;
}

.item {
  padding: 10px;
}
.item.big {
  background-color: #ebebeb;
}
.item a {
  text-decoration: none;
}

.publics {
  perspective: 1000px;
  /* Remove this if you don't want the 3D effect */
}
.publics a {
  color: white;
  display: block;
}
.publics img {
  margin: 0 auto;
  max-width: 75%;
  border-radius: 25px;
  animation: 60s rotatingImage linear infinite;
}

.jobs {
  max-width: 75%;
  margin: 0 auto 40px auto;
}
.jobs a {
  color: white;
  text-decoration: none;
  border-radius: 25px;
  background-color: #0067FF;
  text-align: center;
  display: block;
  padding: 90px;
  word-break: break-word;
}

.location:not(.empty):before {
  content: "@";
}

.opening {
  background-color: #0067FF;
  color: #ffffff;
  border-radius: 25px;
  padding: 7px 7px;
}
.opening span {
  border: 1px solid #ffffff;
  padding: 0 2px;
  margin-right: 3px;
}

.search-input {
  border-radius: 25px;
  border: none;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.15);
  color: #000000;
  padding: 3px 7px;
  width: calc(100% - 14px);
  outline: none;
}

::-webkit-input-placeholder {
  /* Edge */
  color: #000000;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #000000;
}

::placeholder {
  color: #000000;
}

.panel,
.small-panel {
  border-radius: 25px;
  padding: 10px;
}
.panel.blue,
.small-panel.blue {
  background-color: #0067FF;
  color: #ffffff;
}
.panel.blue a,
.small-panel.blue a {
  color: #ffffff;
}
.panel.shadow,
.small-panel.shadow {
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.2);
  border-radius: 25px;
}

.body-txt ul,
.column ul {
  margin-left: 10%;
  max-width: 80%;
}
.body-txt li,
.column li {
  list-style: none;
  position: relative;
  padding-left: 20px;
  margin-left: 10px;
}
.body-txt li:before,
.column li:before {
  content: "•";
  position: absolute;
  top: 0;
  left: -10px;
}

.programme .events-wrapper {
  position: relative;
}
.programme .events-wrapper .events:after {
  width: 100%;
  height: 50%;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255));
  pointer-events: none;
}
.programme .events-wrapper a {
  text-decoration: none;
}

.home .event-type,
.programme-page .event-type {
  text-transform: uppercase;
}

.single-events h4 {
  text-transform: uppercase;
}

.home .media-library {
  color: #ffffff;
  min-height: 100px;
}

.home .media-library {
  background-color: transparent;
  width: 100%;
  height: 250px;
  perspective: 1000px;
  /* Remove this if you don't want the 3D effect */
}
.home .media-library:hover .media-library-inner {
  transform: rotateY(180deg);
}
.home .media-library .item {
  backface-visibility: hidden;
}

/* This container is needed to position the front and back side */
.media-library-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.media-library-front,
.media-library-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.media-library-front,
.media-library-back {
  background-color: #000000;
  border-radius: 25px;
}

.media-library-back {
  transform: rotateY(180deg);
}
.media-library-back p {
  padding: 0 20px;
}

.news a {
  text-decoration: none;
}

.filter {
  background-color: #dfdfdf;
  cursor: pointer;
  color: white;
  text-transform: lowercase;
  padding: 2px 10px;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.15) !important;
  text-decoration: none;
}
.filter:hover, .filter.active {
  background-color: #000000;
}

.programme-list a {
  text-decoration: none;
}

.no-events {
  padding-bottom: 40px;
  text-align: center;
  width: 100%;
}

footer li a {
  text-decoration: none;
}

.signup {
  background-color: #ffffff;
  display: flex;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 25px !important;
}
.signup input {
  background: transparent;
  border: none;
  box-shadow: none;
  outline: none;
}
.signup [type=email], .signup [type=text] {
  flex-grow: 2;
  margin-left: 10px;
}

input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=checkbox] + span {
  position: relative;
  padding-left: 28px;
  padding-right: 24px;
  cursor: pointer;
  display: block;
  padding-top: 2px;
  line-height: 1.35;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
[type=checkbox] + span:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 20px;
  height: 20px;
  z-index: 0;
  border: 1px solid white;
  border-radius: 50%;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.5);
}

[type=checkbox]:checked + span:before {
  background: white;
}
[type=checkbox]:checked + span:after {
  content: "";
  position: absolute;
  top: 16px;
  left: 6px;
  width: 10px;
  height: 10px;
  z-index: 0;
  background-color: #000000;
  border-radius: 50%;
}

.dissapear-enter-active,
.dissapear-leave-active {
  transition: all 0.25s;
}

.dissapear-enter,
.dissapear-leave-to {
  opacity: 0;
  transform: scale(0);
}

.fade-enter-active,
.fade-leave-active {
  transition: all 0.25s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}

.fancybox-bg {
  background: #fff;
}

.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));
}

.db-search input[type=text] {
  border: 1px solid #000000;
}
.db-search .btn {
  border-radius: 15px;
  color: #ffffff;
  border: none;
  margin: 10px;
  min-width: 50px;
  background: #000000;
  text-transform: uppercase;
}
.db-search .btn:hover {
  background: #F0F0F0;
  color: #000000;
}

.alphabet {
  background: white;
  border-radius: 25px;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.2);
}
.alphabet .letter, .alphabet .btn {
  background: #F0F0F0;
  border-radius: 15px;
  color: #ffffff;
  border: none;
  margin: 10px;
  min-width: 50px;
}
.alphabet .letter:hover, .alphabet .letter.active, .alphabet .btn:hover, .alphabet .btn.active {
  background-color: #000000;
  color: #ffffff;
}

@media only screen and (max-width: 85em) {
  .jobs a {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 65em) {
  .jobs a {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 35em) {
  header.header .bg {
    position: fixed;
    top: 0;
    z-index: 1234;
    background-color: #ffffff;
    height: 60px;
    width: calc(100% - 20px);
    margin: 10px;
    box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.25);
    border-radius: 25px;
  }
  .logo {
    z-index: 1234567;
    max-width: 200px;
    top: 20px;
    left: 20px;
  }
  .home .logo {
    display: block;
  }
  .home .logo,
  .home header.header .bg,
  .home .m-menu {
    top: -100px;
    transition: all 150ms cubic-bezier(0.92, 0.06, 0.12, 0.73);
  }
  .home.scrolling header.header .bg {
    top: 0;
  }
  .home.scrolling .logo {
    top: 20px;
  }
  .home.scrolling .m-menu {
    top: 14px;
  }
  .body-txt ul,
  .column ul {
    margin-left: 0;
    max-width: 100%;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm5vcm1hbGl6ZS5zY3NzIiwiX2JvaWxlcnBsYXRlLnNjc3MiLCJfdHlwby5zY3NzIiwiX2xheW91dC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX25hdi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQ0VBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQSxPQUVPO0VBQ0w7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUM3YkY7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNJO0FBQUE7QUFBQTtJQUdJO0lBQ0E7QUFBQTtJQUVBO0lBQ0E7O0VBR0o7QUFBQTtJQUVJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUtBO0FBQUE7SUFFSTs7RUFHSjtJQUNJOztFQUVKO0FBQUE7SUFFSTtJQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBS0E7SUFDSTs7RUFHSjtBQUFBO0lBRUk7O0VBR0o7QUFBQTtBQUFBO0lBR0k7SUFDQTs7RUFHSjtBQUFBO0lBRUk7OztBQ2pQUjtFQUNFO0VBQ0E7RUFHQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUlBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNDOzs7QUNuRUQ7QUFFQTtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOztBQUVBO0FBQUE7RUFFRTs7QUFHRjtFQUNFOztBQUVGO0VBQ0k7RUFDQTs7QUFHSjtFQUVFOztBQVFGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBS047QUFLRTtBQUFBO0VBQ0U7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBSUo7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7OztBQUtKO0FBQUE7RUFFRTs7QUFHQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUVBOztBQUlGO0FBQUE7RUFDRTs7O0FBT0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7O0FBVUY7RUFDRTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFLSjtFQUNFO0VBRUE7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQU1BOztBQUpBO0VBQ0U7O0FBU0Y7RUFDRTs7QUFJSjtFQUNFOzs7QUFRTjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFLE9DOVNNO0VEK1NOO0VBQ0E7O0FBRUE7RUFDRSxPQ25USTs7QURzVE47RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQkMzVU07RUQ0VU47RUFDQTtFQUNBOztBQUVBO0VBQ0Usa0JDclZRO0VEc1ZSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBU047QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQU1OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRTtFQUNBOzs7QUFPUjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBRUE7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFPRjtBQUFBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUlBO0VBQ0U7OztBQVFSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQVFGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQVFKO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBSUo7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtBQUFBO0VBQ0Usa0JDeG9CRTtFRHlvQkYsUUNyb0JDO0VEc29CRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7QUFBQTtFQUNFO0VBQ0E7O0FBRUY7QUFBQTtBQUFBO0VBQ0U7O0FBSUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0o7QUFBQTtFQUNFLFlDL3BCRTtFRGdxQkY7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBRUY7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFPQTtBQUFBO0VBQ0U7OztBQVVWO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7OztBQU9SO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQU1KO0VBQ0U7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7O0VBS0Y7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFJQTtJQUNFOztFQUNBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQVFSO0VBR0k7SUFDRTs7RUFHRjtBQUFBO0lBRUU7O0VBR0Y7SUFDRTs7RUFLSjtJQUNFOztFQUVBO0lBQ0U7O0VBS0Y7SUFFRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7O0VBVUY7SUFDRTtJQUNBO0lBQ0E7O0VBSUE7SUFDRTs7RUFNRjtBQUFBO0lBQ0U7SUFDQTs7RUFHRjtBQUFBO0lBQ0U7O0VBS0o7SUFDRTtJQUNBOztFQUVBO0FBQUE7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7RUFHQTtBQUFBO0lBQ0U7O0VBR0Y7QUFBQTtJQU9FO0lBQ0E7SUFDQTs7RUFSQTtBQUFBO0lBQ0U7SUFFQTs7RUFPRjtBQUFBO0lBQ0U7O0VBTVI7SUFDRTs7RUFPQTtBQUFBO0lBQ0U7O0VBSUY7QUFBQTtJQUNFOztFQUNBO0FBQUE7SUFDRTs7RUFHSjtBQUFBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsWUN4N0JNO0lEeTdCTjtJQUNBOztFQUNBO0FBQUE7SUFDRTs7O0FBT1I7RUFDRTtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FFaDlCSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCRGZRO0VDZ0JSOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkR0Q007RUN1Q047O0FBRUY7RUFDRTs7O0FBVUo7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBSU47RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUVFO0VBQ0E7O0FBR0o7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7RUFNRTtJQUNFOztFQUlGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7O0VBRUE7SUFFRTs7RUFDQTtJQUNFOztFQUVGO0lBQ0U7O0VBQ0E7SUFDRTs7RUFNVjtJQUNFOzs7QUFPTjtFQUVNO0lBQ0U7OztBTjdJUjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBS0o7RUFDRSxrQktwQ1E7RUxxQ1IsT0twQ1U7OztBTHVDWjtFQUNFLE9LeENVOztBTDBDVjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUlBO0VBQ0U7O0FBRUE7RUFDRTs7O0FBV047RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTs7O0FBSUY7QUFBQTtBQUFBO0VBR0Usa0JLekZNO0VMMEZOO0VBQ0EsT0s1RlU7RUw2RlY7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFLE9LbEdRO0VMbUdSOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9LOUdNO0VMK0dOO0VBQ0E7RUFDQTs7QUFFQTtFQUVFLE9LdEhROzs7QUwwSFo7QUFBQTtFQUVFLGtCSzVIVTtFTDZIVixPSzVITTs7QUw4SE47QUFBQTtFQUNFOzs7QUFLSjtFQUdFLGtCS3ZJTTs7O0FMMElSO0VBRUU7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFO0FBRUE7O0FBQ0E7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCSy9LRztFTGdMSDtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTs7O0FBSUo7RUFDRSxrQksvTEs7RUxnTUwsT0tsTU07RUxtTU47RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPS2xOVTtFTG1OVjtFQUNBO0VBQ0E7OztBQUdGO0FBQ0U7RUFDQSxPSzFOVTs7O0FMNk5aO0FBQ0U7RUFDQSxPSy9OVTs7O0FMa09aO0VBQ0UsT0tuT1U7OztBTHNPWjtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0VBQ0Usa0JLek9HO0VMME9ILE9LNU9JOztBTDhPSjtBQUFBO0VBQ0UsT0svT0U7O0FMbVBOO0FBQUE7RUFDRTtFQUNBOzs7QUFNRjtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFPTjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFPRjtBQUFBO0VBQ0U7OztBQUtGO0VBQ0U7OztBQUlKO0VBRUUsT0twVE07RUxzVE47OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFFQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQU1KO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFLGtCS25XVTtFTG9XVjs7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUUsa0JLaFlROzs7QUxxWVo7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQUdGO0VBQ0Usa0JLclpNO0VMc1pOO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQksxZFE7RUwyZFI7OztBQU9KO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFO0VBRUE7OztBQUlGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUtFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7O0FBRUY7RUFDRTtFQUNBLE9LamhCSTtFTGtoQko7RUFDQTtFQUNBO0VBQ0EsWUt0aEJRO0VMdWhCUjs7QUFDQTtFQUNFLFlLcGhCQztFTHFoQkQsT0sxaEJNOzs7QUwraEJaO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0UsWUtoaUJHO0VMaWlCSDtFQUNBLE9LdGlCSTtFTHVpQko7RUFDQTtFQUNBOztBQUVBO0VBRUUsa0JLOWlCTTtFTCtpQk4sT0s5aUJFOzs7QUxxakJSO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBLGtCS3hrQkk7SUx5a0JKO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOztFQU1BO0FBQUE7QUFBQTtJQUdFO0lBQ0E7O0VBS0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBTUY7QUFBQTtJQUNFO0lBQ0EiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBQdXQgeW91ciBnbG9iYWwgc3R5bGVzIGhlcmUgKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdib2lsZXJwbGF0ZSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAndHlwbyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnbmF2JztcblxuW3YtY2xvYWtdPioge1xuICBkaXNwbGF5OiBub25lXG59XG5cbkBrZXlmcmFtZXMgcm90YXRpbmdJbWFnZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gIH1cblxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMzYwZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKC0zNjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICB9XG59XG5cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG59XG5cbi5jb250ZW50IGEge1xuICB0ZXh0LXNoYWRvdzogMCAwIDAuM2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGluay1wYW5lbHMge1xuICBhIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuICB9XG5cbn1cblxuLmFjdGl2ZSxcbmE6aG92ZXIge1xuICAvL2NvbG9yOiAkaGlnaGxpZ2h0Y29sb3I7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxudWwsXG5saSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubmF2IGxpLFxuLmxhbmdzd2l0Y2ggbGksXG5mb290ZXIgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5idXR0b24sXG5uYXYgYSxcbi5sYW5nc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgY29sb3I6ICRtYWluY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6IDAgMTVweCAycHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbWFpbmNvbG9yO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG59XG5cbi5sYW5nc3dpdGNoIHtcbiAgcGFkZGluZzogMCAxMHB4IDJweCAxMHB4O1xufVxuXG4ubGFuZ3N3aXRjaCBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMCAwIDAuM2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDVweDtcblxuICAmLmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYWluY29sb3I7XG4gIH1cbn1cblxuLmJ1dHRvbi5hY3RpdmUsXG5uYXYgbGkuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgfVxufVxuXG5cbm1haW4ubWFpbiAvLyAsIGhlYWRlci5oZWFkZXJcblxuICB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLml0ZW0ge1xuXG4gIHBhZGRpbmc6IDEwcHg7XG5cbiAgJi5iaWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnB1YmxpY3Mge1xuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xuXG4gIC8qIFJlbW92ZSB0aGlzIGlmIHlvdSBkb24ndCB3YW50IHRoZSAzRCBlZmZlY3QgKi9cbiAgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGFuaW1hdGlvbjogNjBzIHJvdGF0aW5nSW1hZ2UgbGluZWFyIGluZmluaXRlO1xuICB9XG5cbn1cblxuLmpvYnMge1xuICBtYXgtd2lkdGg6IDc1JTtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweCBhdXRvO1xuXG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOTBweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbn1cblxuLmxvY2F0aW9uOm5vdCguZW1wdHkpIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdAJztcbiAgfVxufVxuXG4ub3BlbmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICBjb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBwYWRkaW5nOiA3cHggN3B4O1xuXG4gIHNwYW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgfVxufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICRtYWluY29sb3I7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNHB4KTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogRWRnZSAqL1xuICBjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIEludGVybmV0IEV4cGxvcmVyIDEwLTExICovXG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRtYWluY29sb3I7XG59XG5cbi5wYW5lbCxcbi5zbWFsbC1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG5cbiAgJi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIH1cbn1cblxuLmJvZHktdHh0LFxuLmNvbHVtbiB7XG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgIG1heC13aWR0aDogODAlO1xuICB9XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSE9NRVBBR0Vcbi5wcm9ncmFtbWUgLmV2ZW50cy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5ldmVudHM6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxufVxuXG4uaG9tZSxcbi5wcm9ncmFtbWUtcGFnZSB7XG4gIC5ldmVudC10eXBlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi5zaW5nbGUtZXZlbnRzIHtcbiAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLmhvbWUgLm1lZGlhLWxpYnJhcnkge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICBjb2xvcjogJHdoaXRlO1xuICAvLyBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLmhvbWUgLm1lZGlhLWxpYnJhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgLyogUmVtb3ZlIHRoaXMgaWYgeW91IGRvbid0IHdhbnQgdGhlIDNEIGVmZmVjdCAqL1xuICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICY6aG92ZXIgLm1lZGlhLWxpYnJhcnktaW5uZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gY2hyb21lIGZpeFxuICB9XG5cblxufVxuXG4vKiBUaGlzIGNvbnRhaW5lciBpcyBuZWVkZWQgdG8gcG9zaXRpb24gdGhlIGZyb250IGFuZCBiYWNrIHNpZGUgKi9cbi5tZWRpYS1saWJyYXJ5LWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXG59XG5cbi5tZWRpYS1saWJyYXJ5LWZyb250LFxuLm1lZGlhLWxpYnJhcnktYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gc2FmYXJpIGZpeFxufVxuXG4ubWVkaWEtbGlicmFyeS1mcm9udCxcbi5tZWRpYS1saWJyYXJ5LWJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xufVxuXG4ubWVkaWEtbGlicmFyeS1iYWNrIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG5cbiAgcCB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG59XG5cbi5uZXdzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLy8gUFJPR1JBTU1FXG4uZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIH1cblxufVxuXG4ucHJvZ3JhbW1lLWxpc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5vLWV2ZW50cyB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vIEZPT1RFUlxuZm9vdGVyIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaWdudXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcblxuICBpbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIFt0eXBlPVwiZW1haWxcIl0sIFt0eXBlPVwidGV4dFwiXSB7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi8vIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0rc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuN2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3BhbiB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbn1cblxuLy8gZW5kIGNoZWNrYm94ZXNcblxuLmRpc3NhcGVhci1lbnRlci1hY3RpdmUsXG4uZGlzc2FwZWFyLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmRpc3NhcGVhci1lbnRlcixcbi5kaXNzYXBlYXItbGVhdmUtdG8ge1xuICBvcGFjaXR5OiAwO1xuICAvLyB0cmFuc2Zvcm06c2NhbGUoMCkgcm90YXRlWSgxODBkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuXG59XG5cbi5mYWRlLWVudGVyLWFjdGl2ZSxcbi5mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmZhZGUtZW50ZXIsXG4uZmFkZS1sZWF2ZS10b1xuXG4vKiAuZmFkZS1sZWF2ZS1hY3RpdmUgYmVsb3cgdmVyc2lvbiAyLjEuOCAqL1xuICB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgfVxufVxuXG4vLyAucGFnZS1hcnRpc3Qtb3ZlcnZpZXcge1xuLmRiLXNlYXJjaCB7XG4gIGlucHV0W3R5cGU9dGV4dF17XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1haW5jb2xvcjtcbiAgfVxuICAuYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmFscGhhYmV0IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgLmxldHRlciwgLmJ0biB7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1ZW0pIHtcbiAgLmpvYnMgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NWVtKSB7XG4gIC5qb2JzIGEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICBoZWFkZXIuaGVhZGVyIC5iZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIHotaW5kZXg6IDEyMzQ1Njc7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgfVxuXG4gIC5ob21lIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIGhvbWUgbmF2IGFuaW1hdGlvblxuICAuaG9tZSB7XG5cbiAgICAubG9nbyxcbiAgICBoZWFkZXIuaGVhZGVyIC5iZyxcbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllciguOTIsIC4wNiwgLjEyLCAuNzMpO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLnNjcm9sbGluZyB7XG4gICAgaGVhZGVyLmhlYWRlciAuYmcge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogMTRweDtcbiAgICB9XG4gIH1cblxuICAuYm9keS10eHQsXG4gIC5jb2x1bW4ge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY2LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cblxuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVmVuZG9yLXByZWZpeGVkIGFuZCByZWd1bGFyIDo6c2VsZWN0aW9uIHNlbGVjdG9ycyBjYW5ub3QgYmUgY29tYmluZWQ6XG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY5ODI1MTAvNzEzMzQ3MVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLypcbiAqIEEgYmV0dGVyIGxvb2tpbmcgZGVmYXVsdCBob3Jpem9udGFsIHJ1bGVcbiAqL1xuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCcm93c2VyIFVwZ3JhZGUgUHJvbXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiAxICovXG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTMgKi9cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgICovXG5cbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxufVxuIiwiLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4vLyAgIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgIHVybCgnL3dlYmZvbnRzL2tlcm5fcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMvS2VybiBSZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQuc3ZnJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMvS2Vybi1SZWd1bGFyLXRoZTE5NzBzLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdLZXJuaSc7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnL3dlYmZvbnRzL0tlcm4gSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBLZXJuLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjgyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4ycmVtO1xufVxuLm1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4zMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3NXJlbTtcbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS44MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xufVxuaDMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5uYXYsIC5sYW5nc3dpdGNoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmV2ZW50cyAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xufVxuLmV2ZW50LXR5cGUge1xuIGxpbmUtaGVpZ2h0OiAxLjlyZW07XG59IiwiLyogTUFJTiBFTEVNRU5UUyAqL1xuXG5tYWluLm1haW4sXG5oZWFkZXIuaGVhZGVyIHtcbiAgei1pbmRleDogMTtcbn1cblxubWFpbi5tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5sb2dvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEyMzQ7XG59XG5cbm5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIHotaW5kZXg6IDE7XG4gIHotaW5kZXg6IDEyMzU7XG59XG5cbi5ob21lIG5hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cHgpO1xufVxuXG4ubGFuZ3N3aXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2lnbnVwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XG5cbiAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwsXG4gIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tYy1maWVsZC1ncm91cC1idG4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLy8gJjpob3ZlciB7XG4gIC8vICAgLmlucHV0LWdyb3VwIHtcbiAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gIC8vICAgfVxuICAvLyB9XG4gIC5ubC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gIH1cbn1cblxuZm9vdGVyLmZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA0MHB4O1xuICB6LWluZGV4OiAtMTtcblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogUElFQ0VTICovXG5cbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcblxuICAuaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmltZy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pbmZvLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5zdmctaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIG5ldyBzdHlsZSBpbWFnZXNcbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgLy8gd2lkdGg6IDUwJTtcblxuICAmLml0ZW0tdjIge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMjBweDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDEwMCUpO1xuICB9XG5cbiAgLmltZy12MiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gICAgLy8gbWF4LWhlaWdodDogNTAwcHg7IC8vIGRvbid0IG1heCBoZWlnaHRcbiAgICB3aWR0aDogMTAwJTsgLy8gc3RyZXRjaCBmb3Igc21hbGwgaW1hZ2VzXG4gIH1cblxuICAvLyBubyBhbmltYXRpb24gZm9yIHRoZSBtYWluIGltYWdlXG4gICYuc3RhdGljOmhvdmVyIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gIH1cbn1cblxuLnBhZ2UtYXJ0aXN0LFxuLnBhZ2UtZXZlbnQsXG4ucGFnZS13b3JrIHtcbiAgLmltZy12MiB7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIGVuZCBuZXcgc3R5bGUgaW1hZ2VzXG5cblxuLy8gSE9NRVBBR0VcblxuLmhvbWUge1xuICAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubGVmdCxcbi5yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ucmlnaHQge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xufVxuXG4uYmlnLFxuLm9wZW5pbmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYmlnIHtcbiAgLmluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnQtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG59XG5cbi5wdWJsaWNzIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGgyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NSU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTIzNDU7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLnByb2dyYW1tZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnRzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5ldmVudHMge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICAuZXZlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgLnByYWN0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICYudC1leGhpYml0aW9uIC5wcmFjdGljYWwsXG4gICAgJi50LXRlbnRvb25zdGVsbGluZyAucHJhY3RpY2FsLFxuICAgICYudC1leHBvc2l0aW9uIC5wcmFjdGljYWwge1xuICAgICAgLnRpbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuXG4gIH1cblxufVxuXG4uc2luZ2xlLWV2ZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5wYW5lbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuXG4ubWVkaWEtbGlicmFyeSBhIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLm1lZGlhLWxpYnJhcnktZnJvbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgaDIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIC5pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm5ld3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB6LWluZGV4OiAxMjM0NTtcblxuICAubGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDJweCA1cHggNHB4IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTIzO1xuICB9XG5cbiAgLm1lc3NhZ2VzIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4IC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIFJFR1VMQVIgUEFHRVxuXG4ucGFnZSAuY29udGVudCxcbi5wYWdlLWV2ZW50IC5jb250ZW50LFxuLnBhZ2UtYXJ0aXN0IC5jb250ZW50LFxuLnBhZ2Utd29yayAuY29udGVudCB7XG4gIHBhZGRpbmc6IDEwMHB4IDE1cHggMTBweCAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cbiAgLnBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAwIDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM7XG5cbiAgICAmLm5vLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICBwLmZpcnN0IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cblxuICAuYm9keS10eHQgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBpZnJhbWUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5zbWFsbC1wYW5lbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDVweCk7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW46IDEwcHggMTBweCAyMHB4IDEwcHg7XG5cbiAgLnBhbmVsLXVwcGVyIHtcbiAgICBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5sZW5ndGgsXG4gIC5wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuXG4gICAgJi5wcmljZSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgPmRpdiB7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuXG4gICAgICAmLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDI0cHgpO1xuICB3aWR0aDogY2FsYyg1MCUgLSAzNHB4KTtcbiAgLy8gbWFyZ2luOiAyMHB4IDA7XG59XG5cbmlmcmFtZSxcbiNtYXAsXG4ub2wtdmlld3BvcnQge1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyBoZWlnaHQ6IDcwMHB4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuLmJvZHktdHh0IGlmcmFtZSB7XG4gIC8vIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbi5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG59XG5cbi5saW5rLXBhbmVscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlLzMgLSA0MHB4KTtcbiAgICBtYXJnaW46IDEwcHg7XG4gIH1cbn1cblxuLmdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgLml0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpO1xuICB9XG5cbiAgLnN2Zy1ob2xkZXIge1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBQUk9HUkFNTUUgUEFHRVxuLnByb2dyYW1tZS1wYWdlLFxuLnBhZ2Utd29yay1vdmVydmlldyB7XG4gIG1haW4ubWFpbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uZmlsdGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDExMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5maWx0ZXIge1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG5cbiAgLmhhcy1zdWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDIwcHggMTBweCAtMTVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG5cbi5wcm9ncmFtbWUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gIC5pdGVtIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5pbmZvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmV2ZW50LXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtZXZlbnQge1xuICAuZXZlbnQtaW5mbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gIH1cblxuICAucHJhY3RpY2FsIHt9XG59XG5cbi5wYWdlLXNlYXJjaCB7XG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIGgxIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbn1cblxuLnBhZ2UtYXJ0aXN0LW92ZXJ2aWV3LFxuLnBhZ2Utd29yay1vdmVydmlldyB7XG4gIC5wcm9ncmFtbWUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLmFscGhhYmV0LWZpbHRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hbHBoYWJldCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB6LWluZGV4OiAxMjM0O1xuXG4gICAgLmRiLXNlYXJjaCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubnVtYmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmRiLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogOTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAucm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6ICRncmV5O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAuN2VtIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgZmxleC1ncm93OjE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT10ZXh0XSwgLmRiLXJlc3VsdHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgIH1cbiAgICAmLm9wZW4ge1xuICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgLmRiLXJlc3VsdHM6bm90KC5lbXB0eSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZGItcmVzdWx0cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5pbm5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6YXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgICAgfVxuICAgICAgICBoMzpub3QoOmZpcnN0LW9mLXR5cGUpe1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAud29ya3MtbGlzdCB7XG4gICAgICAgICAgaDMge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS13b3JrLCAucGFnZS1ldmVudC5kYiwgLnBhZ2UtYXJ0aXN0IHtcbiAgLmJpby10eHQsIC53b3JrLWRlc2MsIC5ldmVudC1kZXNjIHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgfVxuXG59XG5cbi5wYWdlLXdvcmssIC5wYWdlLWV2ZW50LmRiLCAucGFnZS1hcnRpc3QsIC5wYWdlLWFydGlzdC1vdmVydmlldywgLnBhZ2Utd29yay1vdmVydmlldyB7XG4gIC5wcm9ncmFtbWUtbGlzdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIC5pdGVtIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlLzMgLSAzMHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMyAtIDMwcHgpO1xuICAgICAgJjpudGgtY2hpbGQoM24tMSl7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGFydGlzdCBwYWdlXG4uYmlydGh5ZWFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnwrAnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi8vIHdvcmsgcGFnZVxuLnBhZ2Utd29yayB7XG4gIC5wcm9ncmFtbWUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAudGVjaG5pY2FsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5cbi8vIHBhZ2VyXG4ucGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuaW5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MGVtKSB7XG4gIC5zaW5nbGUtZXZlbnRzIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAucGFuZWwge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxpbmstcGFuZWxzIHtcbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSA0MHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gIH1cblxuICAucGFnZS1ldmVudC5kYiwgLnBhZ2UtYXJ0aXN0LCAucGFnZS13b3JrLC5wYWdlLWFydGlzdC1vdmVydmlldywgLnBhZ2Utd29yay1vdmVydmlldyB7XG4gICAgLnByb2dyYW1tZS1saXN0ICB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAuaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NWVtKSB7XG5cbiAgLmhvbWUge1xuICAgIG1haW4ubWFpbiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmxlZnQsXG4gICAgLnJpZ2h0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuXG4gIC5zaWdudXAge1xuICAgIG1hcmdpbi1ib3R0b206IDE4MHB4O1xuXG4gICAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG5cblxuICAgIC5uaWwge1xuICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIFt0eXBlPVwiZW1haWxcIl0sIFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgW3R5cGU9XCJzdWJtaXRcIl17XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbW1lLWxpc3QgLml0ZW0ge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHJvZ3JhbW1lIHtcbiAgICAuZXZlbnQtdHlwZSB7XG4gICAgICAvLyBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNtYWxsLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cblxuICAubGluay1wYW5lbHMge1xuICAgIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICB9XG4gIH1cblxuICAucGFnZSAuY29udGVudCxcbiAgLnBhZ2UtZXZlbnQgLmNvbnRlbnQge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogMTBweCAyMHB4IDAgMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB9XG4gIH1cblxuXG4gIC50YWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5sZW5ndGgsXG4gICAgLnByaWNlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICAgLy8gd2lkdGg6IDUwJTtcbiAgICAgICYucHJpY2Uge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID5kaXYge1xuICAgICAgICAmLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCkgIWltcG9ydGFudDtcblxuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcnkgLml0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICB9XG5cbiAgLnBhZ2UtYXJ0aXN0LW92ZXJ2aWV3LFxuICAucGFnZS13b3JrLW92ZXJ2aWV3IHtcblxuXG4gICAgLnByb2dyYW1tZS1saXN0IC5pdGVtIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgfVxuXG5cbiAgICAuYWxwaGFiZXQge1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAmLmZpbHRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFscGhhYmV0LWZpbHRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOjI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDE1cHggMnB4IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiRtYWluY29sb3I7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmLmZpbHRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1ZW0pIHtcbiAgLmdhbGxlcnkgLml0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgLnNpZ251cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjIwcHg7XG4gIH1cblxuICAuZ2FsbGVyeSAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB9XG59IiwiJGJnY29sb3I6ICNGMEYwRjA7XG4kbWFpbmNvbG9yOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGhpZ2hsaWdodGNvbG9yOiAjMTE2N0ZGO1xuJGJsdWU6ICMwMDY3RkYgO1xuJGdyZWVuOiAjNTJGRjZBO1xuJGdyZXk6ICNGMEYwRjA7XG4kZGFya2dyZXk6ICM1YTVhNTk7IiwiLm0tbWVudSB7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6MTRweDtcbiAgcmlnaHQ6MjVweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTIzNDU2Nzg7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OicnO1xuICAgIHdpZHRoOjUwcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgfVxuXG4gIC5tbSB7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOjUwcHg7XG4gICAgaGVpZ2h0OjUwcHg7XG4gICAgb3V0bGluZTpub25lO1xuICAgIHBhZGRpbmc6IDA7IC8vIGlvcyBoYXMgYSBidWcgb3RoZXJ3aXNlXG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICB3aWR0aDo1MHB4O1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRtYWluY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAzNnB4O1xuICAgIH1cblxuICB9XG5cbn1cblxuXG5cbm5hdiB7XG4gIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhLCBzcGFuLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBsaSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICByaWdodDogMDtcbiAgfVxuICBsaTpob3ZlciB7XG4gICAgdWwge1xuICAgICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIH1cbiAgfVxuICAubGFuZ3N3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5wNDAgdWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gZGlydHkgaGFjazogO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICAubS1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubS1tZW51LW9wZW4ge1xuXG4gICAgLm0tbWVudSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5tLW1lbnUgLm1tIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOjI0cHg7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6MjRweDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogNzVweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHVsIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGEsIC5idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sYW5nc3dpdGNoLWhvbGRlciB7XG4gICAgICBvcmRlcjotMTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBhcHBseSBob3ZlciBlZmZlY3Qgb25seSBmb3Igbm9uIHRvdWNoIGRldmljZXMgdG8gcHJldmVudCB0b2dnbGUgYnVnIG9uIG1vYmlsZVxuQG1lZGlhIG5vdCBhbGwgYW5kIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgbmF2IGxpOmhvdmVyIHtcbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgfVxufSJdfQ== */
