@charset "UTF-8";
/*  Syntax Quick Reference
  --------------------------
  column($ratios: 1, $offset: 0, $cycle: 0, $uncycle: 0, $gutter: $jeet-gutter)
  span($ratio: 1, $offset: 0)
  shift($ratios: 0, $col_or_span: column, $gutter: $jeet-gutter)
  unshift()
  edit()
  center($max_width: 1410px, $pad: 0)
  stack($pad: 0, $align: false)
  unstack()
  align($direction: both)
  cf()
*/
/**
 * Grid settings.
 * All values are defaults and can therefore be easily overidden.
 */
/**
 * List functions courtesy of the wonderful folks at Team Sass.
 * Check out their awesome grid: Singularity.
 */
/**
 * Get  percentage from a given ratio.
 * @param {number} [$ratio=1] - The column ratio of the element.
 * @returns {number} - The percentage value.
 */
/**
 * Work out the column widths based on the ratio and gutter sizes.
 * @param {number} [$ratios=1] - The column ratio of the element.
 * @param {number} [$gutter=$jeet-gutter] - The gutter for the column.
 * @returns {list} $width $gutter - A list containing the with and gutter for the element.
 */
/**
 * Get the set layout direction for the project.
 * @returns {string} $direction - The layout direction.
 */
/**
 * Replace a specified list value with a new value (uses built in set-nth() if available)
 * @param {list} $list - The list of values you want to alter.
 * @param {number} $index - The index of the list item you want to replace.
 * @param {*} $value - The value you want to replace $index with.
 * @returns {list} $list - The list with the value replaced or removed.
 * @warn if an invalid index is supplied.
 */
/**
 * Reverse a list (progressively enhanced for Sass 3.3)
 * @param {list} $list - The list of values you want to reverse.
 * @returns {list} $result - The reversed list.
 */
/**
 * Get the opposite direction to a given value.
 * @param {string} $dir - The direction you want the opposite of.
 * @returns {string} - The opposite direction to $dir.
 * @warn if an incorrect string is provided.
 */
/**
 * Style an element as a column with a gutter.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$offset=0] - A offset specified as a fraction (see $ratios).
 * @param {number} [$cycle=0] - Easily create an nth column grid where $cycle equals the number of columns.
 * @param {number} [$uncycle=0] - Undo a previous cycle value to allow for a new one.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * An alias for the column mixin.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * Get the width of a column and nothing else.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * Get the gutter size of a column and nothing else.
 * @param {number} [ratios=1] - A width relative to its container as a fraction.
 * @param {number} [gutter=jeet.gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * An alias for the column-width function.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * An alias for the column-gutter function.
 * @param [$args...] - All arguments get passed through to column().
 */
/**
 * Style an element as a column without any gutters for a seamless row.
 * @param {number} [$ratios=1] - A width relative to its container as a fraction.
 * @param {number} [$offset=0] - A offset specified as a fraction (see $ratios).
 * @param {number} [cycle=0] - Easily create an nth column grid where cycle equals the number of columns.
 * @param {number} [uncycle=0] - Undo a previous cycle value to allow for a new one.
 */
/**
 * Reorder columns without altering the HTML.
 * @param {number} [$ratios=0] - Specify how far along you want the element to move.
 * @param {string} [$col-or-span=column] - Specify whether the element has a gutter or not.
 * @param {number} [$gutter=$jeet-gutter] - Specify the gutter width as a percentage of the containers width.
 */
/**
 * Reset an element that has had shift() applied to it.
 */
/**
 * View the grid and its layers for easy debugging.
 * @param {string} [$color=black] - The background tint applied.
 * @param {boolean} [$important=false] - Whether to apply the style as !important.
 */
/**
 *  Alias for edit().
 */
/**
 * Horizontally center an element.
 * @param {number} [$max-width=1410px] - The max width the element can be.
 * @param {number} [$pad=0] - Specify the element's left and right padding.
 */
/**
 * Uncenter an element.
 */
/**
 * Stack an element so that nothing is either side of it.
 * @param {number} [$pad=0] - Specify the element's left and right padding.
 * @param {boolean/string} [$align=false] - Specify the text align for the element.
 */
/**
 * Unstack an element.
 */
/**
 * Center an element on either or both axes.
 * @requires A parent container with relative positioning.
 * @param {string} [$direction=both] - Specify which axes to center the element on.
 */
/**
 * Apply a clearfix to an element.
 */
/****************************
**  colors  **
****************************/
/****************************
**  textshadow  **
****************************/
/****************************
**  fonts  **
****************************/
@import 'https://fonts.googleapis.com/css?family=Passero+One';
@import url("https://fonts.googleapis.com/css?family=Oswald:400,700");
@import url("https://fonts.googleapis.com/css?family=Arvo:700");
@import url("https://fonts.googleapis.com/css?family=Special+Elite");
.kint {
  z-index: 9999;
  position: relative; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  color: #383b3e;
  font-family: "proxima-nova", sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  min-height: 100%;
  position: relative; }

body {
  height: 100%;
  position: relative; }

img {
  max-width: 100%; }

a {
  color: #383b3e; }

.loader {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100vh;
  z-index: 9999;
  background: #000; }

.spinner {
  border: 5px solid #f3f3f3;
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
  border-top: 5px solid #555;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  position: absolute;
  top: calc(50% - 15px);
  left: calc(50% - 15px); }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.menu-item {
  padding-top: 0; }

.layout-container {
  background: #f4e2c6;
  *zoom: 1;
  min-height: 100vh;
  height: 100%; }
  .layout-container:before, .layout-container:after {
    content: '';
    display: table; }
  .layout-container:after {
    clear: both; }

.page-node-type-menu-page,
.path-nieuwsbrief {
  color: #f4e2c6; }
  .page-node-type-menu-page .layout-container,
  .path-nieuwsbrief .layout-container {
    background: #008ab0; }

.region-header {
  z-index: 9999999;
  background-color: #fff;
  min-height: 56px;
  width: 100%;
  position: relative; }

.path-frontpage .region-header {
  top: 100vh;
  position: absolute; }

.path-frontpage.toolbar-horizontal .region-header {
  top: calc(100vh + 39px);
  position: absolute; }

.path-frontpage.toolbar-tray-open .region-header {
  top: calc(100vh + 77px);
  position: absolute; }

.path-frontpage .layout-content {
  padding-top: 56px; }
  @media all and (min-width: 800px) {
    .path-frontpage .layout-content {
      padding-top: 72px; } }

.path-frontpage .layout-container {
  min-height: 200vh; }

.site-logo {
  position: absolute;
  top: 8px;
  left: 10px;
  height: 40px; }
  @media all and (min-width: 800px) {
    .site-logo {
      left: 50px;
      height: 55px; } }
  .site-logo img {
    height: 100%;
    width: auto; }

h1, h2, #block-plaktheme-main-menu ul.menu a, #block-secondary-navigation a,
#block-hoofdnavigatie a {
  font-family: "Passero One", cursive;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px; }

h1, h2, #block-plaktheme-main-menu ul.menu a, #block-secondary-navigation a,
#block-hoofdnavigatie a {
  font-size: 1.45em;
  line-height: 1.5em; }

#block-plaktheme-page-title h1 {
  color: #eddb00;
  text-align: center;
  font-size: 2em;
  line-height: 1em;
  margin: 0.4em 0; }
  @media all and (min-width: 600px) {
    #block-plaktheme-page-title h1 {
      font-size: 3.125em; } }

.path-plaatjes #block-plaktheme-page-title h1 {
  display: none; }

h3, .agendalink, .deel, .extralinks a {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0; }

p {
  margin-top: 0; }

a.nostyle {
  text-decoration: none;
  color: #383b3e; }

.field--name-body a {
  text-decoration: underline;
  color: #383b3e; }

h2.site-name, #block-plaktheme-main-menu ul.menu a.site-name, #block-secondary-navigation a.site-name,
#block-hoofdnavigatie a.site-name {
  display: none;
  font-size: 0.8em;
  text-align: center;
  line-height: 56px;
  margin: 0;
  padding: 0;
  color: #383b3e; }
  @media all and (min-width: 600px) {
    h2.site-name, #block-plaktheme-main-menu ul.menu a.site-name, #block-secondary-navigation a.site-name,
    #block-hoofdnavigatie a.site-name {
      display: block; } }
  @media all and (min-width: 800px) {
    h2.site-name, #block-plaktheme-main-menu ul.menu a.site-name, #block-secondary-navigation a.site-name,
    #block-hoofdnavigatie a.site-name {
      line-height: 72px;
      font-size: 1.5em; } }

.grid-item h2, .grid-item #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .grid-item a, .grid-item #block-secondary-navigation a, #block-secondary-navigation .grid-item a, .grid-item
#block-hoofdnavigatie a,
#block-hoofdnavigatie .grid-item a {
  margin: 0;
  padding: 10px;
  font-size: 0.8em;
  line-height: 1.2em; }
  @media all and (min-width: 600px) {
    .grid-item h2, .grid-item #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .grid-item a, .grid-item #block-secondary-navigation a, #block-secondary-navigation .grid-item a, .grid-item
    #block-hoofdnavigatie a,
    #block-hoofdnavigatie .grid-item a {
      font-size: 0.8em;
      line-height: 1.5em; } }
  @media all and (min-width: 800px) {
    .grid-item h2, .grid-item #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .grid-item a, .grid-item #block-secondary-navigation a, #block-secondary-navigation .grid-item a, .grid-item
    #block-hoofdnavigatie a,
    #block-hoofdnavigatie .grid-item a {
      padding: 20px;
      font-size: 1em;
      line-height: 1.5em; } }
  @media all and (min-width: 1000px) {
    .grid-item h2, .grid-item #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .grid-item a, .grid-item #block-secondary-navigation a, #block-secondary-navigation .grid-item a, .grid-item
    #block-hoofdnavigatie a,
    #block-hoofdnavigatie .grid-item a {
      padding: 20px;
      font-size: 1.2em;
      line-height: 1.5em; } }

.yellow h2, .yellow #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .yellow a, .yellow #block-secondary-navigation a, #block-secondary-navigation .yellow a, .yellow
#block-hoofdnavigatie a,
#block-hoofdnavigatie .yellow a {
  background: #eddb00; }

.pink h2, .pink #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .pink a, .pink #block-secondary-navigation a, #block-secondary-navigation .pink a, .pink
#block-hoofdnavigatie a,
#block-hoofdnavigatie .pink a {
  background: #da5c80;
  color: white; }

.blue h2, .blue #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .blue a, .blue #block-secondary-navigation a, #block-secondary-navigation .blue a, .blue
#block-hoofdnavigatie a,
#block-hoofdnavigatie .blue a {
  background: #008ab0;
  color: white; }

/****************************
**  menu  **
****************************/
#block-plaktheme-main-menu {
  position: absolute;
  z-index: 99999; }

#block-plaktheme-main-menu.nav-open {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #008ab0;
  overflow: scroll; }

div.navwrapper {
  position: absolute;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

#block-plaktheme-main-menu ul.menu {
  margin: 0;
  margin-bottom: 20px;
  padding: 0; }
  #block-plaktheme-main-menu ul.menu:before {
    content: url("images/logowit.svg");
    width: 200px;
    display: block;
    margin: auto;
    margin-top: 20px; }
  #block-plaktheme-main-menu ul.menu li {
    list-style: none;
    text-align: center;
    margin-bottom: 10px; }
  #block-plaktheme-main-menu ul.menu a {
    text-decoration: none;
    color: white;
    background: #da5c80;
    color: #fff;
    display: inline-block;
    padding: 2px 10px;
    transition: all 0.2s ease; }
    #block-plaktheme-main-menu ul.menu a:hover {
      background: #fff;
      color: #da5c80; }

#block-plaktheme-main-menu .sociallinks {
  margin: 30px auto 20px;
  padding: 0;
  display: table; }
  #block-plaktheme-main-menu .sociallinks li {
    list-style: none;
    float: left;
    margin-right: 1em;
    font-size: 2em; }
    @media all and (min-width: 600px) {
      #block-plaktheme-main-menu .sociallinks li {
        font-size: 3em; } }
    #block-plaktheme-main-menu .sociallinks li:last-child {
      margin-right: 0; }
  #block-plaktheme-main-menu .sociallinks a {
    text-decoration: none;
    color: #f4e2c6;
    transition: all 0.3s ease; }
    #block-plaktheme-main-menu .sociallinks a:hover {
      color: #da5c80; }

#block-plaktheme-main-menu address {
  font-weight: 700;
  font-style: normal;
  text-align: center;
  color: #f4e2c6;
  padding-bottom: 50px; }
  #block-plaktheme-main-menu address a {
    text-decoration: none;
    color: #f4e2c6; }

.menu-icon {
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 15px;
  z-index: 9999999;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: -webkit-transform 250ms linear;
  transition: -webkit-transform 250ms linear, background-color 250ms linear;
  transition: transform 250ms linear, background-color 250ms linear;
  width: 30px; }
  @media all and (min-width: 800px) {
    .menu-icon {
      top: 22px;
      right: 50px; } }
  .menu-icon.open-icon {
    position: fixed; }

.bar-bottom, .bar-top {
  -webkit-transform: rotate(0) translate(0, 0);
  transform: rotate(0) translate(0, 0);
  -webkit-transform-origin: 25% 50%;
  transform-origin: 25% 50%;
  transition: -webkit-transform 250ms linear;
  transition: -webkit-transform 250ms linear, background-color 250ms linear;
  transition: transform 250ms linear, background-color 250ms linear; }

.open-icon .bar-top {
  -webkit-transform: rotate(45deg) translate(0, 0.24em);
  transform: rotate(45deg) translate(0, 0.24em);
  -webkit-transform-origin: 25% 50%;
  transform-origin: 25% 50%; }

.open-icon .bar-bottom {
  -webkit-transform: rotate(-45deg) translate(0, -0.24em);
  transform: rotate(-45deg) translate(0, -0.24em);
  -webkit-transform-origin: 25% 50%;
  transform-origin: 25% 50%; }

.bar-middle {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition-property: opacity,-webkit-transform;
  transition-property: opacity,-webkit-transform, background-color;
  transition-property: opacity,transform, background-color;
  transition-duration: 250ms;
  transition-timing-function: linear; }

.open-icon .bar-middle {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0); }

.menu-icon-bar {
  background-color: #da5c80;
  box-shadow: 0 0 0 white,0 0 0 #fff;
  display: block;
  height: 4px;
  margin: 4px 0;
  width: 90%;
  padding-left: 3px; }

.menu-icon:hover .menu-icon-bar {
  background-color: #008ab0; }

.open-icon .menu-icon-bar {
  background-color: white; }

.open-icon:hover .menu-icon-bar {
  background-color: #da5c80; }

body.nav-open {
  overflow: hidden; }

/****************************
**  secondary menu  **
****************************/
#block-secondary-navigation,
#block-hoofdnavigatie {
  display: table;
  margin: 50px auto 0px; }
  #block-secondary-navigation a,
  #block-hoofdnavigatie a {
    text-decoration: none;
    color: #383b3e; }
    #block-secondary-navigation a:hover,
    #block-hoofdnavigatie a:hover {
      text-decoration: underline; }
      #block-secondary-navigation a:hover:before,
      #block-hoofdnavigatie a:hover:before {
        background-color: #008ab0; }
  #block-secondary-navigation a:before,
  #block-hoofdnavigatie a:before {
    transition: all 0.3s ease;
    content: "\e900";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    width: 24px;
    height: 24px;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    background: #da5c80;
    color: white;
    margin-right: 16px; }

