@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:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
   https://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:
   * https://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 .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;
}

.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;
}
.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 .number,
.page-work-overview .alphabet .number {
  margin-left: auto !important;
}

.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%;
  }
}
@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 .nil {
    display: none;
  }
  .signup [type=email] {
    flex-grow: 1 !important;
    width: 100%;
  }
  .programme-list .item {
    max-width: 100%;
    width: 100%;
  }
  .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 .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] {
  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));
}

.alphabet {
  background: white;
  border-radius: 25px;
}
.alphabet .letter {
  background: #F0F0F0;
  border-radius: 15px;
  color: #ffffff;
  border: none;
  margin: 10px;
  min-width: 50px;
}
.alphabet .letter:hover, .alphabet .letter.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm5vcm1hbGl6ZS5zY3NzIiwiX2JvaWxlcnBsYXRlLnNjc3MiLCJfdHlwby5zY3NzIiwiX2xheW91dC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX25hdi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQ0VBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQSxPQUVPO0VBQ0w7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUM3YkY7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNJO0FBQUE7QUFBQTtJQUdJO0lBQ0E7QUFBQTtJQUVBO0lBQ0E7O0VBR0o7QUFBQTtJQUVJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUtBO0FBQUE7SUFFSTs7RUFHSjtJQUNJOztFQUVKO0FBQUE7SUFFSTtJQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBS0E7SUFDSTs7RUFHSjtBQUFBO0lBRUk7O0VBR0o7QUFBQTtBQUFBO0lBR0k7SUFDQTs7RUFHSjtBQUFBO0lBRUk7OztBQ2pQUjtFQUNFO0VBQ0E7RUFHQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUlBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNDOzs7QUNuRUQ7QUFFQTtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOztBQUVBO0FBQUE7RUFFRTs7QUFHRjtFQUNFOztBQUlGO0VBRUU7O0FBUUY7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFLTjtBQUtFO0FBQUE7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFDRTs7QUFJSjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFDRTs7O0FBS0o7QUFBQTtFQUVFOztBQUdBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBRUE7O0FBSUY7QUFBQTtFQUNFOzs7QUFPRjtBQUFBO0FBQUE7RUFDRTtFQUNBOzs7QUFVRjtFQUNFOzs7QUFJSjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7OztBQUtKO0VBQ0U7RUFFQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBTUE7O0FBSkE7RUFDRTs7QUFTRjtFQUNFOztBQUlKO0VBQ0U7OztBQVFOO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0UsT0MzU007RUQ0U047RUFDQTs7QUFFQTtFQUNFLE9DaFRJOztBRG1UTjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCQ3hVTTtFRHlVTjtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxrQkNsVlE7RURtVlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUFTTjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRTtFQUNBOzs7QUFPUjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBRUE7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFPRjtBQUFBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUlBO0VBQ0U7OztBQVFSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQVFGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQVFKO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFOzs7QUFNTjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7OztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFNSjtFQUNFO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOztFQUtGO0lBQ0U7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7OztBQUtKO0VBR0k7SUFDRTs7RUFHRjtBQUFBO0lBRUU7O0VBR0Y7SUFDRTs7RUFLSjtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7SUFDQTs7RUFVRjtJQUNFO0lBQ0E7SUFDQTs7RUFJQTtJQUNFOztFQU1GO0FBQUE7SUFDRTtJQUNBOztFQUdGO0FBQUE7SUFDRTs7RUFLSjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUdBO0FBQUE7SUFDRTs7RUFHRjtBQUFBO0lBT0U7SUFDQTtJQUNBOztFQVJBO0FBQUE7SUFDRTtJQUVBOztFQU9GO0FBQUE7SUFDRTs7RUFNUjtJQUNFOztFQUtBO0FBQUE7SUFDRTs7RUFDQTtBQUFBO0lBQ0U7O0VBR0o7QUFBQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFlDdHlCTTtJRHV5Qk47SUFDQTs7RUFDQTtBQUFBO0lBQ0U7OztBQU9SO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBRTl6Qko7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkRmUTtFQ2dCUjs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JEdENNO0VDdUNOOztBQUVGO0VBQ0U7OztBQVVKO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUlOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFFRTtFQUNBOztBQUdKO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBTUU7SUFDRTs7RUFJRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUlKO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFOztFQUVBO0lBRUU7O0VBQ0E7SUFDRTs7RUFFRjtJQUNFOztFQUNBO0lBQ0U7O0VBTVY7SUFDRTs7O0FBT047RUFFTTtJQUNFOzs7QU43SVI7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUtKO0VBQ0Usa0JLcENRO0VMcUNSLE9LcENVOzs7QUx1Q1o7RUFDRSxPS3hDVTs7QUwwQ1Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFJQTtFQUNFOztBQUVBO0VBQ0U7OztBQVdOO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUlGO0FBQUE7QUFBQTtFQUdFLGtCS3pGTTtFTDBGTjtFQUNBLE9LNUZVO0VMNkZWO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDRSxPS2xHUTtFTG1HUjs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPSzlHTTtFTCtHTjtFQUNBO0VBQ0E7O0FBRUE7RUFFRSxPS3RIUTs7O0FMMEhaO0FBQUE7RUFFRSxrQks1SFU7RUw2SFYsT0s1SE07O0FMOEhOO0FBQUE7RUFDRTs7O0FBS0o7RUFHRSxrQkt2SU07OztBTDBJUjtFQUVFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtBQUVBOztBQUNBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQksvS0c7RUxnTEg7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7OztBQUlKO0VBQ0Usa0JLL0xLO0VMZ01MLE9LbE1NO0VMbU1OO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0tsTlU7RUxtTlY7RUFDQTtFQUNBOzs7QUFHRjtBQUNFO0VBQ0EsT0sxTlU7OztBTDZOWjtBQUNFO0VBQ0EsT0svTlU7OztBTGtPWjtFQUNFLE9Lbk9VOzs7QUxzT1o7QUFBQTtFQUVFO0VBQ0E7O0FBRUE7QUFBQTtFQUNFLGtCS3pPRztFTDBPSCxPSzVPSTs7QUw4T0o7QUFBQTtFQUNFLE9LL09FOztBTG1QTjtBQUFBO0VBQ0U7RUFDQTs7O0FBTUY7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBT047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBT0Y7QUFBQTtFQUNFOzs7QUFLRjtFQUNFOzs7QUFJSjtFQUVFLE9LcFRNO0VMc1ROOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBRUE7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFNSjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRSxrQktuV1U7RUxvV1Y7OztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFLGtCS2hZUTs7O0FMcVlaO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFHRjtFQUNFLGtCS3JaTTtFTHNaTjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JLMWRRO0VMMmRSOzs7QUFPSjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTtFQUVBOzs7QUFJRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFLRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRSxZSzVnQkc7RUw2Z0JIO0VBQ0EsT0tsaEJJO0VMbWhCSjtFQUNBO0VBQ0E7O0FBRUE7RUFFRSxrQksxaEJNO0VMMmhCTixPSzFoQkU7OztBTGlpQlI7RUFDRTtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0Esa0JLcGpCSTtJTHFqQko7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBTUE7QUFBQTtBQUFBO0lBR0U7SUFDQTs7RUFLRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFNRjtBQUFBO0lBQ0U7SUFDQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFB1dCB5b3VyIGdsb2JhbCBzdHlsZXMgaGVyZSAqL1xuQGltcG9ydCAnbm9ybWFsaXplJztcbkBpbXBvcnQgJ2JvaWxlcnBsYXRlJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd0eXBvJztcbkBpbXBvcnQgJ2xheW91dCc7XG5AaW1wb3J0ICduYXYnO1xuXG5bdi1jbG9ha10+KiB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuQGtleWZyYW1lcyByb3RhdGluZ0ltYWdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKC0zNjBkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gIH1cbn1cblxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG5hIHtcbiAgY29sb3I6ICRtYWluY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbn1cblxuLmNvbnRlbnQgYSB7XG4gIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saW5rLXBhbmVscyB7XG4gIGEge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAuM2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG4gIH1cblxufVxuXG4uYWN0aXZlLFxuYTpob3ZlciB7XG4gIC8vY29sb3I6ICRoaWdobGlnaHRjb2xvcjtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG51bCxcbmxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5uYXYgbGksXG4ubGFuZ3N3aXRjaCBsaSxcbmZvb3RlciBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLmJ1dHRvbixcbm5hdiBhLFxuLmxhbmdzd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgcGFkZGluZzogMCAxNXB4IDJweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYWluY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbn1cblxuLmxhbmdzd2l0Y2gge1xuICBwYWRkaW5nOiAwIDEwcHggMnB4IDEwcHg7XG59XG5cbi5sYW5nc3dpdGNoIGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNXB4O1xuXG4gICYuYWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgfVxufVxuXG4uYnV0dG9uLmFjdGl2ZSxcbm5hdiBsaS5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICB9XG59XG5cblxubWFpbi5tYWluIC8vICwgaGVhZGVyLmhlYWRlclxuXG4gIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uaXRlbSB7XG5cbiAgcGFkZGluZzogMTBweDtcblxuICAmLmJpZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ucHVibGljcyB7XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgLyogUmVtb3ZlIHRoaXMgaWYgeW91IGRvbid0IHdhbnQgdGhlIDNEIGVmZmVjdCAqL1xuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYW5pbWF0aW9uOiA2MHMgcm90YXRpbmdJbWFnZSBsaW5lYXIgaW5maW5pdGU7XG4gIH1cblxufVxuXG4uam9icyB7XG4gIG1heC13aWR0aDogNzUlO1xuICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG5cbiAgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA5MHB4O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cblxufVxuXG4ubG9jYXRpb246bm90KC5lbXB0eSkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0AnO1xuICB9XG59XG5cbi5vcGVuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6IDdweCA3cHg7XG5cbiAgc3BhbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG59XG5cbi5zZWFyY2gtaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBFZGdlICovXG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgY29sb3I6ICRtYWluY29sb3I7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuLnBhbmVsLFxuLnNtYWxsLXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgcGFkZGluZzogMTBweDtcblxuICAmLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgfVxufVxuXG4uYm9keS10eHQsXG4uY29sdW1uIHtcbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAoic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIT01FUEFHRVxuLnByb2dyYW1tZSAuZXZlbnRzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmV2ZW50czphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG59XG5cbi5ob21lLFxuLnByb2dyYW1tZS1wYWdlIHtcbiAgLmV2ZW50LXR5cGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLnNpbmdsZS1ldmVudHMge1xuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4uaG9tZSAubWVkaWEtbGlicmFyeSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIC8vIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4uaG9tZSAubWVkaWEtbGlicmFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAvKiBSZW1vdmUgdGhpcyBpZiB5b3UgZG9uJ3Qgd2FudCB0aGUgM0QgZWZmZWN0ICovXG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgJjpob3ZlciAubWVkaWEtbGlicmFyeS1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gIH1cblxuICAuaXRlbSB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBjaHJvbWUgZml4XG4gIH1cblxuXG59XG5cbi8qIFRoaXMgY29udGFpbmVyIGlzIG5lZWRlZCB0byBwb3NpdGlvbiB0aGUgZnJvbnQgYW5kIGJhY2sgc2lkZSAqL1xuLm1lZGlhLWxpYnJhcnktaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHM7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbn1cblxuLm1lZGlhLWxpYnJhcnktZnJvbnQsXG4ubWVkaWEtbGlicmFyeS1iYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBzYWZhcmkgZml4XG59XG5cbi5tZWRpYS1saWJyYXJ5LWZyb250LFxuLm1lZGlhLWxpYnJhcnktYmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG59XG5cbi5tZWRpYS1saWJyYXJ5LWJhY2sge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICBwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cblxuLm5ld3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vLyBQUk9HUkFNTUVcbi5maWx0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgcGFkZGluZzogMnB4IDEwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5jb2xvcjtcbiAgfVxuXG59XG5cbi5wcm9ncmFtbWUtbGlzdCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubm8tZXZlbnRzIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gRk9PVEVSXG5mb290ZXIgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZ251cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuXG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgW3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi8vIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0rc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuN2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3BhbiB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbn1cblxuLy8gZW5kIGNoZWNrYm94ZXNcblxuLmRpc3NhcGVhci1lbnRlci1hY3RpdmUsXG4uZGlzc2FwZWFyLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmRpc3NhcGVhci1lbnRlcixcbi5kaXNzYXBlYXItbGVhdmUtdG8ge1xuICBvcGFjaXR5OiAwO1xuICAvLyB0cmFuc2Zvcm06c2NhbGUoMCkgcm90YXRlWSgxODBkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuXG59XG5cbi5mYWRlLWVudGVyLWFjdGl2ZSxcbi5mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmZhZGUtZW50ZXIsXG4uZmFkZS1sZWF2ZS10b1xuXG4vKiAuZmFkZS1sZWF2ZS1hY3RpdmUgYmVsb3cgdmVyc2lvbiAyLjEuOCAqL1xuICB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgfVxufVxuXG4vLyAucGFnZS1hcnRpc3Qtb3ZlcnZpZXcge1xuLmFscGhhYmV0IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cbiAgLmxldHRlciB7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1ZW0pIHtcbiAgLmpvYnMgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NWVtKSB7XG4gIC5qb2JzIGEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICBoZWFkZXIuaGVhZGVyIC5iZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIHotaW5kZXg6IDEyMzQ1Njc7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgfVxuXG4gIC5ob21lIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIGhvbWUgbmF2IGFuaW1hdGlvblxuICAuaG9tZSB7XG5cbiAgICAubG9nbyxcbiAgICBoZWFkZXIuaGVhZGVyIC5iZyxcbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllciguOTIsIC4wNiwgLjEyLCAuNzMpO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLnNjcm9sbGluZyB7XG4gICAgaGVhZGVyLmhlYWRlciAuYmcge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogMTRweDtcbiAgICB9XG4gIH1cblxuICAuYm9keS10eHQsXG4gIC5jb2x1bW4ge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY2LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cblxuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVmVuZG9yLXByZWZpeGVkIGFuZCByZWd1bGFyIDo6c2VsZWN0aW9uIHNlbGVjdG9ycyBjYW5ub3QgYmUgY29tYmluZWQ6XG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY5ODI1MTAvNzEzMzQ3MVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLypcbiAqIEEgYmV0dGVyIGxvb2tpbmcgZGVmYXVsdCBob3Jpem9udGFsIHJ1bGVcbiAqL1xuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCcm93c2VyIFVwZ3JhZGUgUHJvbXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiAxICovXG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTMgKi9cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgICovXG5cbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxufVxuIiwiLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4vLyAgIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgIHVybCgnL3dlYmZvbnRzL2tlcm5fcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMvS2VybiBSZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQuc3ZnJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMvS2Vybi1SZWd1bGFyLXRoZTE5NzBzLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdLZXJuaSc7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnL3dlYmZvbnRzL0tlcm4gSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBLZXJuLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjgyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4ycmVtO1xufVxuLm1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4zMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3NXJlbTtcbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS44MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xufVxuaDMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5uYXYsIC5sYW5nc3dpdGNoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmV2ZW50cyAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xufVxuLmV2ZW50LXR5cGUge1xuIGxpbmUtaGVpZ2h0OiAxLjlyZW07XG59IiwiLyogTUFJTiBFTEVNRU5UUyAqL1xuXG5tYWluLm1haW4sXG5oZWFkZXIuaGVhZGVyIHtcbiAgei1pbmRleDogMTtcbn1cblxubWFpbi5tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5sb2dvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEyMzQ7XG59XG5cbm5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIHotaW5kZXg6IDE7XG4gIHotaW5kZXg6IDEyMzU7XG59XG5cbi5ob21lIG5hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cHgpO1xufVxuXG4ubGFuZ3N3aXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2lnbnVwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XG5cbiAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwsXG4gIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLy8gJjpob3ZlciB7XG4gIC8vICAgLmlucHV0LWdyb3VwIHtcbiAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gIC8vICAgfVxuICAvLyB9XG4gIC5ubC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gIH1cbn1cblxuZm9vdGVyLmZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA0MHB4O1xuICB6LWluZGV4OiAtMTtcblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogUElFQ0VTICovXG5cbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcblxuICAuaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmltZy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pbmZvLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5zdmctaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIG5ldyBzdHlsZSBpbWFnZXNcbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgLy8gd2lkdGg6IDUwJTtcblxuICAmLml0ZW0tdjIge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMjBweDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDEwMCUpO1xuICB9XG5cbiAgLmltZy12MiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gICAgLy8gbWF4LWhlaWdodDogNTAwcHg7IC8vIGRvbid0IG1heCBoZWlnaHRcbiAgICB3aWR0aDogMTAwJTsgLy8gc3RyZXRjaCBmb3Igc21hbGwgaW1hZ2VzXG4gIH1cblxuICAvLyBubyBhbmltYXRpb24gZm9yIHRoZSBtYWluIGltYWdlXG4gICYuc3RhdGljOmhvdmVyIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gIH1cbn1cblxuLnBhZ2UtYXJ0aXN0LFxuLnBhZ2UtZXZlbnQsXG4ucGFnZS13b3JrIHtcbiAgLmltZy12MiB7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIGVuZCBuZXcgc3R5bGUgaW1hZ2VzXG5cblxuLy8gSE9NRVBBR0VcblxuLmhvbWUge1xuICAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubGVmdCxcbi5yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ucmlnaHQge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xufVxuXG4uYmlnLFxuLm9wZW5pbmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYmlnIHtcbiAgLmluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnQtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG59XG5cbi5wdWJsaWNzIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGgyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NSU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTIzNDU7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLnByb2dyYW1tZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnRzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5ldmVudHMge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICAuZXZlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgLnByYWN0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICYudC1leGhpYml0aW9uIC5wcmFjdGljYWwsXG4gICAgJi50LXRlbnRvb25zdGVsbGluZyAucHJhY3RpY2FsLFxuICAgICYudC1leHBvc2l0aW9uIC5wcmFjdGljYWwge1xuICAgICAgLnRpbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuXG4gIH1cblxufVxuXG4uc2luZ2xlLWV2ZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5wYW5lbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuXG4ubWVkaWEtbGlicmFyeSBhIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLm1lZGlhLWxpYnJhcnktZnJvbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgaDIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIC5pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm5ld3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB6LWluZGV4OiAxMjM0NTtcblxuICAubGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDJweCA1cHggNHB4IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTIzO1xuICB9XG5cbiAgLm1lc3NhZ2VzIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4IC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIFJFR1VMQVIgUEFHRVxuXG4ucGFnZSAuY29udGVudCxcbi5wYWdlLWV2ZW50IC5jb250ZW50LFxuLnBhZ2UtYXJ0aXN0IC5jb250ZW50LFxuLnBhZ2Utd29yayAuY29udGVudCB7XG4gIHBhZGRpbmc6IDEwMHB4IDE1cHggMTBweCAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cbiAgLnBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAwIDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM7XG5cbiAgICAmLm5vLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICBwLmZpcnN0IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cblxufVxuXG4uc21hbGwtcGFuZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ1cHgpO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMjBweCAxMHB4O1xuXG4gIC5wYW5lbC11cHBlciB7XG4gICAgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcblxuICAubGVuZ3RoLFxuICAucHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICYucHJpY2Uge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgID5kaXYge1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICAgJi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5jb2x1bW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMzRweCk7XG4gIC8vIG1hcmdpbjogMjBweCAwO1xufVxuXG5pZnJhbWUsXG4jbWFwLFxuLm9sLXZpZXdwb3J0IHtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gaGVpZ2h0OiA3MDBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cbi5ib2R5LXR4dCBpZnJhbWUge1xuICAvLyBib3JkZXItcmFkaXVzOiAwcHg7XG59XG4uZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDE1MHB4O1xufVxuXG4ubGluay1wYW5lbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJS8zIC0gNDBweCk7XG4gICAgbWFyZ2luOiAxMHB4O1xuICB9XG59XG5cbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcbiAgfVxuXG4gIC5zdmctaG9sZGVyIHtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gUFJPR1JBTU1FIFBBR0Vcbi5wcm9ncmFtbWUtcGFnZSxcbi5wYWdlLXdvcmstb3ZlcnZpZXcge1xuICBtYWluLm1haW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAuZmlsdGVyIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuXG4gIC5oYXMtc3ViIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogNTBweCAwIDAgMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDEwcHggLTE1cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuXG4ucHJvZ3JhbW1lLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMTBweDtcblxuICAuaXRlbSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAuaW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5ldmVudC10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWV2ZW50IHtcbiAgLmV2ZW50LWluZm8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICB9XG5cbiAgLnByYWN0aWNhbCB7fVxufVxuXG4ucGFnZS1zZWFyY2gge1xuICAuY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICBoMSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5wYWdlLWFydGlzdC1vdmVydmlldyxcbi5wYWdlLXdvcmstb3ZlcnZpZXcge1xuICAucHJvZ3JhbW1lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG5cbiAgLmFscGhhYmV0LWZpbHRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hbHBoYWJldCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB6LWluZGV4OiAxMjM0O1xuXG4gICAgLm51bWJlciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBhcnRpc3QgcGFnZVxuLmJpcnRoeWVhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJ8KwJztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4vLyB3b3JrIHBhZ2Vcbi5wYWdlLXdvcmsge1xuICAucHJvZ3JhbW1lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnRlY2huaWNhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuXG4vLyBwYWdlclxuLnBhZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmluYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwLjE7XG4gIH1cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzBlbSkge1xuICAuc2luZ2xlLWV2ZW50cyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLnBhbmVsIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLXBhbmVscyB7XG4gICAgLml0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJS8yIC0gNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUpO1xuICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NWVtKSB7XG5cbiAgLmhvbWUge1xuICAgIG1haW4ubWFpbiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmxlZnQsXG4gICAgLnJpZ2h0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuXG4gIC5zaWdudXAge1xuICAgIG1hcmdpbi1ib3R0b206IDE4MHB4O1xuXG4gICAgLm5pbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIFt0eXBlPVwiZW1haWxcIl0ge1xuICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbW1lLWxpc3QgLml0ZW0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5wcm9ncmFtbWUge1xuICAgIC5ldmVudC10eXBlIHtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc21hbGwtcGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuXG4gIC5saW5rLXBhbmVscyB7XG4gICAgLml0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlIC5jb250ZW50LFxuICAucGFnZS1ldmVudCAuY29udGVudCB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAxMHB4IDIwcHggMCAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLnRhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmxlbmd0aCxcbiAgICAucHJpY2Uge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuXG4gICAgICAvLyB3aWR0aDogNTAlO1xuICAgICAgJi5wcmljZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgPmRpdiB7XG4gICAgICAgICYubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtYWluY29sb3I7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2FsbGVyeSAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gIH1cblxuICAucGFnZS1hcnRpc3Qtb3ZlcnZpZXcsXG4gIC5wYWdlLXdvcmstb3ZlcnZpZXcge1xuICAgIC5hbHBoYWJldCB7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICYuZmlsdGVyLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWxwaGFiZXQtZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6MjVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweCAycHggMTVweDtcbiAgICAgIGJhY2tncm91bmQ6JG1haW5jb2xvcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICYuZmlsdGVyLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICAuZ2FsbGVyeSAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAuc2lnbnVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMjBweDtcbiAgfVxuXG4gIC5nYWxsZXJ5IC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIH1cbn0iLCIkYmdjb2xvcjogI0YwRjBGMDtcbiRtYWluY29sb3I6ICMwMDAwMDA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kaGlnaGxpZ2h0Y29sb3I6ICMxMTY3RkY7XG4kYmx1ZTogIzAwNjdGRiA7XG4kZ3JlZW46ICM1MkZGNkE7XG4kZ3JleTogI0YwRjBGMDtcbiRkYXJrZ3JleTogIzVhNWE1OTsiLCIubS1tZW51IHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDoxNHB4O1xuICByaWdodDoyNXB4O1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMjM0NTY3ODtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgd2lkdGg6NTBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuICB9XG5cbiAgLm1tIHtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6NTBweDtcbiAgICBoZWlnaHQ6NTBweDtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgcGFkZGluZzogMDsgLy8gaW9zIGhhcyBhIGJ1ZyBvdGhlcndpc2VcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHdpZHRoOjUwcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JG1haW5jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDM2cHg7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cblxubmF2IHtcbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGEsIHNwYW4uYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIGxpOmhvdmVyIHtcbiAgICB1bCB7XG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgfVxuICB9XG4gIC5sYW5nc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnA0MCB1bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBkaXJ0eSBoYWNrOiA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNWVtKSB7XG4gIC5tLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tLW1lbnUtb3BlbiB7XG5cbiAgICAubS1tZW51IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm0tbWVudSAubW0ge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6MjRweDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDoyNHB4O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA3NXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdWwge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYSwgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxhbmdzd2l0Y2gtaG9sZGVyIHtcbiAgICAgIG9yZGVyOi0xO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIGFwcGx5IGhvdmVyIGVmZmVjdCBvbmx5IGZvciBub24gdG91Y2ggZGV2aWNlcyB0byBwcmV2ZW50IHRvZ2dsZSBidWcgb24gbW9iaWxlXG5AbWVkaWEgbm90IGFsbCBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICBuYXYgbGk6aG92ZXIge1xuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICB9XG59Il19 */