/****************************
**  page  **
****************************/
.agendalink {
  color: #383b3e;
  text-decoration: none;
  display: inline-block;
  padding-bottom: 3em; }
  .agendalink:hover {
    color: #da5c80; }

article.node--type-page.node--view-mode-full {
  position: relative;
  width: 100%;
  *zoom: 1; }
  article.node--type-page.node--view-mode-full:before, article.node--type-page.node--view-mode-full:after {
    content: '';
    display: table; }
  article.node--type-page.node--view-mode-full:after {
    clear: both; }

.imagewrapper {
  height: 40vw; }
  .imagewrapper img,
  .imagewrapper video {
    max-width: 100%;
    height: auto;
    width: 100%;
    display: block; }
  .imagewrapper img,
  .imagewrapper video {
    max-width: 100%;
    max-height: 100%;
    height: calc( 100vh - 72px);
    object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover; object-position: bottom;'; }

.textwrapper {
  overflow-y: scroll;
  padding: 50px 20px;
  box-sizing: border-box; }
  .textwrapper .inner-wrapper {
    position: relative;
    min-height: 100%; }
  .textwrapper .inner {
    position: relative;
    min-height: 100%;
    padding-bottom: 80px; }
  .textwrapper h1 {
    background: #da5c80;
    color: #fff;
    display: inline-block;
    padding: 2px 10px;
    -webkit-transform: rotate(-1.5deg);
            transform: rotate(-1.5deg);
    margin: 0 0 16px; }
  .textwrapper .node__content {
    border-style: dotted;
    border-color: #da5c80;
    border-image-source: url("images/dots.svg");
    border-image-slice: 33% 33%;
    border-image-repeat: round;
    border-width: 0 0 8px 0; }
  @media all and (min-width: 800px) {
    .textwrapper {
      padding: 50px; } }

.node--type-event .textwrapper .node__content {
  border-color: #383b3e;
  border-image-source: url("images/blackdots.svg"); }

.deel {
  bottom: 0px;
  left: 0;
  position: absolute; }

.extralinks {
  bottom: 0px;
  right: 0;
  position: absolute;
  text-transform: uppercase; }
  .extralinks a {
    color: #383b3e;
    text-decoration: none; }
    .extralinks a:hover {
      color: #da5c80; }

.sharelinks {
  bottom: 0;
  left: 0px;
  position: absolute;
  margin: 0;
  padding: 0;
  left: 45px;
  bottom: 0px;
  *zoom: 1; }
  .sharelinks:before, .sharelinks:after {
    content: '';
    display: table; }
  .sharelinks:after {
    clear: both; }
  .sharelinks li {
    list-style: none;
    float: left;
    margin-right: 10px; }
  .sharelinks a {
    text-decoration: none; }
  .sharelinks i {
    color: white;
    background-color: #da5c80;
    width: 24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center;
    transition: all 0.3s ease; }
    .sharelinks i:hover {
      background-color: #008ab0; }

.eventdata {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  background: #da5c80;
  height: 9.7em;
  text-transform: uppercase;
  position: relative; }
  .eventdata .datetime {
    float: left;
    height: 100%;
    width: 9.7em;
    background: #eddb00;
    text-align: center;
    padding-top: 1.875em;
    box-sizing: border-box;
    line-height: 1.5em; }
    .eventdata .datetime span.eventday {
      font-size: 2em;
      padding-bottom: 0.9375em;
      display: inline-block; }
  .eventdata .eventname {
    float: left;
    height: 100%;
    padding-left: 3.125em;
    width: calc(100% - 13em); }
  .eventdata h1,
  .eventdata h2,
  .eventdata #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu
  .eventdata a,
  .eventdata #block-secondary-navigation a, #block-secondary-navigation
  .eventdata a,
  .eventdata
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie
  .eventdata a {
    font-size: 3em;
    color: #eddb00;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    margin: 0.33em 0 0px;
    height: 1.5em;
    overflow: hidden;
    padding-right: 2em;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .eventdata .field--name-field-slogan {
    color: white;
    font-size: 1.8em;
    line-height: 1.5em;
    height: 1.5em;
    overflow: hidden;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    margin: 0;
    padding: 0;
    padding-right: 4em;
    text-overflow: ellipsis;
    white-space: nowrap; }

article.node--type-event.node--view-mode-teaser {
  font-size: 0.5em; }
  @media all and (min-width: 500px) {
    article.node--type-event.node--view-mode-teaser {
      font-size: 0.6em; } }
  @media all and (min-width: 800px) {
    article.node--type-event.node--view-mode-teaser {
      font-size: 0.7em; } }
  @media all and (min-width: 1000px) {
    article.node--type-event.node--view-mode-teaser {
      font-size: 0.8em; } }
  @media all and (min-width: 1200px) {
    article.node--type-event.node--view-mode-teaser {
      font-size: 0.7em; } }
  @media all and (min-width: 1400px) {
    article.node--type-event.node--view-mode-teaser {
      font-size: 1em; } }

.imagewrapper {
  font-size: 0.5em; }
  @media all and (min-width: 500px) {
    .imagewrapper {
      font-size: 0.6em; } }
  @media all and (min-width: 600px) {
    .imagewrapper {
      font-size: 0.7em; } }
  @media all and (min-width: 800px) {
    .imagewrapper {
      font-size: 0.6em; } }
  @media all and (min-width: 1000px) {
    .imagewrapper {
      font-size: 0.8em; } }
  @media all and (min-width: 1200px) {
    .imagewrapper {
      font-size: 1em; } }

.eventicon {
  position: absolute;
  font-size: 2em;
  right: 0.4375em;
  top: 0.9375em;
  color: white; }
  .eventicon i {
    content: "";
    display: block;
    background-repeat: no-repeat;
    width: 2em;
    height: 2em;
    background-size: contain; }
  .eventicon .robot {
    background-image: url("images/roboto.gif"); }
  .eventicon .hart {
    background-image: url("images/heart.gif"); }

@media all and (min-width: 800px) {
  .imagewrapper {
    width: calc(100% - 400px);
    float: left;
    height: calc( 100vh - 72px); }
  .node--type-event .imagewrapper {
    height: calc( 100vh - 72px - 9.6875em); }
  .textwrapper {
    width: 400px;
    float: left;
    height: calc( 100vh - 72px); } }

@media all and (min-width: 1120px) {
  .imagewrapper {
    width: calc(100% - 576px); }
  .textwrapper {
    width: 576px; } }

/****************************
**  agenda  **
****************************/
.path-agenda h1 {
  display: none; }

.path-agenda .layout-container {
  min-height: calc( 100vh);
  background-image: url("images/agenda.jpg");
  background-size: cover; }

.view-agenda {
  *zoom: 1;
  width: auto;
  max-width: 800px;
  float: none;
  display: block;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 20px; }
  .view-agenda:before, .view-agenda:after {
    content: '';
    display: table; }
  .view-agenda:after {
    clear: both; }

.view-agenda .views-row:nth-of-type(2n+2) .eventdata {
  background: #008ab0; }

.eventlinks {
  position: absolute;
  right: 0px;
  bottom: 5px;
  margin: 0;
  padding: 0;
  *zoom: 1; }
  .eventlinks:before, .eventlinks:after {
    content: '';
    display: table; }
  .eventlinks:after {
    clear: both; }
  .eventlinks li {
    list-style: none;
    margin-right: 5px;
    padding-top: 8px;
    float: left; }
    @media all and (min-width: 600px) {
      .eventlinks li {
        float: none; } }
  .eventlinks a {
    text-decoration: none; }
  .eventlinks i {
    color: white;
    background-color: #eddb00;
    width: 24px;
    height: 24px;
    display: inline-block;
    line-height: 24px;
    text-align: center; }

span.month {
  margin-left: 50px;
  color: #eddb00;
  font-size: 1.6em;
  font-weight: 700;
  top: 14px;
  position: relative;
  display: block;
  height: 80px; }
  span.month:after {
    content: url("images/arrow.svg");
    width: 260px;
    display: block;
    position: absolute;
    left: -40px;
    top: 30px; }

@media all and (min-width: 600px) {
  .view-agenda {
    padding-right: 100px;
    padding-left: 50px; }
  .eventlinks {
    right: -60px;
    bottom: 0; }
    .eventlinks li {
      margin-right: 10px; } }

article.node--type-event.node--view-mode-teaser {
  margin-top: 28px;
  *zoom: 1;
  position: relative; }
  article.node--type-event.node--view-mode-teaser:before, article.node--type-event.node--view-mode-teaser:after {
    content: '';
    display: table; }
  article.node--type-event.node--view-mode-teaser:after {
    clear: both; }

@media all and (min-width: 1200px) {
  .view-agenda {
    *zoom: 1;
    width: auto;
    max-width: 1400px;
    float: none;
    display: block;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0; }
    .view-agenda:before, .view-agenda:after {
      content: '';
      display: table; }
    .view-agenda:after {
      clear: both; }
  article.node--type-event.node--view-mode-teaser {
    margin-top: 28px;
    margin-left: 372px;
    margin-right: 205px;
    *zoom: 1; }
    article.node--type-event.node--view-mode-teaser:before, article.node--type-event.node--view-mode-teaser:after {
      content: '';
      display: table; }
    article.node--type-event.node--view-mode-teaser:after {
      clear: both; }
  h3 + .views-row article.node--type-event.node--view-mode-teaser, .agendalink + .views-row article.node--type-event.node--view-mode-teaser, .deel + .views-row article.node--type-event.node--view-mode-teaser, .extralinks a + .views-row article.node--type-event.node--view-mode-teaser {
    margin-top: -70px; } }

article.node--type-event.node--view-mode-teaser {
  margin-top: 28px;
  *zoom: 1;
  position: relative; }
  article.node--type-event.node--view-mode-teaser:before, article.node--type-event.node--view-mode-teaser:after {
    content: '';
    display: table; }
  article.node--type-event.node--view-mode-teaser:after {
    clear: both; }

/****************************
**  menu pagina  **
****************************/
#block-menu-navigation {
  border-style: dotted;
  border-color: #da5c80;
  border-image-source: url("images/whitedots.svg");
  border-image-slice: 33% 33%;
  border-image-repeat: round;
  border-width: 0 0 8px 0;
  padding-bottom: 16px;
  margin-bottom: 32px; }
  #block-menu-navigation ul.menu {
    display: table;
    margin: auto; }
  @media all and (min-width: 400px) {
    #block-menu-navigation li {
      float: left;
      padding-right: 10px; } }
  @media all and (min-width: 600px) {
    #block-menu-navigation li {
      float: left;
      padding-right: 30px; } }
  @media all and (min-width: 800px) {
    #block-menu-navigation li {
      padding-right: 50px; }
      #block-menu-navigation li:last-child {
        padding-right: 0; } }
  @media all and (min-width: 1000px) {
    #block-menu-navigation li {
      padding-right: 100px; } }
  #block-menu-navigation a {
    font-family: "Oswald", sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    text-decoration: none;
    color: #383b3e; }
    @media all and (min-width: 600px) {
      #block-menu-navigation a {
        font-size: 20px;
        line-height: 24px; } }
    @media all and (min-width: 800px) {
      #block-menu-navigation a {
        font-size: 30px;
        line-height: 36px; } }
    #block-menu-navigation a.is-active, #block-menu-navigation a:hover {
      color: #f4e2c6; }

.page-node-type-menu-page a {
  color: #f4e2c6; }

.page-node-type-menu-page .field--name-title {
  display: none; }

.page-node-type-menu-page article h2, .page-node-type-menu-page article #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .page-node-type-menu-page article a, .page-node-type-menu-page article #block-secondary-navigation a, #block-secondary-navigation .page-node-type-menu-page article a, .page-node-type-menu-page article
#block-hoofdnavigatie a,
#block-hoofdnavigatie .page-node-type-menu-page article a {
  background: #da5c80;
  color: #fff;
  display: inline-block;
  padding: 2px 10px;
  -webkit-transform: rotate(-1.5deg);
          transform: rotate(-1.5deg);
  margin: 0 0 16px; }

.page-node-type-menu-page .field--name-field-slogan {
  text-align: center;
  color: #eddb00;
  line-height: 1.32em;
  letter-spacing: 1px;
  margin: 0.5em 0;
  font-size: 1em;
  padding: 0 20px; }
  @media all and (min-width: 600px) {
    .page-node-type-menu-page .field--name-field-slogan {
      font-size: 1.5em;
      overflow: hidden; }
      .page-node-type-menu-page .field--name-field-slogan span {
        position: relative; }
        .page-node-type-menu-page .field--name-field-slogan span:before {
          content: url("images/arrow2.svg");
          width: 7.4em;
          display: block;
          position: absolute;
          left: -7.4em;
          top: 0.06em;
          -webkit-transform: rotate(-1.5deg);
                  transform: rotate(-1.5deg); }
        .page-node-type-menu-page .field--name-field-slogan span:after {
          content: url("images/arrow2.svg");
          -webkit-transform: rotate(181.5deg);
                  transform: rotate(181.5deg);
          width: 7.4em;
          display: block;
          position: absolute;
          right: -7.4em;
          top: -0.32em; } }
  @media all and (min-width: 800px) {
    .page-node-type-menu-page .field--name-field-slogan {
      font-size: 2em; } }
  @media all and (min-width: 1000px) {
    .page-node-type-menu-page .field--name-field-slogan {
      font-size: 2.5em; } }
  @media all and (min-width: 1200px) {
    .page-node-type-menu-page .field--name-field-slogan {
      font-size: 3.125em; } }

@media all and (min-width: 1000px) {
  .page-node-type-menu-page .field--name-body,
  .page-node-type-menu-page .field--name-field-body-2nd {
    *zoom: 1;
    float: left;
    clear: none;
    text-align: inherit;
    width: 48.5%;
    margin-left: 0%;
    margin-right: 3%; }
    .page-node-type-menu-page .field--name-body:before, .page-node-type-menu-page .field--name-body:after,
    .page-node-type-menu-page .field--name-field-body-2nd:before,
    .page-node-type-menu-page .field--name-field-body-2nd:after {
      content: '';
      display: table; }
    .page-node-type-menu-page .field--name-body:after,
    .page-node-type-menu-page .field--name-field-body-2nd:after {
      clear: both; }
    .page-node-type-menu-page .field--name-body:nth-child(2n),
    .page-node-type-menu-page .field--name-field-body-2nd:nth-child(2n) {
      margin-right: 0%;
      float: right; }
    .page-node-type-menu-page .field--name-body:nth-child(2n + 1),
    .page-node-type-menu-page .field--name-field-body-2nd:nth-child(2n + 1) {
      clear: both; } }

.plakmenu {
  padding: 0 20px;
  padding-bottom: 40px;
  *zoom: 1; }
  @media all and (min-width: 800px) {
    .plakmenu {
      padding: 0 50px; } }
  .plakmenu:before, .plakmenu:after {
    content: '';
    display: table; }
  .plakmenu:after {
    clear: both; }

/****************************
**  nieuwsbrief  **
****************************/
.path-nieuwsbrief {
  /****************************
  **  slick slider  **
  ****************************/ }
  .path-nieuwsbrief .mailchimp-signup-subscribe-form {
    overflow: hidden;
    text-transform: uppercase;
    text-align: center;
    font-family: "Oswald", sans-serif;
    letter-spacing: 1px; }
    .path-nieuwsbrief .mailchimp-signup-subscribe-form h2, .path-nieuwsbrief .mailchimp-signup-subscribe-form #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .path-nieuwsbrief .mailchimp-signup-subscribe-form a, .path-nieuwsbrief .mailchimp-signup-subscribe-form #block-secondary-navigation a, #block-secondary-navigation .path-nieuwsbrief .mailchimp-signup-subscribe-form a, .path-nieuwsbrief .mailchimp-signup-subscribe-form
    #block-hoofdnavigatie a,
    #block-hoofdnavigatie .path-nieuwsbrief .mailchimp-signup-subscribe-form a {
      display: inline-block;
      clear: left;
      background: #da5c80;
      color: #fff;
      display: inline-block;
      padding: 2px 10px;
      -webkit-transform: rotate(-1.5deg);
              transform: rotate(-1.5deg);
      margin: 0 16px 24px;
      font-size: 1em; }
      @media all and (min-width: 600px) {
        .path-nieuwsbrief .mailchimp-signup-subscribe-form h2, .path-nieuwsbrief .mailchimp-signup-subscribe-form #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .path-nieuwsbrief .mailchimp-signup-subscribe-form a, .path-nieuwsbrief .mailchimp-signup-subscribe-form #block-secondary-navigation a, #block-secondary-navigation .path-nieuwsbrief .mailchimp-signup-subscribe-form a, .path-nieuwsbrief .mailchimp-signup-subscribe-form
        #block-hoofdnavigatie a,
        #block-hoofdnavigatie .path-nieuwsbrief .mailchimp-signup-subscribe-form a {
          font-size: 1.5em; } }
    .path-nieuwsbrief .mailchimp-signup-subscribe-form span {
      line-height: 1.2em;
      font-weight: 700;
      margin: 0;
      display: inline-block;
      padding-bottom: 1em; }
      @media all and (min-width: 600px) {
        .path-nieuwsbrief .mailchimp-signup-subscribe-form span {
          font-size: 1.8em; } }
      .path-nieuwsbrief .mailchimp-signup-subscribe-form span.inschrijven {
        padding-top: 0.5em;
        padding-bottom: 0.4em; }
    .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email {
      margin-bottom: 0.6em;
      max-width: 92%;
      position: relative;
      display: inline-block; }
      .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email label {
        display: none; }
      .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email input {
        border: none;
        background-color: #f4e2c6;
        width: 320px;
        line-height: 30px;
        color: #008ab0;
        padding: 0 5px;
        font-weight: 700;
        font-family: "proxima-nova", sans-serif;
        max-width: calc(100% - 40px); }
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email input::-webkit-input-placeholder {
          color: #008ab0;
          font-weight: 700; }
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email input::-moz-placeholder {
          color: #008ab0;
          font-weight: 700; }
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email input:-ms-input-placeholder {
          color: #008ab0;
          font-weight: 700; }
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email input::placeholder {
          color: #008ab0;
          font-weight: 700; }
      @media all and (min-width: 600px) {
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email:before {
          content: url("images/arrow.svg");
          width: 7.4em;
          display: block;
          position: absolute;
          left: -8em;
          top: 0.35em;
          -webkit-transform: rotate(-1.5deg);
                  transform: rotate(-1.5deg); }
        .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-item-mergevars-email:after {
          content: url("images/arrow3.svg");
          width: 7.4em;
          display: block;
          position: absolute;
          right: -7.7em;
          top: 0.2em; } }
    .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-submit {
      color: #eddb00;
      font-family: "Passero One", cursive;
      font-size: 30px;
      line-height: 36px;
      text-transform: uppercase;
      background: none;
      border: none; }
      .path-nieuwsbrief .mailchimp-signup-subscribe-form .form-submit:hover {
        color: #f4e2c6; }

.slickslider,
.slick-list,
.slick-track {
  height: 100%; }

.slick-dots {
  position: absolute;
  bottom: 0px;
  left: 30px;
  display: block;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center; }
  .slick-dots li {
    float: left;
    list-style: none; }
    .slick-dots li button {
      font-size: 0;
      line-height: 0;
      display: block;
      width: 20px;
      height: 20px;
      padding: 5px;
      cursor: pointer;
      color: transparent;
      border: 0;
      outline: none;
      background: transparent;
      position: relative; }
      .slick-dots li button::before {
        font-family: slick;
        font-size: 30px;
        line-height: 20px;
        position: absolute;
        top: 0px;
        left: 0px;
        width: 20px;
        height: 20px;
        content: "•";
        text-align: center;
        opacity: 0.75;
        color: white;
        -webkit-font-smoothing: antialiased; }
    .slick-dots li.slick-active button::before {
      color: #da5c80; }

#play {
  opacity: 0;
  transition: opacity 0.2s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9999999;
  font-size: 24px;
  padding: 5px 15px !important;
  color: #f4e2c6;
  background: #da5c80;
  border: none;
  outline: none;
  border-radius: 12%;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.videowrapper:hover #play {
  opacity: 1; }

.node-23 {
  *zoom: 1; }
  .node-23:before, .node-23:after {
    content: '';
    display: table; }
  .node-23:after {
    clear: both; }
  @media all and (min-width: 1000px) {
    .node-23 {
      display: -ms-flexbox;
      display: flex; } }

/****************************
**  reserveren  **
****************************/
#block-plaktheme-content {
  position: relative; }

.reserveerslogan {
  position: absolute;
  top: 20px;
  z-index: 99;
  width: 100%;
  text-align: center;
  padding-bottom: 10px;
  border-style: dotted;
  border-color: #da5c80;
  border-image-source: url("images/whitedots.svg");
  border-image-slice: 33% 33%;
  border-image-repeat: round;
  border-width: 0 0 8px 0; }
  .reserveerslogan h2, .reserveerslogan #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .reserveerslogan a, .reserveerslogan #block-secondary-navigation a, #block-secondary-navigation .reserveerslogan a, .reserveerslogan
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie .reserveerslogan a {
    display: inline-block;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    font-size: 1em;
    letter-spacing: 0.06em;
    line-height: 1.2em;
    margin: 0;
    padding: 0; }
    @media all and (min-width: 600px) {
      .reserveerslogan h2, .reserveerslogan #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .reserveerslogan a, .reserveerslogan #block-secondary-navigation a, #block-secondary-navigation .reserveerslogan a, .reserveerslogan
      #block-hoofdnavigatie a,
      #block-hoofdnavigatie .reserveerslogan a {
        font-size: 1.3em; } }
    @media all and (min-width: 1000px) {
      .reserveerslogan h2, .reserveerslogan #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .reserveerslogan a, .reserveerslogan #block-secondary-navigation a, #block-secondary-navigation .reserveerslogan a, .reserveerslogan
      #block-hoofdnavigatie a,
      #block-hoofdnavigatie .reserveerslogan a {
        font-size: 1.8em; } }

.eetgroep,
.feest {
  padding-top: 110px;
  color: white;
  overflow: hidden;
  background: #008ab0; }
  .eetgroep .centered,
  .feest .centered {
    text-align: center; }
  .eetgroep .text,
  .feest .text {
    padding: 30px 20px 50px; }
    @media all and (min-width: 800px) {
      .eetgroep .text,
      .feest .text {
        padding: 30px 50px 50px; } }
  .eetgroep .field--name-body,
  .feest .field--name-body {
    border-style: dotted;
    border-color: #da5c80;
    border-image-source: url("images/whitedots.svg");
    border-image-slice: 33% 33%;
    border-image-repeat: round;
    border-width: 0 0 8px 0; }
  .eetgroep h2, .eetgroep #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .eetgroep a, .eetgroep #block-secondary-navigation a, #block-secondary-navigation .eetgroep a, .eetgroep
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie .eetgroep a,
  .feest h2,
  .feest #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu
  .feest a,
  .feest #block-secondary-navigation a, #block-secondary-navigation
  .feest a,
  .feest
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie
  .feest a {
    background: #da5c80;
    color: #fff;
    display: inline-block;
    padding: 2px 10px;
    -webkit-transform: rotate(-1.5deg);
            transform: rotate(-1.5deg);
    margin: 0 auto; }
    @media all and (min-width: 600px) {
      .eetgroep h2:before, .eetgroep #block-plaktheme-main-menu ul.menu a:before, #block-plaktheme-main-menu ul.menu .eetgroep a:before, .eetgroep #block-secondary-navigation a:before, #block-secondary-navigation .eetgroep a:before, .eetgroep
      #block-hoofdnavigatie a:before,
      #block-hoofdnavigatie .eetgroep a:before,
      .feest h2:before,
      .feest #block-plaktheme-main-menu ul.menu a:before, #block-plaktheme-main-menu ul.menu
      .feest a:before,
      .feest #block-secondary-navigation a:before, #block-secondary-navigation
      .feest a:before,
      .feest
      #block-hoofdnavigatie a:before,
      #block-hoofdnavigatie
      .feest a:before {
        content: url("images/arrow.svg");
        width: 7.4em;
        display: block;
        position: absolute;
        left: -8em;
        top: 0.35em;
        -webkit-transform: rotate(-1.5deg);
                transform: rotate(-1.5deg); }
      .eetgroep h2:after, .eetgroep #block-plaktheme-main-menu ul.menu a:after, #block-plaktheme-main-menu ul.menu .eetgroep a:after, .eetgroep #block-secondary-navigation a:after, #block-secondary-navigation .eetgroep a:after, .eetgroep
      #block-hoofdnavigatie a:after,
      #block-hoofdnavigatie .eetgroep a:after,
      .feest h2:after,
      .feest #block-plaktheme-main-menu ul.menu a:after, #block-plaktheme-main-menu ul.menu
      .feest a:after,
      .feest #block-secondary-navigation a:after, #block-secondary-navigation
      .feest a:after,
      .feest
      #block-hoofdnavigatie a:after,
      #block-hoofdnavigatie
      .feest a:after {
        content: url("images/arrow3.svg");
        width: 7.4em;
        display: block;
        position: absolute;
        right: -7.7em;
        top: 0.2em; } }
  @media all and (min-width: 1000px) {
    .eetgroep,
    .feest {
      *zoom: 1;
      float: left;
      clear: none;
      text-align: inherit;
      width: 50%;
      margin-left: 0%;
      margin-right: 0%;
      -ms-flex-align: stretch;
          align-items: stretch; }
      .eetgroep:before, .eetgroep:after,
      .feest:before,
      .feest:after {
        content: '';
        display: table; }
      .eetgroep:after,
      .feest:after {
        clear: both; }
      .eetgroep:nth-child(2n),
      .feest:nth-child(2n) {
        margin-right: 0%;
        float: right; }
      .eetgroep:nth-child(2n + 1),
      .feest:nth-child(2n + 1) {
        clear: both; } }
  .eetgroep input,
  .eetgroep textarea,
  .eetgroep select,
  .feest input,
  .feest textarea,
  .feest select {
    background-color: #f4e2c6;
    outline: none;
    border: none;
    color: #383b3e;
    padding: 8px 10px; }
    @media all and (max-width: 650px) {
      .eetgroep input,
      .eetgroep textarea,
      .eetgroep select,
      .feest input,
      .feest textarea,
      .feest select {
        width: 100%;
        box-sizing: border-box; } }
  .eetgroep select,
  .feest select {
    margin-bottom: 8px; }
  .eetgroep label,
  .feest label {
    font-weight: 700;
    display: block; }
  .eetgroep .form-submit,
  .feest .form-submit {
    color: #eddb00;
    font-family: "Passero One", cursive;
    font-size: 30px;
    line-height: 36px;
    text-transform: uppercase;
    background: none;
    border: none;
    text-align: center;
    width: 100%; }
    .eetgroep .form-submit:hover,
    .feest .form-submit:hover {
      color: #f4e2c6; }

.eetgroep {
  background: #da5c80; }
  .eetgroep h2, .eetgroep #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .eetgroep a, .eetgroep #block-secondary-navigation a, #block-secondary-navigation .eetgroep a, .eetgroep
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie .eetgroep a {
    background: #008ab0; }

/****************************
**  coloprbox **
****************************/
#cboxOverlay {
  background: #da5c80;
  z-index: 9999999; }

#cboxContent, .cboxPhoto {
  border-radius: 0; }

#colorbox {
  z-index: 9999999; }

#cboxTitle {
  background: #008ab0;
  color: white;
  font-family: "Passero One", cursive;
  font-size: 1em;
  line-height: 1.2em;
  padding: 8px;
  bottom: 0;
  text-align: center; }
  @media all and (min-width: 600px) {
    #cboxTitle {
      font-size: 1.2em; } }
  @media all and (min-width: 800px) {
    #cboxTitle {
      font-size: 1.5em; } }
  @media all and (min-width: 600px) {
    #cboxTitle {
      padding: 8px 5em; } }

#cboxPrevious {
  background: url("images/arrow3.svg");
  background-repeat: no-repeat;
  width: 7.4em;
  font-size: 0.2em;
  position: absolute;
  left: 1em;
  -webkit-transform: rotate(-1.5deg);
          transform: rotate(-1.5deg);
  right: auto; }
  @media all and (min-width: 600px) {
    #cboxPrevious {
      font-size: 0.6em; } }
  #cboxPrevious:hover {
    background-position: inherit; }

#cboxNext {
  font-size: 0.2em;
  background: url("images/arrow.svg");
  background-repeat: no-repeat;
  width: 7.4em;
  display: block;
  position: absolute;
  right: 1em;
  left: auto; }
  @media all and (min-width: 600px) {
    #cboxNext {
      font-size: 0.6em; } }
  #cboxNext:hover {
    background-position: inherit; }

#cboxCurrent {
  display: none !important; }

#cboxClose {
  position: absolute;
  text-align: center;
  top: 4px;
  color: #eddb00;
  font-weight: 400;
  font-family: "Oswald", sans-serif;
  font-size: 5em;
  right: 20px;
  text-indent: 0;
  background: none;
  border: none;
  display: block; }

#cboxTopLeft,
#cboxTopCenter,
#cboxTopRight,
#cboxBottomLeft,
#cboxBottomCenter,
#cboxBottomRight,
#cboxMiddleLeft,
#cboxMiddleRight {
  opacity: 0;
  visibility: hidden;
  background: none; }

.sliderwrapper {
  height: 100%;
  height: 100vh;
  position: relative; }

.front-slider {
  height: 100%; }
  .front-slider .slick-slide {
    height: calc( 100vh - 72px);
    height: 100%; }
    .front-slider .slick-slide img {
      width: 100%;
      max-width: 100%;
      max-height: 100%;
      height: calc( 100vh - 72px);
      height: 100%;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover; object-position: bottom;'; }

.slidetext {
  position: absolute; }

.slidecredits {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #000;
  color: white;
  padding: 5px 10px;
  font-size: 0.8em;
  font-family: "proxima-nova", sans-serif;
  font-weight: 100; }

.slide {
  font-size: 1.5em; }
  @media all and (min-width: 800px) {
    .slide {
      font-size: 1em; } }

.slide-1 .slidetext {
  top: 50%;
  left: 3.5em;
  font-size: 1.5em; }

.slide-1 span {
  font-family: "Arvo", serif;
  color: white;
  border-bottom: 0.33em solid #eddb00;
  line-height: 1em;
  text-transform: uppercase;
  line-height: 1.2em;
  padding-bottom: 0.2em; }

.slide-1 span:first-child {
  color: #eddb00;
  border: none; }

.slide-1 span:last-child {
  border: none;
  font-size: 3.33em;
  position: relative;
  left: -0.6em;
  top: 0.2em; }

.slide-2 {
  font-size: 2em; }
  @media all and (min-width: 800px) {
    .slide-2 {
      font-size: 1em; } }
  .slide-2 .slidetext {
    top: 12%;
    left: 3.5em;
    font-size: 1.5em; }
  .slide-2 span {
    font-family: "Special Elite", cursive;
    display: inline-block;
    color: #eddb00;
    line-height: 1em;
    line-height: 1.2em; }
  .slide-2 .coloured {
    color: #eddb00; }
  .slide-2 .white {
    color: white; }
  .slide-2 span:first-child {
    color: white;
    border: none;
    max-width: 80%;
    display: inline-block;
    margin-bottom: 1em; }
    @media all and (min-width: 800px) {
      .slide-2 span:first-child {
        max-width: 40%; } }

.slide-3 .slidetext {
  top: 50%;
  font-family: "Passero One", cursive;
  font-size: 1.5em;
  color: #eddb00;
  left: 3.5em;
  text-transform: uppercase; }
  .slide-3 .slidetext span {
    font-size: 4.68em;
    line-height: 0.8em; }

.slide-4 .slidetext {
  top: 30%;
  width: 100%;
  font-size: 1.5em;
  text-align: center; }

.slide-4 span {
  font-family: "proxima-nova", sans-serif;
  font-weight: 700;
  color: white;
  border-bottom: 0.2em solid #da5c80;
  line-height: 1em;
  padding-bottom: 0.2em;
  font-size: 1.7em;
  display: inline-block; }

.slide-4 span:first-child {
  border: none; }

.slide-4 span:last-child {
  border: none;
  font-size: 3.4em;
  position: relative;
  top: 0.5em;
  display: block;
  width: 80%;
  margin: auto; }

.slide-5 .slidetext {
  bottom: 10%;
  width: 100%;
  font-size: 1.5em; }

.slide-5 span {
  font-family: "proxima-nova", sans-serif;
  font-weight: 700;
  color: white;
  line-height: 1.25em;
  font-size: 1.4em; }

.slide-5 span:first-child {
  color: #eddb00;
  width: 11em;
  display: inline-block;
  left: 10em;
  position: relative; }

.slide-5 span:last-child {
  text-align: center;
  color: white;
  font-size: 3.4em;
  position: relative;
  top: 0.1em;
  display: block;
  width: 90%;
  margin: auto;
  line-height: 0.8em;
  font-size: 4.5em;
  text-shadow: 1px 1px 3px grey;
  text-shadow: 1px 1px 3px rgba(128, 128, 128, 0.5); }

.slide-6 .slidetext {
  top: calc(50% - 5em);
  font-size: 1.5em;
  text-align: center;
  width: 100%; }

.slide-6 span {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  color: red;
  line-height: 1em;
  font-size: 10em;
  border-top: 0.07em solid red;
  border-bottom: 0.07em solid red;
  display: inline-block;
  padding: 0.07em 0;
  mix-blend-mode: multiply; }

.slide-7 .slidetext {
  top: calc(20%);
  width: 100%;
  font-size: 1.5em;
  left: 0; }

.slide-7 span {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  color: red;
  line-height: 1em;
  font-size: 6em;
  display: inline-block; }
  .slide-7 span:last-child {
    padding-right: 1.8em;
    padding-bottom: 0.6em;
    padding-bottom: 0.06em;
    border-bottom: 0.1em solid red; }

.slide-8 .slidetext {
  top: 30%;
  width: 100%;
  font-size: 1.5em;
  left: 0;
  color: white;
  text-align: center; }

.slide-8 svg {
  display: block;
  margin: auto;
  width: 14em;
  height: 3em; }

.slide-8 span {
  font-family: "proxima-nova", sans-serif;
  font-weight: bold;
  max-width: 70%;
  display: inline-block; }

.slide-8 span:first-of-type {
  font-size: 2em;
  line-height: 1.1em;
  margin-top: 0.5em; }

.slide-8 span:last-child {
  padding-top: 1.5em;
  font-size: 1em; }

.slide-9 .slidetext {
  bottom: 20%;
  font-size: 1.5em;
  left: 0;
  text-align: center;
  left: 5%;
  right: 5%; }

.slide-9 span {
  font-family: "proxima-nova", sans-serif;
  font-weight: 700;
  color: white;
  line-height: 1em;
  font-size: 1em;
  display: inline-block; }
  .slide-9 span:first-child {
    font-size: 3em;
    margin-bottom: 0.25em; }

.slide-10 .slidetext {
  bottom: 20%;
  font-size: 1.5em;
  left: 0;
  text-align: center;
  left: 5%;
  right: 5%; }

.slide-10 span {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  color: white;
  line-height: 1em;
  font-size: 1em;
  display: inline-block; }
  .slide-10 span:first-child {
    font-size: 5em;
    margin-bottom: 0.25em; }

.arrowwrapper {
  position: absolute;
  bottom: 40px;
  left: 50%;
  z-index: 999999; }
  .arrowwrapper i {
    -webkit-animation: blinker 1s linear infinite;
            animation: blinker 1s linear infinite;
    font-size: 2em;
    color: white; }
    .arrowwrapper i:hover {
      -webkit-animation: none;
              animation: none; }

@-webkit-keyframes blinker {
  50% {
    opacity: 0; } }

@keyframes blinker {
  50% {
    opacity: 0; } }

@-webkit-keyframes colorRotate {
  from {
    color: white; }
  25% {
    color: #da5c80; }
  50% {
    color: #eddb00; }
  75% {
    color: #008ab0; }
  to {
    color: white; } }

@keyframes colorRotate {
  from {
    color: white; }
  25% {
    color: #da5c80; }
  50% {
    color: #eddb00; }
  75% {
    color: #008ab0; }
  to {
    color: white; } }

.slick-prev {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 99999; }

.slick-next {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 99999; }

/****************************
**  contact  & user**
****************************/
#map-canvas {
  height: 300px; }

.path-contact .layout-container,
.path-user:not(.page-node-type-page) .layout-container {
  background: #008ab0; }

.path-contact #block-contact,
.path-user:not(.page-node-type-page) #block-contact {
  padding: 20px;
  margin-top: 30px;
  color: white; }
  @media all and (min-width: 1000px) {
    .path-contact #block-contact,
    .path-user:not(.page-node-type-page) #block-contact {
      *zoom: 1;
      width: auto;
      max-width: 600px;
      float: none;
      display: block;
      margin-right: auto;
      margin-left: auto;
      padding-left: 0;
      padding-right: 0; }
      .path-contact #block-contact:before, .path-contact #block-contact:after,
      .path-user:not(.page-node-type-page) #block-contact:before,
      .path-user:not(.page-node-type-page) #block-contact:after {
        content: '';
        display: table; }
      .path-contact #block-contact:after,
      .path-user:not(.page-node-type-page) #block-contact:after {
        clear: both; }
      .path-contact #block-contact p,
      .path-user:not(.page-node-type-page) #block-contact p {
        padding: 0;
        padding-right: 100px; }
      .path-contact #block-contact a,
      .path-user:not(.page-node-type-page) #block-contact a {
        color: white;
        text-decoration: underline; }
        .path-contact #block-contact a:hover,
        .path-user:not(.page-node-type-page) #block-contact a:hover {
          color: #da5c80; } }

@media all and (min-width: 1000px) {
  .path-contact #block-plaktheme-content,
  .path-user:not(.page-node-type-page) #block-plaktheme-content {
    *zoom: 1;
    width: auto;
    max-width: 600px;
    float: none;
    display: block;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0; }
    .path-contact #block-plaktheme-content:before, .path-contact #block-plaktheme-content:after,
    .path-user:not(.page-node-type-page) #block-plaktheme-content:before,
    .path-user:not(.page-node-type-page) #block-plaktheme-content:after {
      content: '';
      display: table; }
    .path-contact #block-plaktheme-content:after,
    .path-user:not(.page-node-type-page) #block-plaktheme-content:after {
      clear: both; } }

.path-contact .contact-message-feedback-form,
.path-contact #user-login-form,
.path-user:not(.page-node-type-page) .contact-message-feedback-form,
.path-user:not(.page-node-type-page) #user-login-form {
  color: white;
  padding-left: 20px;
  padding-right: 20px;
  position: relative; }
  @media all and (min-width: 1000px) {
    .path-contact .contact-message-feedback-form,
    .path-contact #user-login-form,
    .path-user:not(.page-node-type-page) .contact-message-feedback-form,
    .path-user:not(.page-node-type-page) #user-login-form {
      padding-right: 300px; } }
  .path-contact .contact-message-feedback-form .form-item,
  .path-contact #user-login-form .form-item,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form .form-item,
  .path-user:not(.page-node-type-page) #user-login-form .form-item {
    width: 100%; }
  .path-contact .contact-message-feedback-form input,
  .path-contact .contact-message-feedback-form textarea,
  .path-contact #user-login-form input,
  .path-contact #user-login-form textarea,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form input,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form textarea,
  .path-user:not(.page-node-type-page) #user-login-form input,
  .path-user:not(.page-node-type-page) #user-login-form textarea {
    width: calc( 100% - 10px);
    border: none;
    background-color: #f4e2c6;
    line-height: 30px;
    color: #008ab0;
    padding: 0 5px;
    font-weight: 700;
    font-family: "proxima-nova", sans-serif; }
  .path-contact .contact-message-feedback-form textarea,
  .path-contact #user-login-form textarea,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form textarea,
  .path-user:not(.page-node-type-page) #user-login-form textarea {
    width: 100%; }
  .path-contact .contact-message-feedback-form .form-submit,
  .path-contact #user-login-form .form-submit,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form .form-submit,
  .path-user:not(.page-node-type-page) #user-login-form .form-submit {
    color: #eddb00;
    font-family: "Passero One", cursive;
    font-size: 30px;
    line-height: 36px;
    text-transform: uppercase;
    background: none;
    border: none;
    text-align: center;
    width: 100%; }
    .path-contact .contact-message-feedback-form .form-submit:hover,
    .path-contact #user-login-form .form-submit:hover,
    .path-user:not(.page-node-type-page) .contact-message-feedback-form .form-submit:hover,
    .path-user:not(.page-node-type-page) #user-login-form .form-submit:hover {
      color: #f4e2c6; }
  .path-contact .contact-message-feedback-form #edit-actions,
  .path-contact #user-login-form #edit-actions,
  .path-user:not(.page-node-type-page) .contact-message-feedback-form #edit-actions,
  .path-user:not(.page-node-type-page) #user-login-form #edit-actions {
    width: 140px;
    margin: auto;
    padding-bottom: 50px;
    position: relative; }
    @media all and (min-width: 600px) {
      .path-contact .contact-message-feedback-form #edit-actions:before,
      .path-contact #user-login-form #edit-actions:before,
      .path-user:not(.page-node-type-page) .contact-message-feedback-form #edit-actions:before,
      .path-user:not(.page-node-type-page) #user-login-form #edit-actions:before {
        content: url("images/arrow.svg");
        width: 7.4em;
        display: block;
        position: absolute;
        left: -7.5em;
        top: 0.6em;
        -webkit-transform: rotate(-1.5deg);
                transform: rotate(-1.5deg); }
      .path-contact .contact-message-feedback-form #edit-actions:after,
      .path-contact #user-login-form #edit-actions:after,
      .path-user:not(.page-node-type-page) .contact-message-feedback-form #edit-actions:after,
      .path-user:not(.page-node-type-page) #user-login-form #edit-actions:after {
        content: url("images/arrow3.svg");
        width: 7.4em;
        display: block;
        position: absolute;
        right: -7.3em;
        top: 0.4em; } }

.contactaddress {
  text-align: center;
  color: #f4e2c6; }
  @media all and (min-width: 1000px) {
    .contactaddress {
      position: absolute;
      top: 0;
      right: 0; } }
  .contactaddress a {
    color: #f4e2c6;
    text-decoration: none; }
  .contactaddress h2, .contactaddress #block-plaktheme-main-menu ul.menu a, #block-plaktheme-main-menu ul.menu .contactaddress a, .contactaddress #block-secondary-navigation a, #block-secondary-navigation .contactaddress a, .contactaddress
  #block-hoofdnavigatie a,
  #block-hoofdnavigatie .contactaddress a {
    background: #da5c80;
    color: #fff;
    padding: 2px 10px;
    -webkit-transform: rotate(-1.5deg);
            transform: rotate(-1.5deg);
    margin: 0 0 16px;
    display: inline-block; }
  .contactaddress .sociallinks {
    margin: 15px auto 10px;
    padding: 0;
    display: table; }
    .contactaddress .sociallinks li {
      list-style: none;
      float: left;
      margin-right: 1em;
      font-size: 1.5em; }
      .contactaddress .sociallinks li:last-child {
        margin-right: 0; }
    .contactaddress .sociallinks a {
      text-decoration: none;
      color: #f4e2c6;
      transition: all 0.3s ease; }
      .contactaddress .sociallinks a:hover {
        color: #da5c80; }

/*********************
  ** user **
  *********************/
.path-user #user-login-form {
  padding: 20px; }

.path-user .tabs {
  padding: 40px 0 0 40px; }
  .path-user .tabs a {
    background: none;
    color: #f4e2c6; }
    .path-user .tabs a:hover {
      color: #da5c80; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJqZWV0L19pbmRleC5zY3NzIiwiamVldC9fc2V0dGluZ3Muc2NzcyIsImplZXQvX2Z1bmN0aW9ucy5zY3NzIiwiamVldC9fZ3JpZC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vc3RkaW4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWlCO0FDQWpCOzs7Ozs7Ozs7Ozs7R0FZRTtBQ1pGOzs7SUFHRztBQ0hIOzs7SUFHRztBQUVIOzs7O0lBSUc7QUFLSDs7Ozs7SUFLRztBQWFIOzs7SUFHRztBQU9IOzs7Ozs7O0lBT0c7QUFvQkg7Ozs7SUFJRztBQWdDSDs7Ozs7SUFLRztBQzlHSDs7Ozs7OztJQU9HO0FBd0RIOzs7SUFHRztBQUtIOzs7O0lBSUc7QUFLSDs7OztJQUlHO0FBS0g7OztJQUdHO0FBS0g7OztJQUdHO0FBS0g7Ozs7OztJQU1HO0FBOENIOzs7OztJQUtHO0FBb0JIOztJQUVHO0FBTUg7Ozs7SUFJRztBQWFIOztJQUVHO0FBS0g7Ozs7SUFJRztBQWlCSDs7SUFFRztBQVNIOzs7O0lBSUc7QUF3Q0g7O0lBRUc7QUF1Qkg7Ozs7SUFJRztBQWtCSDs7SUFFRztBQ25WSDs7OEJBRTZCO0FBVTdCOzs4QkFFNkI7QUFJN0I7OzhCQUU2QjtBQUU3QiwrREFBTztBQUNQLHVFQUFZO0FBQ1osaUVBQVk7QUFDWixzRUFBWTtBQ3RCWjtFQUNFLGVBQWE7RUFDYixvQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxxQ0FBb0M7RUFDcEMsb0NBQW1DO0VBQ25DLGtCQUFpQjtFQUNqQixnQkRKWTtFQ0taLHlDRGVtQztFQ2RuQyxpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGtCQUFnQjtFQUNoQixvQkFBbUIsRUFDcEI7O0FBRUQ7RUFDRSxjQUFZO0VBQ1osb0JBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBQ0Q7RUFDRSxnQkRyQlksRUNzQmI7O0FBRUQ7RUFDRSxvQkFBbUI7RUFDbkIsV0FBVTtFQUNWLFVB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LEVBQ1osRUFBQTs7QUFNUDtFQUNFLG9CQUFtQjtFQU1uQixnQkQ3N0RXLEVDaytEWjtFQTFDQztJQUZGO01BR0ksb0JBQW1CO01BQ25CLFFBQU87TUFDUCxVQUFTLEVBdUNaLEVBQUE7RUE1Q0Q7SUFTSSxnQkQvN0RTO0lDZzhEVCx1QkFBc0IsRUFDdkI7RUFYSDs7O0lBYUkscUJEeDhEUTtJQ3k4RFIsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixvQ0FBaUI7WUFBakIsNEJBQWlCO0lBQ2pCLGtCQUFpQjtJQUNqQix1QkFBc0IsRUFDdkI7RUFuQkg7SUFxQkksd0JBQXVCO0lBQ3ZCLFlBQVc7SUFDWCxnQkFBYyxFQW1CZjtJQWxCQztNQUNFLGtCQUFpQjtNQUNqQixhQUFXO01BQ1gsbUJBQWtCO01BQ2xCLGtCQUFpQixFQUlsQjtNQVJEO1FBTUksaUJBQWdCLEVBQ2pCO0lBRUg7TUFDRSx1QkFBc0I7TUFDdEIsZ0JEejlETztNQzA5RFAsMkJBQTBCLEVBSTNCO01BeENMO1FBc0NRLGdCRGorREksRUNrK0RMOztBQVFQOzt5QkFFc0I7QUFFeEI7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSx3QkFBdUIsRUFTeEI7RUFSQztJQUNFLGtCQUFpQjtJQUNqQixnQkRoL0RXLEVDby9EWjtJQU5EO01BSUksZ0JEdi9EUSxFQ3cvRFQiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLyogIFN5bnRheCBRdWljayBSZWZlcmVuY2VcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgY29sdW1uKCRyYXRpb3M6IDEsICRvZmZzZXQ6IDAsICRjeWNsZTogMCwgJHVuY3ljbGU6IDAsICRndXR0ZXI6ICRqZWV0LWd1dHRlcilcbiAgc3BhbigkcmF0aW86IDEsICRvZmZzZXQ6IDApXG4gIHNoaWZ0KCRyYXRpb3M6IDAsICRjb2xfb3Jfc3BhbjogY29sdW1uLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpXG4gIHVuc2hpZnQoKVxuICBlZGl0KClcbiAgY2VudGVyKCRtYXhfd2lkdGg6IDE0MTBweCwgJHBhZDogMClcbiAgc3RhY2soJHBhZDogMCwgJGFsaWduOiBmYWxzZSlcbiAgdW5zdGFjaygpXG4gIGFsaWduKCRkaXJlY3Rpb246IGJvdGgpXG4gIGNmKClcbiovXG5cbkBpbXBvcnQgJ19zZXR0aW5ncyc7XG5AaW1wb3J0ICdfZnVuY3Rpb25zJztcbkBpbXBvcnQgJ19ncmlkJztcbiIsIi8qKlxuICogR3JpZCBzZXR0aW5ncy5cbiAqIEFsbCB2YWx1ZXMgYXJlIGRlZmF1bHRzIGFuZCBjYW4gdGhlcmVmb3JlIGJlIGVhc2lseSBvdmVyaWRkZW4uXG4gKi9cblxuJGplZXQtZ3V0dGVyOiAgICAgICAgICAgMyAgICAgICFkZWZhdWx0O1xuJGplZXQtcGFyZW50LWZpcnN0OiAgICAgZmFsc2UgICFkZWZhdWx0O1xuJGplZXQtbGF5b3V0LWRpcmVjdGlvbjogXCJMVFJcIiAgIWRlZmF1bHQ7XG4kamVldC1tYXgtd2lkdGg6ICAgICAgICAxNDEwcHggIWRlZmF1bHQ7XG4iLCIvKipcbiAqIExpc3QgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIHRoZSB3b25kZXJmdWwgZm9sa3MgYXQgVGVhbSBTYXNzLlxuICogQ2hlY2sgb3V0IHRoZWlyIGF3ZXNvbWUgZ3JpZDogU2luZ3VsYXJpdHkuXG4gKi9cblxuLyoqXG4gKiBHZXQgIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIHJhdGlvLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW89MV0gLSBUaGUgY29sdW1uIHJhdGlvIG9mIHRoZSBlbGVtZW50LlxuICogQHJldHVybnMge251bWJlcn0gLSBUaGUgcGVyY2VudGFnZSB2YWx1ZS5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtZ2V0LXNwYW4oJHJhdGlvOiAxKSB7XG4gIEByZXR1cm4gJHJhdGlvICogMTAwO1xufVxuXG4vKipcbiAqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGhzIGJhc2VkIG9uIHRoZSByYXRpbyBhbmQgZ3V0dGVyIHNpemVzLlxuICogQHBhcmFtIHtudW1iZXJ9IFskcmF0aW9zPTFdIC0gVGhlIGNvbHVtbiByYXRpbyBvZiB0aGUgZWxlbWVudC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gVGhlIGd1dHRlciBmb3IgdGhlIGNvbHVtbi5cbiAqIEByZXR1cm5zIHtsaXN0fSAkd2lkdGggJGd1dHRlciAtIEEgbGlzdCBjb250YWluaW5nIHRoZSB3aXRoIGFuZCBndXR0ZXIgZm9yIHRoZSBlbGVtZW50LlxuICovXG5AZnVuY3Rpb24gamVldC1nZXQtY29sdW1uKCRyYXRpb3M6IDEsICRndXR0ZXI6ICRqZWV0LWd1dHRlcikge1xuICAkcmF0aW9zOiBpZihub3QgJGplZXQtcGFyZW50LWZpcnN0LCBqZWV0LXJldmVyc2UoJHJhdGlvcyksICRyYXRpb3MpO1xuICAkd2lkdGg6IDEwMDtcblxuICBAZWFjaCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgJGd1dHRlcjogJGd1dHRlciAvICR3aWR0aCAqIDEwMDtcbiAgICAkd2lkdGg6IDEwMCAqICRyYXRpbyAtICRndXR0ZXIgKyAkcmF0aW8gKiAkZ3V0dGVyO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGggJGd1dHRlcjtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHNldCBsYXlvdXQgZGlyZWN0aW9uIGZvciB0aGUgcHJvamVjdC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9ICRkaXJlY3Rpb24gLSBUaGUgbGF5b3V0IGRpcmVjdGlvbi5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKSB7XG4gICRkaXJlY3Rpb246IGlmKCRqZWV0LWxheW91dC1kaXJlY3Rpb24gPT0gXCJSVExcIiwgcmlnaHQsIGxlZnQpO1xuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuLyoqXG4gKiBSZXBsYWNlIGEgc3BlY2lmaWVkIGxpc3QgdmFsdWUgd2l0aCBhIG5ldyB2YWx1ZSAodXNlcyBidWlsdCBpbiBzZXQtbnRoKCkgaWYgYXZhaWxhYmxlKVxuICogQHBhcmFtIHtsaXN0fSAkbGlzdCAtIFRoZSBsaXN0IG9mIHZhbHVlcyB5b3Ugd2FudCB0byBhbHRlci5cbiAqIEBwYXJhbSB7bnVtYmVyfSAkaW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIGxpc3QgaXRlbSB5b3Ugd2FudCB0byByZXBsYWNlLlxuICogQHBhcmFtIHsqfSAkdmFsdWUgLSBUaGUgdmFsdWUgeW91IHdhbnQgdG8gcmVwbGFjZSAkaW5kZXggd2l0aC5cbiAqIEByZXR1cm5zIHtsaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHdpdGggdGhlIHZhbHVlIHJlcGxhY2VkIG9yIHJlbW92ZWQuXG4gKiBAd2FybiBpZiBhbiBpbnZhbGlkIGluZGV4IGlzIHN1cHBsaWVkLlxuICovXG5AZnVuY3Rpb24gamVldC1yZXBsYWNlLW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpIHtcbiAgLy8gRmFsbGJhY2sgZm9yIFNhc3MgMy4yXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoXCJzZXQtbnRoXCIpICE9IHRydWUge1xuICAgICRyZXN1bHQ6ICgpO1xuICAgICRpbmRleDogaWYoJGluZGV4IDwgMCwgbGVuZ3RoKCRsaXN0KSArICRpbmRleCArIDEsICRpbmRleCk7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGlmKCRpID09ICRpbmRleCwgJHZhbHVlLCBudGgoJGxpc3QsICRpKSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgfVxuXG4gIC8vIFNhc3MgMy4zXG4gICRyZXN1bHQ6IHNldC1udGgoJGxpc3QsICRpbmRleCwgJHZhbHVlKTtcblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8qKlxuICogUmV2ZXJzZSBhIGxpc3QgKHByb2dyZXNzaXZlbHkgZW5oYW5jZWQgZm9yIFNhc3MgMy4zKVxuICogQHBhcmFtIHtsaXN0fSAkbGlzdCAtIFRoZSBsaXN0IG9mIHZhbHVlcyB5b3Ugd2FudCB0byByZXZlcnNlLlxuICogQHJldHVybnMge2xpc3R9ICRyZXN1bHQgLSBUaGUgcmV2ZXJzZWQgbGlzdC5cbiAqL1xuQGZ1bmN0aW9uIGplZXQtcmV2ZXJzZSgkbGlzdCkge1xuICAvLyBTYXNzIDMuMlxuICBAaWYgZnVuY3Rpb24tZXhpc3RzKFwic2V0LW50aFwiKSAhPSB0cnVlIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBmb3IgJGkgZnJvbSBsZW5ndGgoJGxpc3QpICogLTEgdGhyb3VnaCAtMSB7XG4gICAgICAkaXRlbTogbnRoKCRsaXN0LCBhYnMoJGkpKTtcblxuICAgICAgQGlmIGxlbmd0aCgkaXRlbSkgPiAxIGFuZCAkcmVjdXJzaXZlIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGplZXQtcmV2ZXJzZSgkaXRlbSwgJHJlY3Vyc2l2ZSkpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgfVxuXG4gIC8vIFNhc3MgMy4zK1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGNlaWwobGVuZ3RoKCRsaXN0KS8yKSB7XG4gICAgJHRtcDogbnRoKCRsaXN0LCAkaSk7XG4gICAgJHRtcDogaWYobGVuZ3RoKCR0bXApID4gMSBhbmQgJHJlY3Vyc2l2ZSwgcmV2ZXJzZSgkdG1wLCAkcmVjdXJzaXZlKSwgJHRtcCk7XG5cbiAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGksIG50aCgkbGlzdCwgLSRpKSk7XG4gICAgJGxpc3Q6IHNldC1udGgoJGxpc3QsIC0kaSwgJHRtcCk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vKipcbiAqIEdldCB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIHRvIGEgZ2l2ZW4gdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gJGRpciAtIFRoZSBkaXJlY3Rpb24geW91IHdhbnQgdGhlIG9wcG9zaXRlIG9mLlxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgb3Bwb3NpdGUgZGlyZWN0aW9uIHRvICRkaXIuXG4gKiBAd2FybiBpZiBhbiBpbmNvcnJlY3Qgc3RyaW5nIGlzIHByb3ZpZGVkLlxuICovXG5AZnVuY3Rpb24gamVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgQHJldHVybiByaWdodDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgQHJldHVybiBsZWZ0O1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgQHJldHVybiBib3R0b207XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICBAcmV0dXJuIHRvcDtcbiAgfSBAZWxzZSBpZiBpbmRleChcImx0clwiIFwiTFRSXCIsICRkaXJlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHJ0bDtcbiAgfSBAZWxzZSBpZiBpbmRleChcInJ0bFwiIFwiUlRMXCIsICRkaXJlY3Rpb24pIHtcbiAgICBAcmV0dXJuIGx0cjtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skZGlyZWN0aW9ufWAgaXMgbm90IGEgZGlyZWN0aW9uOyBwbGVhc2UgbWFrZSBzdXJlIHlvdXIgZGlyZWN0aW9uIGlzIGFsbCBsb3dlcmNhc2UuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBTdHlsZSBhbiBlbGVtZW50IGFzIGEgY29sdW1uIHdpdGggYSBndXR0ZXIuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJG9mZnNldD0wXSAtIEEgb2Zmc2V0IHNwZWNpZmllZCBhcyBhIGZyYWN0aW9uIChzZWUgJHJhdGlvcykuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRjeWNsZT0wXSAtIEVhc2lseSBjcmVhdGUgYW4gbnRoIGNvbHVtbiBncmlkIHdoZXJlICRjeWNsZSBlcXVhbHMgdGhlIG51bWJlciBvZiBjb2x1bW5zLlxuICogQHBhcmFtIHtudW1iZXJ9IFskdW5jeWNsZT0wXSAtIFVuZG8gYSBwcmV2aW91cyBjeWNsZSB2YWx1ZSB0byBhbGxvdyBmb3IgYSBuZXcgb25lLlxuICogQHBhcmFtIHtudW1iZXJ9IFskZ3V0dGVyPSRqZWV0LWd1dHRlcl0gLSBTcGVjaWZ5IHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBjb250YWluZXJzIHdpZHRoLlxuICovXG5AbWl4aW4gY29sdW1uKCRyYXRpb3M6IDEsICRvZmZzZXQ6IDAsICRjeWNsZTogMCwgJHVuY3ljbGU6IDAsICRndXR0ZXI6ICRqZWV0LWd1dHRlcikge1xuICAkc2lkZTogamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpO1xuICAkb3Bwb3NpdGUtc2lkZTogamVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpO1xuICAkY29sdW1uLXdpZHRoczogamVldC1nZXQtY29sdW1uKCRyYXRpb3MsICRndXR0ZXIpO1xuICAkbWFyZ2luLWxhc3Q6IDA7XG4gICRtYXJnaW4tbDogJG1hcmdpbi1sYXN0O1xuICAkbWFyZ2luLXI6IG50aCgkY29sdW1uLXdpZHRocywgMik7XG5cbiAgQGlmICRvZmZzZXQgIT0gMCB7XG4gICAgQGlmICRvZmZzZXQgPCAwIHtcbiAgICAgICRvZmZzZXQ6ICRvZmZzZXQgKiAtMTtcbiAgICAgICRvZmZzZXQ6IG50aChqZWV0LWdldC1jb2x1bW4oJG9mZnNldCwgbnRoKCRjb2x1bW4td2lkdGhzLCAyKSksIDEpO1xuICAgICAgJG1hcmdpbi1sYXN0OiAkb2Zmc2V0ICsgbnRoKCRjb2x1bW4td2lkdGhzLCAyKSAqIDI7XG4gICAgICAkbWFyZ2luLXI6ICRtYXJnaW4tbGFzdDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRvZmZzZXQ6IG50aChqZWV0LWdldC1jb2x1bW4oJG9mZnNldCwgbnRoKCRjb2x1bW4td2lkdGhzLCAyKSksIDEpO1xuICAgICAgJG1hcmdpbi1sOiAkb2Zmc2V0ICsgbnRoKCRjb2x1bW4td2lkdGhzLCAyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBjZjtcbiAgZmxvYXQ6ICRzaWRlO1xuICBjbGVhcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2lkdGg6IG50aCgkY29sdW1uLXdpZHRocywgMSkgKiAxJTtcbiAgbWFyZ2luOiB7XG4gICAgI3skc2lkZX06ICRtYXJnaW4tbCAqIDElO1xuICAgICN7JG9wcG9zaXRlLXNpZGV9OiAkbWFyZ2luLXIgKiAxJTtcbiAgfTtcblxuICBAaWYgJHVuY3ljbGUgIT0gMCB7XG4gICAgJjpudGgtY2hpbGQoI3skdW5jeWNsZX1uKSB7XG4gICAgICBtYXJnaW4tI3tqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSl9OiAkbWFyZ2luLXIgKiAxJTtcbiAgICAgIGZsb2F0OiAkc2lkZTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoI3skdW5jeWNsZX1uICsgMSkge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRjeWNsZSAhPSAwIHtcbiAgICAmOm50aC1jaGlsZCgjeyRjeWNsZX1uKSB7XG4gICAgICBtYXJnaW4tI3tqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSl9OiAkbWFyZ2luLWxhc3QgKiAxJTtcbiAgICAgIGZsb2F0OiBqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSk7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKCN7JGN5Y2xlfW4gKyAxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3tqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSl9OiAkbWFyZ2luLWxhc3QgKiAxJTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbiBtaXhpbi5cbiAqIEBwYXJhbSBbJGFyZ3MuLi5dIC0gQWxsIGFyZ3VtZW50cyBnZXQgcGFzc2VkIHRocm91Z2ggdG8gY29sdW1uKCkuXG4gKi9cbkBtaXhpbiBjb2woJGFyZ3MuLi4pIHtcbiAgQGluY2x1ZGUgY29sdW1uKCRhcmdzLi4uKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGFuZCBub3RoaW5nIGVsc2UuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuQGZ1bmN0aW9uIGNvbHVtbi13aWR0aCgkcmF0aW9zOiAxLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpIHtcbiAgQHJldHVybiB1bnF1b3RlKG50aChqZWV0LWdldC1jb2x1bW4oJHJhdGlvcywgJGd1dHRlciksIDEpICsgJyUnKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGd1dHRlciBzaXplIG9mIGEgY29sdW1uIGFuZCBub3RoaW5nIGVsc2UuXG4gKiBAcGFyYW0ge251bWJlcn0gW3JhdGlvcz0xXSAtIEEgd2lkdGggcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lciBhcyBhIGZyYWN0aW9uLlxuICogQHBhcmFtIHtudW1iZXJ9IFtndXR0ZXI9amVldC5ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuQGZ1bmN0aW9uIGNvbHVtbi1ndXR0ZXIoJHJhdGlvczogMSwgJGd1dHRlcjogJGplZXQtZ3V0dGVyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShudGgoamVldC1nZXQtY29sdW1uKCRyYXRpb3MsICRndXR0ZXIpLCAyKSArICclJyk7XG59XG5cbi8qKlxuICogQW4gYWxpYXMgZm9yIHRoZSBjb2x1bW4td2lkdGggZnVuY3Rpb24uXG4gKiBAcGFyYW0gWyRhcmdzLi4uXSAtIEFsbCBhcmd1bWVudHMgZ2V0IHBhc3NlZCB0aHJvdWdoIHRvIGNvbHVtbigpLlxuICovXG5AZnVuY3Rpb24gY3coJGFyZ3MuLi4pIHtcbiAgQHJldHVybiBjb2x1bW4td2lkdGgoJGFyZ3MuLi4pO1xufVxuXG4vKipcbiAqIEFuIGFsaWFzIGZvciB0aGUgY29sdW1uLWd1dHRlciBmdW5jdGlvbi5cbiAqIEBwYXJhbSBbJGFyZ3MuLi5dIC0gQWxsIGFyZ3VtZW50cyBnZXQgcGFzc2VkIHRocm91Z2ggdG8gY29sdW1uKCkuXG4gKi9cbkBmdW5jdGlvbiBjZygkYXJncy4uLikge1xuICBAcmV0dXJuIGNvbHVtbi1ndXR0ZXIoJGFyZ3MuLi4pO1xufVxuXG4vKipcbiAqIFN0eWxlIGFuIGVsZW1lbnQgYXMgYSBjb2x1bW4gd2l0aG91dCBhbnkgZ3V0dGVycyBmb3IgYSBzZWFtbGVzcyByb3cuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJG9mZnNldD0wXSAtIEEgb2Zmc2V0IHNwZWNpZmllZCBhcyBhIGZyYWN0aW9uIChzZWUgJHJhdGlvcykuXG4gKiBAcGFyYW0ge251bWJlcn0gW2N5Y2xlPTBdIC0gRWFzaWx5IGNyZWF0ZSBhbiBudGggY29sdW1uIGdyaWQgd2hlcmUgY3ljbGUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY29sdW1ucy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbdW5jeWNsZT0wXSAtIFVuZG8gYSBwcmV2aW91cyBjeWNsZSB2YWx1ZSB0byBhbGxvdyBmb3IgYSBuZXcgb25lLlxuICovXG5AbWl4aW4gc3BhbigkcmF0aW86IDEsICRvZmZzZXQ6IDAsICRjeWNsZTogMCwgJHVuY3ljbGU6IDApIHtcbiAgJHNpZGU6IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKTtcbiAgJG9wcG9zaXRlLXNpZGU6IGplZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRzaWRlKTtcbiAgJHNwYW4td2lkdGg6IGplZXQtZ2V0LXNwYW4oJHJhdGlvKTtcbiAgJG1hcmdpbi1yOiAwO1xuICAkbWFyZ2luLWw6ICRtYXJnaW4tcjtcbiAgQGlmICRvZmZzZXQgIT0gMCB7XG4gICAgQGlmICRvZmZzZXQgPCAwIHtcbiAgICAgICRvZmZzZXQ6ICRvZmZzZXQgKiAtMTtcbiAgICAgICRtYXJnaW4tcjogamVldC1nZXQtc3Bhbigkb2Zmc2V0KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXJnaW4tbDogamVldC1nZXQtc3Bhbigkb2Zmc2V0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBjZjtcbiAgZmxvYXQ6ICRzaWRlO1xuICBjbGVhcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2lkdGg6ICRzcGFuLXdpZHRoICogMSU7XG4gIG1hcmdpbjoge1xuICAgICN7JHNpZGV9OiAkbWFyZ2luLWwgKiAxJTtcbiAgICAjeyRvcHBvc2l0ZS1zaWRlfTogJG1hcmdpbi1yICogMSU7XG4gIH07XG5cbiAgQGlmICRjeWNsZSAhPSAwIHtcbiAgICAmOm50aC1jaGlsZCgjeyRjeWNsZX1uKSB7XG4gICAgICBmbG9hdDogJG9wcG9zaXRlLXNpZGU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKCN7JGN5Y2xlfW4gKyAxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHVuY3ljbGUgIT0gMCB7XG4gICAgJjpudGgtY2hpbGQoI3skdW5jeWNsZX1uKSB7XG4gICAgICBmbG9hdDogJHNpZGU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKCN7JHVuY3ljbGV9biArIDEpIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogUmVvcmRlciBjb2x1bW5zIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIEhUTUwuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRyYXRpb3M9MF0gLSBTcGVjaWZ5IGhvdyBmYXIgYWxvbmcgeW91IHdhbnQgdGhlIGVsZW1lbnQgdG8gbW92ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbJGNvbC1vci1zcGFuPWNvbHVtbl0gLSBTcGVjaWZ5IHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGEgZ3V0dGVyIG9yIG5vdC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJGd1dHRlcj0kamVldC1ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuQG1peGluIHNoaWZ0KCRyYXRpb3M6IDAsICRjb2wtb3Itc3BhbjogY29sdW1uLCAkZ3V0dGVyOiAkamVldC1ndXR0ZXIpIHtcbiAgJHRyYW5zbGF0ZTogJyc7XG4gICRzaWRlOiBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKCk7XG5cbiAgQGlmICRzaWRlID09IHJpZ2h0IHtcbiAgICAkcmF0aW9zOiBqZWV0LXJlcGxhY2UtbnRoKCRyYXRpb3MsIDAsIG50aCgkcmF0aW9zLCAxKSAqIC0xKTtcbiAgfVxuXG4gIEBpZiBpbmRleChcImNvbHVtblwiIFwiY29sXCIgXCJjXCIsICRjb2wtb3Itc3Bhbikge1xuICAgICRjb2x1bW4td2lkdGhzOiBqZWV0LWdldC1jb2x1bW4oJHJhdGlvcywgJGd1dHRlcik7XG4gICAgJHRyYW5zbGF0ZTogbnRoKCRjb2x1bW4td2lkdGhzLCAxKSArIG50aCgkY29sdW1uLXdpZHRocywgMik7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2xhdGU6IGplZXQtZ2V0LXNwYW4oJHJhdGlvcyk7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6ICR0cmFuc2xhdGUgKiAxJTtcbn1cblxuLyoqXG4gKiBSZXNldCBhbiBlbGVtZW50IHRoYXQgaGFzIGhhZCBzaGlmdCgpIGFwcGxpZWQgdG8gaXQuXG4gKi9cbkBtaXhpbiB1bnNoaWZ0KCkge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBsZWZ0OiAwO1xufVxuXG4vKipcbiAqIFZpZXcgdGhlIGdyaWQgYW5kIGl0cyBsYXllcnMgZm9yIGVhc3kgZGVidWdnaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IFskY29sb3I9YmxhY2tdIC0gVGhlIGJhY2tncm91bmQgdGludCBhcHBsaWVkLlxuICogQHBhcmFtIHtib29sZWFufSBbJGltcG9ydGFudD1mYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBzdHlsZSBhcyAhaW1wb3J0YW50LlxuICovXG5AbWl4aW4gZWRpdCgkY29sb3I6IGJsYWNrLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaWYgJGltcG9ydGFudCB7XG4gICAgKiB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjA1KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgKiB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjA1KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiAgQWxpYXMgZm9yIGVkaXQoKS5cbiAqL1xuQG1peGluIGRlYnVnKCkge1xuICBAaW5jbHVkZSBlZGl0O1xufVxuXG4vKipcbiAqIEhvcml6b250YWxseSBjZW50ZXIgYW4gZWxlbWVudC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbJG1heC13aWR0aD0xNDEwcHhdIC0gVGhlIG1heCB3aWR0aCB0aGUgZWxlbWVudCBjYW4gYmUuXG4gKiBAcGFyYW0ge251bWJlcn0gWyRwYWQ9MF0gLSBTcGVjaWZ5IHRoZSBlbGVtZW50J3MgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbiAqL1xuQG1peGluIGNlbnRlcigkbWF4LXdpZHRoOiAkamVldC1tYXgtd2lkdGgsICRwYWQ6IDApIHtcbiAgQGluY2x1ZGUgY2Y7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogIGF1dG87XG4gIH07XG4gIHBhZGRpbmc6IHtcbiAgICBsZWZ0OiAgJHBhZDtcbiAgICByaWdodDogJHBhZDtcbiAgfTtcbn1cblxuLyoqXG4gKiBVbmNlbnRlciBhbiBlbGVtZW50LlxuICovXG5AbWl4aW4gdW5jZW50ZXIoKSB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFN0YWNrIGFuIGVsZW1lbnQgc28gdGhhdCBub3RoaW5nIGlzIGVpdGhlciBzaWRlIG9mIGl0LlxuICogQHBhcmFtIHtudW1iZXJ9IFskcGFkPTBdIC0gU3BlY2lmeSB0aGUgZWxlbWVudCdzIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG4gKiBAcGFyYW0ge2Jvb2xlYW4vc3RyaW5nfSBbJGFsaWduPWZhbHNlXSAtIFNwZWNpZnkgdGhlIHRleHQgYWxpZ24gZm9yIHRoZSBlbGVtZW50LlxuICovXG5AbWl4aW4gc3RhY2soJHBhZDogMCwgJGFsaWduOiBmYWxzZSkge1xuICAkc2lkZTogamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpO1xuICAkb3Bwb3NpdGUtc2lkZTogamVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiAgYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tI3skc2lkZX06IGF1dG87XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1zaWRlfTogYXV0bztcbiAgfVxuXG4gIEBpZiAkcGFkICE9IDAge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICAkcGFkO1xuICAgICAgcmlnaHQ6ICRwYWQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkYWxpZ24gaXMgbm90IGZhbHNlKSB7XG4gICAgQGlmIGluZGV4KFwiY2VudGVyXCIgXCJjXCIsICRhbGlnbikge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH0gQGVsc2UgaWYgaW5kZXgoXCJsZWZ0XCIgXCJsXCIsICRhbGlnbikge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9IEBlbHNlIGlmIGluZGV4KFwicmlnaHRcIiBcInJcIiwgJGFsaWduKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVbnN0YWNrIGFuIGVsZW1lbnQuXG4gKi9cbkBtaXhpbiB1bnN0YWNrKCkge1xuICAkc2lkZTogamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpO1xuICAkb3Bwb3NpdGUtc2lkZTogamVldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJHNpZGUpO1xuXG4gIHRleHQtYWxpZ246ICRzaWRlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGNsZWFyOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogIDA7XG4gICAgcmlnaHQ6IDA7XG4gIH07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tI3tqZWV0LW9wcG9zaXRlLWRpcmVjdGlvbigkc2lkZSl9OiAwO1xuICB9XG59XG5cbi8qKlxuICogQ2VudGVyIGFuIGVsZW1lbnQgb24gZWl0aGVyIG9yIGJvdGggYXhlcy5cbiAqIEByZXF1aXJlcyBBIHBhcmVudCBjb250YWluZXIgd2l0aCByZWxhdGl2ZSBwb3NpdGlvbmluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbJGRpcmVjdGlvbj1ib3RoXSAtIFNwZWNpZnkgd2hpY2ggYXhlcyB0byBjZW50ZXIgdGhlIGVsZW1lbnQgb24uXG4gKi9cbkBtaXhpbiBhbGlnbigkZGlyZWN0aW9uOiBib3RoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICBAaWYgaW5kZXgoXCJob3Jpem9udGFsXCIgXCJoXCIsICRkaXJlY3Rpb24pIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9IEBlbHNlIGlmIGluZGV4KFwidmVydGljYWxcIiBcInZcIiwgJGRpcmVjdGlvbikge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfSBAZWxzZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbHkgYSBjbGVhcmZpeCB0byBhbiBlbGVtZW50LlxuICovXG5AbWl4aW4gY2YoKSB7XG4gICp6b29tOiAxO1xuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogIGNvbG9ycyAgKipcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuJHBpbms6ICNkYTVjODA7XG4kYmx1ZTogIzAwOGFiMDtcbiR5ZWxsb3c6ICNlZGRiMDA7XG4kYmFja2dyb3VuZDogI2Y0ZTJjNjtcbiR0ZXh0OiAjMzgzYjNlO1xuJGNyZWFtOiAjZjRlMmM2O1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogIHRleHRzaGFkb3cgICoqXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqICBmb250cyAgKipcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1QYXNzZXJvK09uZSc7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9zd2FsZDo0MDAsNzAwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFydm86NzAwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVNwZWNpYWwrRWxpdGUnKTtcblxuJHBhc3Nlcm86ICAgJ1Bhc3Nlcm8gT25lJywgY3Vyc2l2ZTtcbiRvc3dhbGQ6ICAgICdPc3dhbGQnLCBzYW5zLXNlcmlmO1xuJHByb3hpbWE6ICAgJ3Byb3hpbWEtbm92YScsc2Fucy1zZXJpZjtcbiRhcnZvOiAgICAgICdBcnZvJywgc2VyaWY7XG4kZWxpdGU6ICAgICAnU3BlY2lhbCBFbGl0ZScsIGN1cnNpdmU7XG5cblxuXG5cblxuIiwiQGltcG9ydCAnamVldC9pbmRleCc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ua2ludCB7XG4gIHotaW5kZXg6OTk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6JHRleHQ7XG4gIGZvbnQtZmFtaWx5OiRwcm94aW1hO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWluLWhlaWdodDoxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJvZHkge1xuICBoZWlnaHQ6MTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6MTAwJTtcbn1cbmEge1xuICBjb2xvcjokdGV4dDtcbn1cblxuLmxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5zcGlubmVyIHtcbiAgYm9yZGVyOiA1cHggc29saWQgI2YzZjNmMztcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgIzU1NTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDpjYWxjKDUwJSAtIDE1cHgpO1xuICBsZWZ0OmNhbGMoNTAlIC0gMTVweCk7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLm1lbnUtaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ubGF5b3V0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBAaW5jbHVkZSBjZigpO1xuICBtaW4taGVpZ2h0OjEwMHZoO1xuICBoZWlnaHQ6MTAwJTtcbn1cbi5wYWdlLW5vZGUtdHlwZS1tZW51LXBhZ2UsXG4ucGF0aC1uaWV1d3NicmllZiB7XG4gIGNvbG9yOiAkY3JlYW07XG4gIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgfVxufVxuLnJlZ2lvbi1oZWFkZXIge1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OjU2cHg7XG4gIHdpZHRoOjEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhdGgtZnJvbnRwYWdlIC5yZWdpb24taGVhZGVyIHtcbiAgdG9wOjEwMHZoO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ucGF0aC1mcm9udHBhZ2UudG9vbGJhci1ob3Jpem9udGFsIC5yZWdpb24taGVhZGVyIHtcbiAgdG9wOiBjYWxjKDEwMHZoICsgMzlweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBhdGgtZnJvbnRwYWdlLnRvb2xiYXItdHJheS1vcGVuIC5yZWdpb24taGVhZGVyIHtcbiAgdG9wOiBjYWxjKDEwMHZoICsgNzdweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5wYXRoLWZyb250cGFnZSAubGF5b3V0LWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNTZweDtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo4MDBweCkge1xuICAgIHBhZGRpbmctdG9wOiA3MnB4O1xuICB9XG59XG5cbi5wYXRoLWZyb250cGFnZSAubGF5b3V0LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6MjAwdmg7XG59XG5cbi5zaXRlLWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDo4cHg7XG4gIGxlZnQ6MTBweDtcbiAgaGVpZ2h0OjQwcHg7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICBsZWZ0OjUwcHg7XG4gICAgaGVpZ2h0OjU1cHg7XG4gIH1cblxuICBpbWd7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6YXV0bztcbiAgfVxufVxuXG5oMSwgaDIge1xuICBmb250LWZhbWlseTokcGFzc2VybztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6MXB4O1xufVxuXG5oMSwgaDIge1xuICBmb250LXNpemU6IDEuNDVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4jYmxvY2stcGxha3RoZW1lLXBhZ2UtdGl0bGUgaDEge1xuICBjb2xvcjokeWVsbG93O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjEyNWVtO1xuICB9XG4gIG1hcmdpbjogMC40ZW0gMDtcbn1cbi5wYXRoLXBsYWF0amVzICNibG9jay1wbGFrdGhlbWUtcGFnZS10aXRsZSBoMSB7XG4gIGRpc3BsYXk6bm9uZTtcblxufVxuaDMge1xuICBmb250LWZhbWlseTokb3N3YWxkO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzoxcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuYS5ub3N0eWxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjokdGV4dDtcbn1cblxuLmZpZWxkLS1uYW1lLWJvZHkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjokdGV4dDtcbiAgLy8mOmhvdmVyIHtcbiAgLy8gIGNvbG9yOiRibHVlO1xuICAvL31cbn1cblxuXG5cbmgyLnNpdGUtbmFtZSB7XG4gIGRpc3BsYXk6bm9uZTtcbiAgZm9udC1zaXplOjAuOGVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICBsaW5lLWhlaWdodDogNzJweDtcbiAgICBmb250LXNpemU6MS41ZW07XG4gIH1cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJHRleHQ7XG59XG5cblxuLmdyaWQtaXRlbSBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo4MDBweCkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MTAwMHB4KSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgfVxufVxuLnllbGxvdyBoMiB7XG4gIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG59XG4ucGluayBoMiB7XG4gIGJhY2tncm91bmQ6ICRwaW5rO1xuICBjb2xvcjp3aGl0ZTtcblxufVxuLmJsdWUgaDIge1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgY29sb3I6d2hpdGU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqICBtZW51ICAqKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI2Jsb2NrLXBsYWt0aGVtZS1tYWluLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIHJpZ2h0OjIwcHg7XG4gIC8vIHRvcDoxMHB4O1xuICB6LWluZGV4Ojk5OTk5O1xufVxuXG4jYmxvY2stcGxha3RoZW1lLW1haW4tbWVudS5uYXYtb3BlbntcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDowO1xuICByaWdodDowO1xuICB0b3A6MDtcbiAgYm90dG9tOjA7XG4gIGJhY2tncm91bmQ6JGJsdWU7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5kaXYubmF2d3JhcHBlciB7XG4gIEBpbmNsdWRlIGFsaWduO1xufVxuXG4jYmxvY2stcGxha3RoZW1lLW1haW4tbWVudSB1bC5tZW51IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6dXJsKFwiaW1hZ2VzL2xvZ293aXQuc3ZnXCIpO1xuICAgIHdpZHRoOjIwMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBhIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRwaW5rO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAkcGluaztcblxuICAgIH1cbiAgfVxufVxuI2Jsb2NrLXBsYWt0aGVtZS1tYWluLW1lbnUgLnNvY2lhbGxpbmtzIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMjBweDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTp0YWJsZTtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDNlbTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkY3JlYW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRwaW5rO1xuICAgIH1cbiAgfVxuXG59XG4jYmxvY2stcGxha3RoZW1lLW1haW4tbWVudSBhZGRyZXNzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTpub3JtYWw7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBjb2xvcjogJGNyZWFtO1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkY3JlYW07XG4gIH1cblxufVxuXG4ubWVudS1pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OjIwcHg7XG4gIHRvcDoxNXB4O1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gICAgdG9wOjIycHg7XG4gICAgcmlnaHQ6NTBweDtcbiAgfVxuICB6LWluZGV4Ojk5OTk5OTk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDI1MG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBsaW5lYXI7XG4gIHdpZHRoOiAzMHB4O1xuICAmLm9wZW4taWNvbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG59XG5cblxuLmJhci1ib3R0b20sIC5iYXItdG9wIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGUoMCwwKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZSgwLDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGUoMCwwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMjUwbXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGxpbmVhcjtcbn1cblxuLm9wZW4taWNvbiAuYmFyLXRvcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgwLC4yNGVtKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMCwuMjRlbSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMCwuMjRlbSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDI1JSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDI1JSA1MCU7XG59XG5cbi5vcGVuLWljb24gLmJhci1ib3R0b20ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDAsLS4yNGVtKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDAsLS4yNGVtKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCwtLjI0ZW0pO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDI1JSA1MCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xufVxuXG4uYmFyLW1pZGRsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLm9wZW4taWNvbiAuYmFyLW1pZGRsZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5tZW51LWljb24tYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBpbms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHdoaXRlLDAgMCAwICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA0cHggMDtcbiAgd2lkdGg6IDkwJTtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG59XG4ubWVudS1pY29uOmhvdmVyIC5tZW51LWljb24tYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokYmx1ZTtcbn1cblxuLm9wZW4taWNvbiAubWVudS1pY29uLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG59XG5cbi5vcGVuLWljb246aG92ZXIgLm1lbnUtaWNvbi1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRwaW5rO1xufVxuXG5ib2R5Lm5hdi1vcGVuIHtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogIHNlY29uZGFyeSBtZW51ICAqKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI2Jsb2NrLXNlY29uZGFyeS1uYXZpZ2F0aW9uLFxuI2Jsb2NrLWhvb2ZkbmF2aWdhdGlle1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMHB4O1xuICBhe1xuICAgIEBleHRlbmQgaDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkdGV4dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBhOmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6MjRweDtcbiAgICBoZWlnaHQ6MjRweDtcbiAgICBmb250LXNpemU6MjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuXG4gIH1cbn1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiAgcGFnZSAgKipcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hZ2VuZGFsaW5rIHtcbiAgQGV4dGVuZCBoMztcbiAgY29sb3I6JHRleHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAzZW07XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiRwaW5rO1xuICB9XG59XG5cbmFydGljbGUubm9kZS0tdHlwZS1wYWdlLm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDoxMDAlO1xuICBAaW5jbHVkZSBjZigpO1xufVxuXG4uaW1hZ2V3cmFwcGVyIHtcbiAgaGVpZ2h0OjQwdnc7XG4gIGltZyxcbiAgdmlkZW97XG5cbiAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICB3aWR0aDoxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gIH1cbiAgaW1nLFxuICB2aWRlb3tcbiAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDpjYWxjKCAxMDB2aCAtIDcycHggKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyBvYmplY3QtcG9zaXRpb246IGJvdHRvbTsnO1xuICB9XG59XG5cblxuLnRleHR3cmFwcGVyIHtcbiAgb3ZlcmZsb3cteTpzY3JvbGw7XG4uaW5uZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDoxMDAlO1xufVxuICAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OjEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cblxuICBoMSB7XG4gICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuICAubm9kZV9fY29udGVudCB7XG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGluaztcbiAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJ2ltYWdlcy9kb3RzLnN2ZycpO1xuICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzMlIDMzJTtcbiAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA4cHggMCAvLyBib3JkZXItYm90dG9tIG9ubHlcbiAgfVxuICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ub2RlLS10eXBlLWV2ZW50IC50ZXh0d3JhcHBlciAubm9kZV9fY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogJHRleHQ7XG4gIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnaW1hZ2VzL2JsYWNrZG90cy5zdmcnKTtcbn1cblxuLmRlZWwge1xuICBib3R0b206IDBweDtcbiAgbGVmdDowO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBleHRlbmQgaDM7XG59XG4uZXh0cmFsaW5rcyB7XG4gIGJvdHRvbTogMHB4O1xuICByaWdodDowO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGEge1xuICAgIGNvbG9yOiAkdGV4dDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGV4dGVuZCBoMztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRwaW5rO1xuICAgIH1cbiAgfVxufVxuLnNoYXJlbGlua3Mge1xuICBib3R0b206IDA7XG4gIGxlZnQ6MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGVmdDo0NXB4O1xuICBib3R0b206IDBweDtcbiAgQGluY2x1ZGUgY2YoKTtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGkge1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xuICAgIHdpZHRoOjI0cHg7XG4gICAgaGVpZ2h0OjI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG5cbn1cblxuXG4uZXZlbnRkYXRhIHtcbiAgZm9udC1mYW1pbHk6JG9zd2FsZDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDokcGluaztcbiAgaGVpZ2h0OjkuN2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5kYXRldGltZSB7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDo5LjdlbTtcbiAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBzcGFuLmV2ZW50ZGF5IHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NWVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuICAuZXZlbnRuYW1lIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMy4xMjVlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTNlbSk7XG4gIH1cbiAgaDEsXG4gIGgye1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIGNvbG9yOiAkeWVsbG93O1xuICAgIGZvbnQtZmFtaWx5OiAkb3N3YWxkO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwLjMzZW0gMCAwcHg7XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXNsb2dhbiB7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtZmFtaWx5OiAkb3N3YWxkO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG59XG5cbmFydGljbGUubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo1MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjE0MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5cbi5pbWFnZXdyYXBwZXIge1xuICBmb250LXNpemU6IDAuNWVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjUwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjEwMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG5cblxuLmV2ZW50aWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAyZW07XG4gIHJpZ2h0OjAuNDM3NWVtO1xuICB0b3A6MC45Mzc1ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaSB7XG4gICAgY29udGVudDpcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDoyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIC5yb2JvdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3JvYm90by5naWZcIik7XG4gIH1cbiAgLmhhcnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy9oZWFydC5naWZcIik7XG4gIH1cbn1cblxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gIC5pbWFnZXdyYXBwZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MDBweCk7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBoZWlnaHQ6Y2FsYyggMTAwdmggLSA3MnB4ICk7XG4gIH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQgLmltYWdld3JhcHBlciB7XG4gICAgaGVpZ2h0OmNhbGMoIDEwMHZoIC0gNzJweCAtIDkuNjg3NWVtICk7XG4gIH1cbiAgLnRleHR3cmFwcGVyIHtcbiAgICB3aWR0aDo0MDBweDtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDpjYWxjKCAxMDB2aCAtIDcycHggKTtcbiAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjExMjBweCkge1xuICAuaW1hZ2V3cmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc2cHgpO1xuICB9XG4gIC50ZXh0d3JhcHBlciB7XG4gICAgd2lkdGg6NTc2cHg7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqICBhZ2VuZGEgICoqXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ucGF0aC1hZ2VuZGEgaDEge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGF0aC1hZ2VuZGEgLmxheW91dC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiBjYWxjKCAxMDB2aCApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvYWdlbmRhLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnZpZXctYWdlbmRhIHtcbiAgQGluY2x1ZGUgY2VudGVyKDgwMHB4KTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbn1cblxuLnZpZXctYWdlbmRhIC52aWV3cy1yb3c6bnRoLW9mLXR5cGUoMm4rMikge1xuICAuZXZlbnRkYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgfVxufVxuXG5cbi5ldmVudGxpbmtzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDowcHg7XG4gIGJvdHRvbTo1cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBAaW5jbHVkZSBjZigpO1xuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NjAwcHgpIHtcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBpIHtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgIHdpZHRoOjI0cHg7XG4gICAgaGVpZ2h0OjI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbnNwYW4ubW9udGgge1xuICBtYXJnaW4tbGVmdDogNTBweDtcbiAgY29sb3I6JHllbGxvdztcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdG9wOjE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDo4MHB4O1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OnVybChcImltYWdlcy9hcnJvdy5zdmdcIik7XG4gICAgd2lkdGg6MjYwcHg7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDotNDBweDtcbiAgICB0b3A6MzBweDtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuICAudmlldy1hZ2VuZGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuZXZlbnRsaW5rcyB7XG4gICAgcmlnaHQ6LTYwcHg7XG4gICAgYm90dG9tOjA7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG5hcnRpY2xlLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLXRlYXNlciB7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIEBpbmNsdWRlIGNmKCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgLnZpZXctYWdlbmRhIHtcbiAgICBAaW5jbHVkZSBjZW50ZXIoMTQwMHB4KTtcbiAgfVxuICBhcnRpY2xlLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICBtYXJnaW4tbGVmdDogMzcycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMDVweDtcbiAgICBAaW5jbHVkZSBjZigpO1xuICB9XG4gIGgzKy52aWV3cy1yb3cge1xuICAgIGFydGljbGUubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgICAgIG1hcmdpbi10b3A6IC03MHB4O1xuICAgIH1cbiAgfVxuXG59XG5cblxuYXJ0aWNsZS5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS10ZWFzZXIge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBAaW5jbHVkZSBjZigpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiAgbWVudSBwYWdpbmEgICoqXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jYmxvY2stbWVudS1uYXZpZ2F0aW9uIHtcbiAgdWwubWVudSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOmF1dG87XG4gIH1cbiAgbGkge1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgLy9mb250LXNpemU6IDMwcHg7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgZm9udC1mYW1pbHk6ICRvc3dhbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkdGV4dDtcbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRjcmVhbTtcbiAgICB9XG4gIH1cbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIGJvcmRlci1jb2xvcjogJHBpbms7XG4gIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnaW1hZ2VzL3doaXRlZG90cy5zdmcnKTtcbiAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMyUgMzMlO1xuICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgOHB4IDA7IC8vIGJvcmRlci1ib3R0b20gb25seVxuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnBhZ2Utbm9kZS10eXBlLW1lbnUtcGFnZSB7XG4gICBhIHtcbiAgICBjb2xvcjogJGNyZWFtO1xuICB9XG4gIC5maWVsZC0tbmFtZS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBhcnRpY2xlIGgyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGluaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuICAuZmllbGQtLW5hbWUtZmllbGQtc2xvZ2FuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR5ZWxsb3c7XG5cbiAgICBsaW5lLWhlaWdodDogMS4zMmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvYXJyb3cyLnN2Z1wiKTtcbiAgICAgICAgICB3aWR0aDogNy40ZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC03LjRlbTtcbiAgICAgICAgICB0b3A6IDAuMDZlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvYXJyb3cyLnN2Z1wiKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODEuNWRlZyk7XG4gICAgICAgICAgd2lkdGg6IDcuNGVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTcuNGVtO1xuICAgICAgICAgIHRvcDogLTAuMzJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDMuMTI1ZW07XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICAuZmllbGQtLW5hbWUtYm9keSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtYm9keS0ybmQge1xuICAgICAgQGluY2x1ZGUgY29sdW1uKDEvMiwgJGN5Y2xlOiAyKTtcbiAgICB9XG4gIH1cbn1cblxuLnBsYWttZW51IHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBAbWVkaWEgYWxsIGFuZChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICBwYWRkaW5nOiAwIDUwcHg7XG4gIH1cbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIEBpbmNsdWRlIGNmKCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKiAgbmlldXdzYnJpZWYgICoqXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ucGF0aC1uaWV1d3NicmllZiB7XG4gIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiRvc3dhbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjbGVhcjpsZWZ0O1xuICAgICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKTtcbiAgICAgIG1hcmdpbjogMCAxNnB4IDI0cHg7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOjEuNWVtO1xuICAgICAgfVxuXG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICAmLmluc2NocmlqdmVuIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC40ZW07XG4gICAgICB9XG5cbiAgICB9XG4gICAgLmZvcm0taXRlbS1tZXJnZXZhcnMtZW1haWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgICBtYXgtd2lkdGg6OTIlO1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgICAgICB3aWR0aDozMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcm94aW1hO1xuICAgICAgICBtYXgtd2lkdGg6Y2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvYXJyb3cuc3ZnXCIpO1xuICAgICAgICAgIHdpZHRoOiA3LjRlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLThlbTtcbiAgICAgICAgICB0b3A6IDAuMzVlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvYXJyb3czLnN2Z1wiKTtcbiAgICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDE4MS41ZGVnKTtcbiAgICAgICAgICB3aWR0aDogNy40ZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtNy43ZW07XG4gICAgICAgICAgdG9wOiAwLjJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICB9XG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIGNvbG9yOiR5ZWxsb3c7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGNyZWFtO1xuICAgICAgfVxuICAgICAgZm9udC1mYW1pbHk6JHBhc3Nlcm87XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICBib3JkZXI6bm9uZTtcblxuICAgIH1cbiAgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgKiogIHNsaWNrIHNsaWRlciAgKipcbiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG59XG5cbi5zbGlja3NsaWRlcixcbi5zbGljay1saXN0LFxuLnNsaWNrLXRyYWNre1xuICBoZWlnaHQ6MTAwJTtcbiAgLy9oZWlnaHQ6MzB2dztcbn1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTowcHg7XG4gIGxlZnQ6MzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBzbGljaztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB9XG5cbiAgICB9XG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgY29sb3I6JHBpbms7XG4gICAgfVxuICB9XG59XG5cbiNwbGF5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjUwJTtcbiAgbGVmdDo1MCU7XG4gIHotaW5kZXg6OTk5OTk5OTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBwYWRkaW5nOiAgNXB4IDE1cHggIWltcG9ydGFudDtcbiAgY29sb3I6JGNyZWFtO1xuICBiYWNrZ3JvdW5kOiRwaW5rO1xuICBib3JkZXI6bm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTIlO1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLnZpZGVvd3JhcHBlcjpob3ZlciAjcGxheSB7XG4gIG9wYWNpdHk6MTtcbn1cblxuLm5vZGUtMjMge1xuICBAaW5jbHVkZSBjZigpO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjEwMDBweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogIHJlc2VydmVyZW4gICoqXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jYmxvY2stcGxha3RoZW1lLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmVzZXJ2ZWVyc2xvZ2FuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MjBweDtcbiAgei1pbmRleDo5OTtcbiAgd2lkdGg6MTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIGJvcmRlci1jb2xvcjogJHBpbms7XG4gIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnaW1hZ2VzL3doaXRlZG90cy5zdmcnKTtcbiAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMyUgMzMlO1xuICBib3JkZXItaW1hZ2UtcmVwZWF0OiByb3VuZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgOHB4IDA7IC8vIGJvcmRlci1ib3R0b20gb25seVxuXG4gIGgyIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTokb3N3YWxkO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgfVxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gIH1cbn1cbi5lZXRncm9lcCxcbi5mZWVzdCB7XG4gIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgY29sb3I6d2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICAuY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGV4dHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHggNTBweDtcbiAgICBAbWVkaWEgYWxsIGFuZChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggNTBweCA1MHB4O1xuICAgIH1cbiAgfVxuICAuZmllbGQtLW5hbWUtYm9keSB7XG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGluaztcbiAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJ2ltYWdlcy93aGl0ZWRvdHMuc3ZnJyk7XG4gICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMyUgMzMlO1xuICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHJvdW5kO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDhweCAwOyAvLyBib3JkZXItYm90dG9tIG9ubHlcbiAgfVxuICBoMiB7XG4gICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NjAwcHgpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiaW1hZ2VzL2Fycm93LnN2Z1wiKTtcbiAgICAgICAgd2lkdGg6IDcuNGVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtOGVtO1xuICAgICAgICB0b3A6IDAuMzVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiaW1hZ2VzL2Fycm93My5zdmdcIik7XG4gICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoMTgxLjVkZWcpO1xuICAgICAgICB3aWR0aDogNy40ZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNy43ZW07XG4gICAgICAgIHRvcDogMC4yZW07XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICBAaW5jbHVkZSBjb2x1bW4oMS8yLCAkY3ljbGU6IDIsICRndXR0ZXI6IDApO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIGlucHV0LFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjpub25lO1xuICAgIGNvbG9yOiR0ZXh0O1xuICAgIHBhZGRpbmc6OHB4IDEwcHg7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo2NTBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgfVxuICBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuZm9ybS1zdWJtaXQge1xuICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6JGNyZWFtO1xuICAgIH1cbiAgICBmb250LWZhbWlseTogJHBhc3Nlcm87XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6bm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6MTAwJTtcblxuICB9XG5cbn1cblxuLmVldGdyb2VwIHtcbiAgYmFja2dyb3VuZDogJHBpbms7XG4gIGgyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiogIGNvbG9wcmJveCAqKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI2Nib3hPdmVybGF5IHtcbiAgYmFja2dyb3VuZDogJHBpbms7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG59XG4jY2JveENvbnRlbnQsIC5jYm94UGhvdG8ge1xuICBib3JkZXItcmFkaXVzOjA7XG5cbn1cbiNjb2xvcmJveCB7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG59XG4jY2JveFRpdGxlIHtcbiAgYmFja2dyb3VuZDogJGJsdWU7XG4gIGNvbG9yOndoaXRlO1xuICBmb250LWZhbWlseTogJHBhc3Nlcm87XG4gIGZvbnQtc2l6ZToxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgcGFkZGluZzogOHB4O1xuICBib3R0b206MDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgcGFkZGluZzo4cHggNWVtO1xuICAmOmJlZm9yZSB7XG4gICAgLy9mb250LXNpemU6IDAuNmVtO1xuICAgIC8vY29udGVudDogdXJsKFwiaW1hZ2VzL2Fycm93My5zdmdcIik7XG4gICAgLy93aWR0aDogNy40ZW07XG4gICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvL2xlZnQ6IDFlbTtcbiAgICAvL3RvcDogY2FsYyg1MCUgLSAxMi41cHgpO1xuICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgLy9mb250LXNpemU6IDAuNmVtO1xuICAgIC8vY29udGVudDogdXJsKFwiaW1hZ2VzL2Fycm93LnN2Z1wiKTtcbiAgICAvLy8vdHJhbnNmb3JtOiByb3RhdGUoMTgxLjVkZWcpO1xuICAgIC8vd2lkdGg6IDcuNGVtO1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy9yaWdodDogMWVtO1xuICAgIC8vdG9wOiBjYWxjKDUwJSAtIDEyLjVweCk7XG4gIH1cbiAgfVxufVxuXG4jY2JveFRpdGxlIHtcbiAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jY2JveFByZXZpb3VzIHtcbiAgYmFja2dyb3VuZDp1cmwoXCJpbWFnZXMvYXJyb3czLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDcuNGVtO1xuICBmb250LXNpemU6IDAuMmVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDFlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gIHJpZ2h0OmF1dG87XG4gICY6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmhlcml0O1xufVxufVxuI2Nib3hOZXh0IHtcbiAgZm9udC1zaXplOiAwLjJlbTtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gIH1cbiAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL2Fycm93LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy90cmFuc2Zvcm06IHJvdGF0ZSgxODEuNWRlZyk7XG4gIHdpZHRoOiA3LjRlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFlbTtcbiAgbGVmdDphdXRvO1xuICAmOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDtcbn1cbn1cblxuI2Nib3hDdXJyZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cblxuI2Nib3hDbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDRweDtcbiAgY29sb3I6JHllbGxvdztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6ICRvc3dhbGQ7XG4gIGZvbnQtc2l6ZTogNWVtO1xuICByaWdodDoyMHB4O1xuICB0ZXh0LWluZGVudDogMDtcbiAgYmFja2dyb3VuZDpub25lO1xuICBib3JkZXI6bm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuI2Nib3hUb3BMZWZ0LFxuI2Nib3hUb3BDZW50ZXIsXG4jY2JveFRvcFJpZ2h0LFxuI2Nib3hCb3R0b21MZWZ0LFxuI2Nib3hCb3R0b21DZW50ZXIsXG4jY2JveEJvdHRvbVJpZ2h0LFxuI2Nib3hNaWRkbGVMZWZ0LFxuI2Nib3hNaWRkbGVSaWdodFxue1xuICBvcGFjaXR5OjA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNsaWRlcndyYXBwZXIge1xuICBoZWlnaHQ6MTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZyb250LXNsaWRlciB7XG4gIGhlaWdodDoxMDAlO1xuICAvL21hcmdpbi10b3A6IDcycHg7XG4gIC5zbGljay1zbGlkZSB7XG4gICAgaGVpZ2h0OmNhbGMoIDEwMHZoIC0gNzJweCApO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OmNhbGMoIDEwMHZoIC0gNzJweCApO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBib3R0b207JztcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRldGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnNsaWRlY3JlZGl0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6MDtcbiAgYm90dG9tOjA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOndoaXRlO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1mYW1pbHk6ICRwcm94aW1hO1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG4uc2xpZGUge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLnNsaWRlLTEge1xuICAuc2xpZGV0ZXh0IHtcbiAgICB0b3A6NTAlO1xuICAgIGxlZnQ6My41ZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuICBzcGFuIHtcbiAgICBmb250LWZhbWlseTokYXJ2bztcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAwLjMzZW0gc29saWQgJHllbGxvdztcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcbiAgfVxuICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjokeWVsbG93O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuICBzcGFuOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDMuMzNlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDotMC42ZW07XG4gICAgdG9wOiAwLjJlbTtcbiAgfVxufVxuXG4uc2xpZGUtMiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgLnNsaWRldGV4dCB7XG4gICAgdG9wOjEyJTtcbiAgICBsZWZ0OjMuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6JGVsaXRlO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiR5ZWxsb3c7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gIH1cbiAgLmNvbG91cmVkIHtcbiAgICBjb2xvcjokeWVsbG93O1xuICB9XG4gIC53aGl0ZSB7XG4gICAgY29sb3I6d2hpdGU7XG4gIH1cbiAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1heC13aWR0aDo4MCU7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo4MDBweCkge1xuICAgICAgbWF4LXdpZHRoOjQwJTtcbiAgICB9XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG59XG4uc2xpZGUtMyB7XG4gIC5zbGlkZXRleHQge1xuICAgIHRvcDo1MCU7XG4gICAgZm9udC1mYW1pbHk6ICRwYXNzZXJvO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgY29sb3I6JHllbGxvdztcbiAgICBsZWZ0OjMuNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6NC42OGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOGVtO1xuXG4gICAgfVxuICB9XG59XG5cbi5zbGlkZS00IHtcbiAgLnNsaWRldGV4dCB7XG4gICAgdG9wOjMwJTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiRwcm94aW1hO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4yZW0gc29saWQgJHBpbms7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yZW07XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAzLjRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOjAuNWVtO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6ODAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4uc2xpZGUtNSB7XG4gIC5zbGlkZXRleHQge1xuICAgIGJvdHRvbToxMCU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG4gIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiRwcm94aW1hO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICB9XG4gIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiR5ZWxsb3c7XG4gICAgd2lkdGg6MTFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGVmdDoxMGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGZvbnQtc2l6ZTogMy40ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDowLjFlbTtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHdpZHRoOjkwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDAuOGVtO1xuICAgIGZvbnQtc2l6ZTogNC41ZW07XG4gICAgdGV4dC1zaGFkb3c6MXB4IDFweCAzcHggZ3JleTtcbiAgICB0ZXh0LXNoYWRvdzoxcHggMXB4IDNweCByZ2JhKGdyZXksMC41KTtcbiAgfVxufVxuXG4uc2xpZGUtNiB7XG4gIC5zbGlkZXRleHQge1xuICAgIHRvcDpjYWxjKDUwJSAtIDVlbSk7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6MTAwJTtcblxuICB9XG4gIHNwYW4ge1xuICAgICRjb2xvcjogcmVkO1xuICAgIGZvbnQtZmFtaWx5OiRvc3dhbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiRjb2xvcjtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGZvbnQtc2l6ZTogMTBlbTtcbiAgICBib3JkZXItdG9wOjAuMDdlbSBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTowLjA3ZW0gc29saWQgJGNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjA3ZW0gMDtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICB9XG5cbn1cblxuLnNsaWRlLTcge1xuICAgLnNsaWRldGV4dCB7XG4gICAgIHRvcDpjYWxjKDIwJSk7XG4gICAgIHdpZHRoOjEwMCU7XG4gICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgIGxlZnQ6MDtcbiAgIH1cbiAgIHNwYW4ge1xuICAgICBmb250LWZhbWlseTokb3N3YWxkO1xuICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICBjb2xvcjogcmVkO1xuICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICBmb250LXNpemU6IDZlbTtcbiAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgcGFkZGluZy1yaWdodDoxLjhlbTtcbiAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42ZW07XG4gICAgICAgcGFkZGluZy1ib3R0b206IDAuMDZlbTtcbiAgICAgICBib3JkZXItYm90dG9tOiAwLjFlbSBzb2xpZCByZWQ7XG4gICAgIH1cbiAgIH1cbiB9XG5cbi5zbGlkZS04IHtcbiAgLnNsaWRldGV4dCB7XG4gICAgdG9wOjMwJTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGVmdDowO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuc3ZnIHtcbiAgZGlzcGxheTpibG9jaztcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMTRlbTtcbiAgaGVpZ2h0OiAzZW07XG59XG5cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6JHByb3hpbWE7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBtYXgtd2lkdGg6NzAlO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB9XG4gIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICB9XG4gIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gIH1cblxufVxuXG4uc2xpZGUtOSB7XG4gIC5zbGlkZXRleHQge1xuICAgIGJvdHRvbToyMCU7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsZWZ0OjA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxlZnQ6NSU7XG4gICAgcmlnaHQ6NSU7XG4gIH1cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6JHByb3hpbWE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgfVxuICB9XG59XG5cbi5zbGlkZS0xMCB7XG4gIC5zbGlkZXRleHQge1xuICAgIGJvdHRvbToyMCU7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsZWZ0OjA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxlZnQ6NSU7XG4gICAgcmlnaHQ6NSU7XG4gIH1cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6JG9zd2FsZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBmb250LXNpemU6IDVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcblxuICAgIH1cbiAgfVxufVxuXG4uYXJyb3d3cmFwcGVyIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGJvdHRvbTo0MHB4O1xuICBsZWZ0OjUwJTtcbiAgei1pbmRleDo5OTk5OTk7XG4gIGkge1xuICAgIGFuaW1hdGlvbjogYmxpbmtlciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLy9hbmltYXRpb246IGNvbG9yUm90YXRlIDRzIGxpbmVhciAwcyBpbmZpbml0ZTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGFuaW1hdGlvbjpub25lO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rZXIge1xuICA1MCUgeyBvcGFjaXR5OiAwOyB9XG59XG5Aa2V5ZnJhbWVzIGNvbG9yUm90YXRlIHtcbiAgZnJvbSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIDI1JSB7XG4gICAgY29sb3I6ICRwaW5rO1xuICB9XG4gIDUwJSB7XG4gICAgY29sb3I6ICR5ZWxsb3c7XG4gIH1cbiAgNzUlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbiAgdG8ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDowO1xuICB0b3A6NTAlO1xuICB6LWluZGV4Ojk5OTk5O1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6MDtcbiAgdG9wOjUwJTtcbiAgei1pbmRleDo5OTk5OTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqICBjb250YWN0ICAmIHVzZXIqKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI21hcC1jYW52YXMge1xuICBoZWlnaHQ6MzAwcHg7XG59XG5cbi5wYXRoLWNvbnRhY3QsXG4ucGF0aC11c2VyOm5vdCgucGFnZS1ub2RlLXR5cGUtcGFnZSl7XG4gIC5sYXlvdXQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgfVxuXG4gICNibG9jay1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MTAwMHB4KSB7XG4gICAgICBAaW5jbHVkZSBjZW50ZXIoNjAwcHgpO1xuXG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokcGluaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gICNibG9jay1wbGFrdGhlbWUtY29udGVudCB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICAgIEBpbmNsdWRlIGNlbnRlcig2MDBweCk7XG4gICAgfVxuICB9XG4gIC5jb250YWN0LW1lc3NhZ2UtZmVlZGJhY2stZm9ybSxcbiAgI3VzZXItbG9naW4tZm9ybSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwMHB4O1xuXG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMTBweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW07XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJveGltYTtcbiAgICB9XG4gICAgdGV4dGFyZWEge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGNyZWFtO1xuICAgICAgfVxuICAgICAgZm9udC1mYW1pbHk6ICRwYXNzZXJvO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAjZWRpdC1hY3Rpb25zIHtcbiAgICAgIHdpZHRoOjE0MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCJpbWFnZXMvYXJyb3cuc3ZnXCIpO1xuICAgICAgICAgIHdpZHRoOiA3LjRlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTcuNWVtO1xuICAgICAgICAgIHRvcDogMC42ZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogdXJsKFwiaW1hZ2VzL2Fycm93My5zdmdcIik7XG4gICAgICAgICAgLy90cmFuc2Zvcm06IHJvdGF0ZSgxODEuNWRlZyk7XG4gICAgICAgICAgd2lkdGg6IDcuNGVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTcuM2VtO1xuICAgICAgICAgIHRvcDogMC40ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgfVxuXG4gIH1cbiAgLmNvbnRhY3RhZGRyZXNzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoxMDAwcHgpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICBjb2xvcjogJGNyZWFtO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjcmVhbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAuc29jaWFsbGlua3Mge1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMTBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY3JlYW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiRwaW5rO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKlxuICAqKiB1c2VyICoqXG4gICoqKioqKioqKioqKioqKioqKioqKi9cblxuLnBhdGgtdXNlciAjdXNlci1sb2dpbi1mb3JtIHtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5wYXRoLXVzZXIgLnRhYnMge1xuICBwYWRkaW5nOiA0MHB4IDAgMCA0MHB4O1xuICBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiRjcmVhbTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRwaW5rO1xuICAgIH1cbiAgfVxuXG59XG5cblxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */