@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }
.clearfix:after {
  clear: both; }

a img {
  border: none; }

@media only screen and (max-width: 767px) {
  .pc {
    display: none; }

  body {
    font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }

  div.menu {
    display: none;
    background-color: rgba(0, 0, 0, 0.85);
    padding: 13px 0; }
    div.menu ul {
      margin: 0;
      padding: 0; }
      div.menu ul li {
        list-style: none;
        text-align: center;
        color: white; }
      div.menu ul li, div.menu ul li > a {
        font-size: 14px;
        line-height: 39px;
        text-decoration: none;
        color: inherit;
        color: white;
        font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }

  header.non-home div.menu {
    position: fixed;
    top: 50px;
    width: 100%;
    margin: auto; }

  div.sns {
    margin-top: 5px;
    margin-right: 5px;
    text-align: right; }

  body.home {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    body.home div.site-inner {
      position: relative; }
      body.home div.site-inner header {
        position: fixed;
        width: 100%;
        margin: 0 auto;
        z-index: 3000; }
        body.home div.site-inner header > div:first-child {
          position: relative;
          height: 40px;
          background-image: url("../images/home_header_sp.png");
          background-size: 100% 100%; }
          body.home div.site-inner header > div:first-child h1 {
            margin: 0;
            overflow: hidden;
            text-indent: 100%;
            white-space: nowrap;
            background-image: url("../images/home_logo_sp.png");
            background-size: 100% 100%;
            background-repeat: no-repeat;
            position: absolute;
            width: 180px;
            height: 12px;
            top: 13px;
            left: 5%; }
          body.home div.site-inner header > div:first-child > a.menu-button {
            background-image: url("../images/menu_ico.png");
            background-size: 100%;
            background-repeat: no-repeat;
            position: absolute;
            height: 15px;
            width: 33px;
            display: block;
            right: 3%;
            top: 14px; }
      body.home div.site-inner div.top-image > img,
      body.home div.site-inner div.top-image-sp > img {
        width: 100%;
        height: auto;
        display: block; }

  div.news div.news-header {
    height: 42px;
    background-image: url("../images/news_header_sp.png");
    background-size: 50px 14px;
    background-repeat: no-repeat;
    background-position: 5% 22px;
    background-color: #5d5e5e;
    position: relative; }
    div.news div.news-header a.archive-link {
      color: #fff;
      position: absolute;
      bottom: 5px;
      right: 5%;
      font-size: 12px;
      text-decoration: none;
      vertical-align: middle; }
      div.news div.news-header a.archive-link::before {
        content: "▶︎ ";
        font-size: 8px;
        vertical-align: 13%; }
  div.news > div.post {
    margin: 10px 5% 110px; }
  div.news article {
    border-bottom: solid 1px #59474f;
    min-height: 20px;
    position: relative; }
    div.news article p {
      margin: 0; }
    div.news article > div.date {
      font-size: 9px;
      line-height: 18px;
      width: 64px;
      padding: 2px 0 0;
      float: left; }
    div.news article > div.text {
      font-size: 9px;
      line-height: 18px;
      padding: 2px 0; }
      div.news article > div.text p {
        text-align: justify; }
    div.news article > div.image {
      width: 100%;
      margin: 7px 0; }
      div.news article > div.image img {
        width: 100%;
        height: auto;
        display: block; }

  div.main {
    margin: 0 auto;
    padding-top: 50px; }

  body.home div.main {
    padding-top: 0; }

  header.non-home {
    width: 100%;
    background-color: #5d5e5e;
    height: 40px;
    padding: 10px 0 0;
    position: fixed;
    z-index: 1; }
    header.non-home > div.header-inner {
      width: 94%;
      margin: 0 auto;
      position: relative; }
      header.non-home > div.header-inner h1 {
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
        position: absolute;
        width: 100%;
        height: 40px;
        margin: 0;
        background-repeat: no-repeat;
        background-position: 5% 15px;
        background-size: auto 14px; }
      header.non-home > div.header-inner div.picture {
        display: none; }
      header.non-home > div.header-inner div.menu-button {
        position: absolute;
        background-image: url("../images/menu_ico.png");
        background-size: 100%;
        background-repeat: no-repeat;
        height: 15px;
        width: 33px;
        display: block;
        right: 0;
        top: 14px; }
        header.non-home > div.header-inner div.menu-button > a {
          display: block;
          width: 100%;
          height: 100%; }
      header.non-home > div.header-inner div.gandd-icon {
        display: none;
        position: absolute;
        top: 6px;
        right: 7px;
        height: 70px;
        width: 70px; }
        header.non-home > div.header-inner div.gandd-icon > a {
          display: block;
          width: 100%;
          height: auto; }
        header.non-home > div.header-inner div.gandd-icon > a > img {
          display: block;
          width: 100%;
          height: auto; }

  body.profile-aiba header.non-home h1 {
    background-image: url("../images/header_aiba_works_text.png"); }

  body.profile-onimaru header.non-home h1 {
    background-image: url("../images/header_onimaru_works_text.png"); }

  body.profile-gandd header.non-home h1 {
    background-image: url("../images/header_gandd_works_text.png"); }

  body.architecture-aiba header.non-home h1 {
    background-image: url("../images/header_works_architecture.png"); }

  body.arts-aiba header.non-home h1 {
    background-image: url("../images/header_works_arts.png"); }

  body.branding-onimaru header.non-home h1 {
    background-image: url("../images/header_works_branding.png"); }

  body.graphics-gandd header.non-home h1 {
    background-image: url("../images/header_works_graphics.png"); }

  body.company header.non-home h1 {
    background-image: url("../images/header_company.png"); }

  body.contact header.non-home h1 {
    background-image: url("../images/header_contact.png"); }

  body.map header.non-home h1 {
    background-image: url("../images/header_access.png"); }

  body.single-work header.non-home > div.header-inner {
    position: relative; }
    body.single-work header.non-home > div.header-inner div.picture {
      display: block;
      position: absolute;
      right: 45px;
      top: 10px; }
      body.single-work header.non-home > div.header-inner div.picture img {
        height: 10px;
        width: auto; }
  body.single-work div.main {
    padding-top: 50px; }
    body.single-work div.main > div.post {
      margin: 0 0 20px;
      font-size: 10px;
      line-height: 14px; }
      body.single-work div.main > div.post p {
        margin: 0;
        height: 100%; }
      body.single-work div.main > div.post img.size-full {
        width: 100%;
        height: auto;
        display: block;
        margin-bottom: 10px; }
      body.single-work div.main > div.post img.pc {
        display: none; }
      body.single-work div.main > div.post div.text {
        width: 100% !important;
        margin: 10px 0; }
        body.single-work div.main > div.post div.text:before, body.single-work div.main > div.post div.text:after {
          content: " ";
          display: table; }
        body.single-work div.main > div.post div.text:after {
          clear: both; }
      body.single-work div.main > div.post img.main-visual + div {
        width: 90%;
        margin: 0 5%; }
      body.single-work div.main > div.post div.title, body.single-work div.main > div.post div.title-long {
        font-size: 12px;
        line-height: 16px;
        border-bottom: solid 1px #59474f;
        padding-bottom: 5px; }
        body.single-work div.main > div.post div.title p.title-1, body.single-work div.main > div.post div.title-long p.title-1 {
          font-weight: normal; }
      body.single-work div.main > div.post div.overview {
        padding: 5px 0;
        border-bottom: solid 1px #59474f; }
      body.single-work div.main > div.post div.description {
        width: 100%;
        margin-top: 5px;
        margin-bottom: 20px;
        text-align: justify; }
      body.single-work div.main > div.post div.images {
        width: 100%; }
        body.single-work div.main > div.post div.images div {
          width: 100% !important; }
        body.single-work div.main > div.post div.images img {
          width: 100% !important; }
      body.single-work div.main > div.post.type-3 p {
        margin: 0; }
        body.single-work div.main > div.post.type-3 p img {
          margin-bottom: 0; }
      body.single-work div.main > div.post.type-3 p.text {
        margin: 10px 5%; }
    body.single-work div.main div.bottom-button {
      text-align: center;
      margin-top: 20px; }
      body.single-work div.main div.bottom-button a {
        display: inline-block;
        line-height: 0; }
        body.single-work div.main div.bottom-button a img {
          height: 14px;
          width: auto; }

  div.main.work {
    position: relative; }
    div.main.work > img {
      position: absolute;
      top: 65px;
      left: 5%;
      width: 100px;
      height: auto; }
    div.main.work div.post {
      font-size: 9px;
      margin: 0 5%;
      min-height: 130px; }
      div.main.work div.post br.pc {
        display: none; }
      div.main.work div.post div.left {
        margin: 15px 0 0 120px;
        min-height: 100px; }
      div.main.work div.post p.name {
        font-size: 11px;
        margin: 0 0 2px;
        line-height: 13px; }
      div.main.work div.post p.name-en {
        font-size: 10px;
        margin: 0; }
      div.main.work div.post p.title {
        font-size: 8px;
        margin: 5px 0 0;
        line-height: 13px; }
      div.main.work div.post div.description {
        width: 100%;
        text-align: justify;
        margin: 20px 0; }
        div.main.work div.post div.description p {
          margin: 0; }
    div.main.work h2.work-header {
      width: 90%;
      height: 45px;
      padding: 0 5%;
      margin: 0;
      background-color: #b7b7b7;
      color: #fff;
      font-family: "メイリオ", Meiryo, "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif;
      font-weight: normal;
      font-size: 15px;
      margin: 0 0 15px;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background-repeat: no-repeat;
      background-size: auto 14px;
      background-position: 7% 22px; }
      div.main.work h2.work-header.architecture {
        background-image: url("../images/header_works_architecture.png"); }
      div.main.work h2.work-header.arts {
        background-image: url("../images/header_works_arts.png"); }
      div.main.work h2.work-header.branding {
        background-image: url("../images/header_works_branding.png"); }
      div.main.work h2.work-header.graphics {
        background-image: url("../images/header_works_graphics.png"); }
      div.main.work h2.work-header.space {
        background-image: url("../images/header_works_space.png"); }
      div.main.work h2.work-header.event {
        background-image: url("../images/header_works_event.png"); }
    div.main.work div.work-list {
      margin-bottom: 15px; }
      div.main.work div.work-list div.work {
        width: 90%;
        overflow: hidden;
        margin: 0 5%; }
        div.main.work div.work-list div.work > a {
          width: 100%;
          height: 100%;
          display: block;
          text-decoration: none;
          color: inherit; }
          div.main.work div.work-list div.work > a > div {
            overflow: hidden; }
            div.main.work div.work-list div.work > a > div > img {
              display: block;
              width: 100%;
              height: auto; }
          div.main.work div.work-list div.work > a > p.title {
            font-size: 10px;
            margin: 10px 0 20px; }

  body.company h2 {
    margin: 30px auto 10px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background-image: url("../images/logo_b.png");
    height: 20px;
    width: 261px;
    background-size: auto 18px;
    background-repeat: no-repeat; }
  body.company div.post {
    font-size: 10px;
    line-height: 20px;
    margin-bottom: 60px; }
    body.company div.post:before, body.company div.post:after {
      content: " ";
      display: table; }
    body.company div.post:after {
      clear: both; }
    body.company div.post div.ja {
      width: 90%;
      margin: 0 5% 30px; }
      body.company div.post div.ja dt {
        float: left;
        clear: both;
        width: 60px; }
      body.company div.post div.ja dd {
        margin-left: 60px; }
    body.company div.post div.en {
      width: 90%;
      margin: 0 5%; }

  body.map .gmap {
    margin: 30px auto 30px;
    width: 90%; }
  body.map #map {
    height: 300px; }
  body.map div.logo {
    width: 240px;
    margin: 0 5% 10px; }
    body.map div.logo > img {
      width: 100%;
      height: auto; }
  body.map div.address {
    font-size: 10px;
    line-height: 20px;
    width: 90%;
    margin: 0 auto 60px; }

  body.contact div.post {
    margin-left: 160px;
    width: 90%;
    margin: 30px auto 60px;
    font-size: 10px; }
    body.contact div.post div.form {
      width: 100%; }
      body.contact div.post div.form > p {
        margin: 5px 0; }
        body.contact div.post div.form > p label {
          width: 168px;
          display: block; }
        body.contact div.post div.form > p span.wpcf7-form-control-wrap {
          display: block; }
      body.contact div.post div.form input[type="text"], body.contact div.post div.form input[type='email'], body.contact div.post div.form input[type='tel'] {
        width: 95%; }
      body.contact div.post div.form textarea, body.contact div.post div.form 　select {
        width: 97%; }
      body.contact div.post div.form span.wpcf7-form-control-wrap.category {
        margin-bottom: 10px; }
      body.contact div.post div.form input[type="submit"] {
        font-size: 10px;
        line-height: 20px;
        letter-spacing: 1px;
        font-style: bold;
        border-style: none;
        color: #fff;
        background-color: #000;
        border-radius: 3px;
        padding-top: 3px;
        padding-bottom: 2px;
        display: block;
        margin: 15px auto; }

  body.company footer, body.contact footer, body.map footer {
    width: 100%;
    background-color: #5d5e5e;
    height: 40px; }
    body.company footer > div.footer-inner, body.contact footer > div.footer-inner, body.map footer > div.footer-inner {
      width: 100%;
      margin: 0 auto;
      position: relative;
      text-align: center; }
      body.company footer > div.footer-inner a, body.contact footer > div.footer-inner a, body.map footer > div.footer-inner a {
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
        display: inline-block;
        margin: 14px 5px 5px;
        background-size: auto 12px;
        background-repeat: no-repeat;
        height: 12px; }
      body.company footer > div.footer-inner a.contact, body.contact footer > div.footer-inner a.contact, body.map footer > div.footer-inner a.contact {
        width: 78px;
        background-image: url("../images/header_contact.png"); }
      body.company footer > div.footer-inner a.map, body.contact footer > div.footer-inner a.map, body.map footer > div.footer-inner a.map {
        width: 94px;
        background-image: url("../images/header_access.png"); }
      body.company footer > div.footer-inner a.company, body.contact footer > div.footer-inner a.company, body.map footer > div.footer-inner a.company {
        width: 90px;
        background-image: url("../images/header_company.png"); }

  body.archive {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    body.archive header.non-home > div.header-inner {
      height: 40px; }
      body.archive header.non-home > div.header-inner span.media-history-aiea {
        display: none; }
    body.archive a.archive-link {
      color: #fff;
      position: absolute;
      z-index: 3000;
      top: 12px;
      left: 10px;
      font-size: 14px;
      text-decoration: none;
      vertical-align: middle; }
      body.archive a.archive-link::after {
        content: "▼";
        margin-left: 10px;
        font-size: 8px;
        vertical-align: 13%; }
      body.archive a.archive-link:hover {
        opacity: .8; }
    body.archive ul.archive-link {
      display: none;
      position: absolute;
      margin: 0;
      top: 40px;
      left: 0px;
      background-color: rgba(0, 0, 0, 0.85);
      padding: 13px 0;
      width: 60px; }
      body.archive ul.archive-link li {
        list-style: none;
        text-align: center;
        color: white; }
      body.archive ul.archive-link li, body.archive ul.archive-link li > a {
        font-size: 14px;
        line-height: 20px;
        text-decoration: none;
        color: inherit;
        color: white;
        font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; } }
@media only screen and (min-width: 768px) {
  div.menu {
    display: none;
    background-color: rgba(0, 0, 0, 0.85);
    padding: 13px 0;
    position: relative; }
    div.menu ul {
      margin: 0;
      padding: 0; }
      div.menu ul li {
        list-style: none;
        text-align: center;
        color: white; }
      div.menu ul li, div.menu ul li > a {
        font-size: 14px;
        line-height: 39px;
        text-decoration: none;
        color: inherit;
        color: white;
        font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }
    div.menu .sp {
      display: none; }
    div.menu a.menu-close-button {
      position: absolute;
      bottom: 20px;
      right: 20px;
      width: 70px;
      height: 14px;
      background-image: url("../images/bt_close.png");
      background-size: auto 14px;
      background-repeat: no-repeat; }

  header.non-home div.menu {
    position: fixed;
    top: 80px;
    width: 100%;
    margin: auto; }

  div.sns {
    text-align: right; }

  div.post.type-2 div.sns {
    margin-bottom: 10px; }

  body {
    font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }

  body.home {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    body.home div.site-inner {
      width: 980px;
      margin: 0 auto;
      position: relative; }
      body.home div.site-inner header {
        position: fixed;
        width: 980px;
        margin: 0 auto;
        z-index: 3000; }
        body.home div.site-inner header > div:first-child {
          position: relative;
          height: 80px;
          background-image: url("../images/home_header.png");
          background-size: 100% 100%; }
          body.home div.site-inner header > div:first-child > h1 {
            display: none; }
          body.home div.site-inner header > div:first-child > a.menu-button {
            position: absolute;
            display: block;
            width: 40px;
            height: 30px;
            bottom: 0;
            left: 510px; }
      body.home div.site-inner div.top-image > img {
        width: 100%;
        height: auto;
        display: block; }

  div.news div.news-header {
    height: 80px;
    background-image: url("../images/hews_header.png");
    background-size: 100% 100%;
    position: relative; }
    div.news div.news-header a.archive-link {
      color: #fff;
      position: absolute;
      top: 55px;
      left: 680px;
      font-size: 14px;
      text-decoration: none;
      vertical-align: middle; }
      div.news div.news-header a.archive-link::before {
        content: "▶︎ ";
        font-size: 10px;
        vertical-align: 13%; }
      div.news div.news-header a.archive-link:hover {
        opacity: .8; }
  div.news > div.post {
    margin: 50px 40px 110px 70px;
    border-bottom: solid 1px #59474f;
    position: relative; }
  div.news article {
    border-top: solid 1px #59474f;
    min-height: 60px; }
    div.news article p {
      margin: 0; }
    div.news article > div.date {
      float: left;
      width: 120px;
      font-size: 12px;
      line-height: 28px;
      letter-spacing: 1px; }
    div.news article > div.text {
      margin-left: 120px;
      margin-right: 270px;
      font-size: 12px;
      line-height: 26px; }
      div.news article > div.text p {
        text-align: justify; }
    div.news article > div.image {
      float: right;
      width: 260px;
      margin-left: 20px;
      margin-top: 7px;
      margin-bottom: 7px; }
      div.news article > div.image img {
        width: 100%;
        height: auto;
        display: block; }

  header.non-home {
    width: 100%;
    background-color: #5d5e5e;
    height: 80px;
    position: fixed;
    z-index: 1; }
    header.non-home > div.header-inner {
      width: 980px;
      margin: 0 auto;
      position: relative; }
      header.non-home > div.header-inner h1 {
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
        position: absolute;
        left: 200px;
        background-size: auto 15px;
        background-repeat: no-repeat;
        margin: 0;
        width: 120px; }
      header.non-home > div.header-inner div.picture {
        position: absolute;
        top: 0;
        left: 40px;
        height: 80px;
        width: 80px; }
        header.non-home > div.header-inner div.picture > img {
          display: block;
          width: 100%;
          height: auto; }
      header.non-home > div.header-inner div.menu-button {
        position: absolute;
        top: 58px;
        left: 500px;
        height: 15px;
        width: 33px;
        background-image: url("../images/menu_ico.png");
        background-size: 100%; }
        header.non-home > div.header-inner div.menu-button > a {
          display: block;
          width: 100%;
          height: 100%; }
      header.non-home > div.header-inner div.gandd-icon {
        position: absolute;
        top: 6px;
        right: 7px;
        height: 70px;
        width: 70px; }
        header.non-home > div.header-inner div.gandd-icon > a {
          display: block;
          width: 100%;
          height: auto;
          transition: all .5s;
          opacity: 1; }
          header.non-home > div.header-inner div.gandd-icon > a:hover {
            opacity: .7; }
        header.non-home > div.header-inner div.gandd-icon > a > img {
          display: block;
          width: 100%;
          height: auto; }

  body.profile-aiba header.non-home h1 {
    width: 113px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_aiba_works_text.png"); }

  body.profile-onimaru header.non-home h1 {
    width: 162px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_onimaru_works_text.png"); }

  body.profile-gandd header.non-home h1 {
    width: 113px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_gandd_works_text.png"); }

  body.architecture-aiba header.non-home h1 {
    width: 134px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_works_architecture.png"); }

  body.arts-aiba header.non-home h1 {
    width: 134px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_works_arts.png"); }

  body.branding-onimaru header.non-home h1 {
    width: 100px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_works_branding.png"); }

  body.company header.non-home h1 {
    width: 98px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_company.png"); }

  body.contact header.non-home h1 {
    width: 90px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_contact.png"); }

  body.map header.non-home h1 {
    width: 117px;
    height: 15px;
    top: 55px;
    background-image: url("../images/header_access.png"); }

  div.main {
    width: 980px;
    margin: 0 auto;
    padding-top: 80px; }

  body.home div.main {
    padding-top: 0; }

  body.single-work header.non-home > div.header-inner h1 {
    left: 220px; }
  body.single-work div.main {
    width: 980px;
    margin: 0 auto;
    padding-top: 80px; }
    body.single-work div.main > div.post {
      width: 900px;
      margin: 30px 40px 70px;
      font-size: 10px;
      line-height: 14px; }
      body.single-work div.main > div.post img.size-full {
        width: 100%;
        height: auto;
        display: block; }
      body.single-work div.main > div.post img.sp {
        display: none; }
      body.single-work div.main > div.post div.text {
        width: 100% !important;
        height: 120px;
        margin: 10px 0; }
        body.single-work div.main > div.post div.text:before, body.single-work div.main > div.post div.text:after {
          content: " ";
          display: table; }
        body.single-work div.main > div.post div.text:after {
          clear: both; }
      body.single-work div.main > div.post.type-1 div {
        line-height: 17px; }
      body.single-work div.main > div.post.type-1 div.title, body.single-work div.main > div.post.type-1 div.title-long {
        width: 180px;
        float: left; }
        body.single-work div.main > div.post.type-1 div.title p, body.single-work div.main > div.post.type-1 div.title-long p {
          margin-bottom: 0; }
          body.single-work div.main > div.post.type-1 div.title p + p, body.single-work div.main > div.post.type-1 div.title-long p + p {
            margin-top: 0; }
      body.single-work div.main > div.post.type-1 div.title-long {
        width: 460px; }
      body.single-work div.main > div.post.type-1 div.overview {
        width: 280px;
        float: left;
        margin-bottom: 30px; }
      body.single-work div.main > div.post.type-1 div.description {
        width: 440px;
        float: left;
        margin-bottom: 30px; }
      body.single-work div.main > div.post.type-2 {
        position: relative; }
        body.single-work div.main > div.post.type-2 img.main-visual {
          width: 595px;
          height: auto;
          float: left; }
        body.single-work div.main > div.post.type-2:before, body.single-work div.main > div.post.type-2:after {
          content: " ";
          display: table; }
        body.single-work div.main > div.post.type-2:after {
          clear: both; }
        body.single-work div.main > div.post.type-2 img.main-visual + div {
          float: right;
          width: 290px; }
          body.single-work div.main > div.post.type-2 img.main-visual + div div.description {
            margin-bottom: 20px; }
            body.single-work div.main > div.post.type-2 img.main-visual + div div.description p {
              margin-top: 0; }
          body.single-work div.main > div.post.type-2 img.main-visual + div div.title {
            font-weight: bold; }
          body.single-work div.main > div.post.type-2 img.main-visual + div div.title p, body.single-work div.main > div.post.type-2 img.main-visual + div div.overview p {
            margin: 0; }
          body.single-work div.main > div.post.type-2 img.main-visual + div div.overview {
            margin-bottom: 10px; }
          body.single-work div.main > div.post.type-2 img.main-visual + div img {
            width: 100%;
            height: auto; }
        body.single-work div.main > div.post.type-2 img.main-visual + div + div.images {
          width: 290px;
          float: right; }
      body.single-work div.main > div.post.type-3 .row-top {
        position: relative; }
        body.single-work div.main > div.post.type-3 .row-top:before, body.single-work div.main > div.post.type-3 .row-top:after {
          content: " ";
          display: table; }
        body.single-work div.main > div.post.type-3 .row-top:after {
          clear: both; }
        body.single-work div.main > div.post.type-3 .row-top .left {
          width: 240px;
          margin-right: 20px;
          height: 100%;
          float: left; }
        body.single-work div.main > div.post.type-3 .row-top .description {
          width: 240px;
          margin-right: 20px;
          position: absolute;
          bottom: 0;
          left: 0; }
        body.single-work div.main > div.post.type-3 .row-top img.main-visual {
          width: 640px;
          height: auto;
          float: right; }
      body.single-work div.main > div.post.type-3 .images table {
        width: 900px !important; }
        body.single-work div.main > div.post.type-3 .images table tbody > tr > td:first-child {
          width: 240px !important;
          padding-right: 20px; }
        body.single-work div.main > div.post.type-3 .images table tbody > tr > td:nth-child(2) {
          width: 640px !important; }
        body.single-work div.main > div.post.type-3 .images table tbody > tr > td img {
          width: 100% !important;
          height: auto !important; }
    body.single-work div.main div.bottom-button {
      text-align: center;
      margin-top: 60px; }
      body.single-work div.main div.bottom-button a {
        display: inline-block;
        line-height: 0; }
        body.single-work div.main div.bottom-button a img {
          height: 14px;
          width: auto; }

  div.main.work {
    margin-bottom: 80px; }
    div.main.work div.post {
      height: 250px;
      margin: 30px 40px 0 120px;
      font-size: 10px; }
      div.main.work div.post p {
        margin: 0; }
      div.main.work div.post br.sp {
        display: none; }
      div.main.work div.post:before, div.main.work div.post:after {
        content: " ";
        display: table; }
      div.main.work div.post:after {
        clear: both; }
      div.main.work div.post div.left {
        width: 380px;
        float: left; }
      div.main.work div.post p.name, div.main.work div.post p.name-en {
        font-size: 14px;
        margin-bottom: 4px; }
      div.main.work div.post p.name-en {
        margin-bottom: 12px; }
      div.main.work div.post p.title {
        line-height: 17px; }
      div.main.work div.post div.description {
        float: right;
        width: 440px;
        line-height: 16px;
        text-align: justify;
        margin-bottom: 50px; }
    div.main.work h2.work-header {
      width: 100%;
      height: 50px;
      background-color: #b7b7b7;
      color: #fff;
      font-family: "メイリオ", Meiryo, "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif;
      font-weight: normal;
      font-size: 15px;
      margin: 0 0 30px;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background-repeat: no-repeat;
      background-size: auto 14px;
      background-position: 200px 22px; }
      div.main.work h2.work-header.architecture {
        background-image: url("../images/header_works_architecture.png"); }
      div.main.work h2.work-header.arts {
        background-image: url("../images/header_works_arts.png"); }
      div.main.work h2.work-header.branding {
        background-image: url("../images/header_works_branding.png"); }
      div.main.work h2.work-header.graphics {
        background-image: url("../images/header_works_graphics.png"); }
      div.main.work h2.work-header.space {
        background-image: url("../images/header_works_space.png"); }
      div.main.work h2.work-header.event {
        background-image: url("../images/header_works_event.png"); }
    div.main.work div.work-list div.box {
      width: 980px; }
    div.main.work div.work-list div.work {
      float: left;
      width: 290px;
      height: 240px;
      overflow: hidden;
      margin-left: 15px; }
      div.main.work div.work-list div.work:nth-child(3n+1) {
        margin-left: 40px; }
      div.main.work div.work-list div.work > a {
        width: 100%;
        height: 100%;
        display: block;
        text-decoration: none;
        color: inherit; }
        div.main.work div.work-list div.work > a > div {
          width: 290px;
          height: 200px;
          overflow: hidden; }
          div.main.work div.work-list div.work > a > div > img {
            display: block;
            width: 100%;
            height: auto; }
        div.main.work div.work-list div.work > a > p.title {
          font-size: 10px;
          margin: 10px 0 20px; }

  body.company h2 {
    margin: 60px 200px 40px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background-image: url("../images/logo_b.png");
    height: 20px;
    background-size: auto 18px;
    background-repeat: no-repeat; }
  body.company div.post {
    font-size: 10px;
    line-height: 20px;
    margin-bottom: 160px; }
    body.company div.post:before, body.company div.post:after {
      content: " ";
      display: table; }
    body.company div.post:after {
      clear: both; }
    body.company div.post div.ja {
      float: left;
      width: 380px;
      margin-left: 200px; }
      body.company div.post div.ja dt {
        float: left;
        clear: both;
        width: 60px; }
      body.company div.post div.ja dd {
        margin-left: 60px; }
    body.company div.post div.en {
      float: left;
      width: 360px;
      margin-top: 9px; }

  body.map div.main {
    margin-bottom: 30px; }
  body.map .gmap {
    margin: 30px auto 30px;
    width: 900px; }
  body.map #map {
    height: 500px; }
  body.map div.logo {
    margin-top: 35px;
    margin-left: 200px;
    width: 270px;
    float: left; }
    body.map div.logo img {
      width: 100%;
      height: auto; }
  body.map div.address {
    font-size: 10px;
    line-height: 20px;
    width: 320px;
    margin-right: 40px;
    float: right; }

  body.contact div.post {
    margin-left: 200px;
    width: 500px;
    font-size: 10px;
    padding-top: 30px;
    margin-bottom: 60px; }
    body.contact div.post form > hr + p {
      margin-left: 168px; }
    body.contact div.post div.form {
      display: table-cell;
      width: 600px; }
      body.contact div.post div.form > p {
        margin: 5px 0; }
        body.contact div.post div.form > p label {
          width: 168px;
          display: block;
          float: left;
          clear: both;
          line-height: 21px; }
        body.contact div.post div.form > p span.wpcf7-form-control-wrap {
          display: block;
          margin-left: 168px; }
      body.contact div.post div.form input[type="text"], body.contact div.post div.form input[type='email'], body.contact div.post div.form input[type='tel'], body.contact div.post div.form textarea, body.contact div.post div.form select {
        width: 324px; }
      body.contact div.post div.form select {
        -moz-appearance: none;
        -webkit-appearance: none;
        -o-appearance: none;
        -ms-appearance: none;
        appearance: none;
        border-radius: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: none transparent;
        vertical-align: middle;
        font-size: inherit;
        color: inherit;
        box-sizing: content-box; }
      body.contact div.post div.form span.category > select {
        padding: 3px; }
      body.contact div.post div.form span.category {
        border: solid 1px #cccccc;
        width: 328px; }
      body.contact div.post div.form span.category:after {
        margin-top: 0px;
        border-top-style: solid;
        content: '';
        position: absolute;
        z-index: 2;
        top: 9px;
        right: 10px;
        width: 0;
        height: 0;
        border: 4px dashed;
        border-bottom: none;
        border-color: #888 transparent;
        pointer-events: none; }
      body.contact div.post div.form input[type="submit"] {
        font-size: 10px;
        line-height: 20px;
        letter-spacing: 1px;
        font-style: bold;
        border-style: none;
        color: #fff;
        background-color: #000;
        border-radius: 3px;
        padding-top: 3px;
        padding-bottom: 2px;
        margin-left: 452px;
        transition: background-color .3s; }
        body.contact div.post div.form input[type="submit"]:hover {
          background-color: #666; }

  body.company footer, body.contact footer, body.map footer {
    width: 100%;
    background-color: #5d5e5e;
    height: 50px; }
    body.company footer > div.footer-inner, body.contact footer > div.footer-inner, body.map footer > div.footer-inner {
      width: 980px;
      margin: 0 auto;
      position: relative;
      text-align: center; }
      body.company footer > div.footer-inner a, body.contact footer > div.footer-inner a, body.map footer > div.footer-inner a {
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
        display: inline-block;
        margin: 18px 30px 5px;
        background-size: auto 12px;
        background-repeat: no-repeat;
        height: 12px; }
      body.company footer > div.footer-inner a.contact, body.contact footer > div.footer-inner a.contact, body.map footer > div.footer-inner a.contact {
        width: 90px;
        background-image: url("../images/header_contact.png"); }
      body.company footer > div.footer-inner a.map, body.contact footer > div.footer-inner a.map, body.map footer > div.footer-inner a.map {
        width: 117px;
        background-image: url("../images/header_access.png"); }
      body.company footer > div.footer-inner a.company, body.contact footer > div.footer-inner a.company, body.map footer > div.footer-inner a.company {
        width: 98px;
        background-image: url("../images/header_company.png"); }

  body.archive {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    body.archive header.non-home > div.header-inner {
      height: 80px;
      background-image: url("../images/header_logo.png");
      background-size: auto 16px;
      background-position: 0 32px;
      background-repeat: no-repeat; }
      body.archive header.non-home > div.header-inner div.menu-button {
        display: none; }
      body.archive header.non-home > div.header-inner span.media-history-aiea {
        position: absolute;
        display: inline-block;
        text-align: center;
        left: 0;
        right: 0;
        bottom: 4px;
        color: #fff;
        font-size: 14px; }
    body.archive a.archive-link {
      color: #fff;
      position: absolute;
      z-index: 3000;
      top: 55px;
      left: calc( 50% + 200px);
      font-size: 14px;
      text-decoration: none;
      vertical-align: middle; }
      body.archive a.archive-link::after {
        content: "▼";
        margin-left: 10px;
        font-size: 8px;
        vertical-align: 13%; }
      body.archive a.archive-link:hover {
        opacity: .8; }
    body.archive ul.archive-link {
      display: none;
      position: absolute;
      margin: 0;
      top: 80px;
      left: calc( 50% + 120px);
      background-color: rgba(0, 0, 0, 0.85);
      padding: 13px 0;
      width: 200px; }
      body.archive ul.archive-link li {
        list-style: none;
        text-align: center;
        color: white; }
      body.archive ul.archive-link li, body.archive ul.archive-link li > a {
        font-size: 14px;
        line-height: 20px;
        text-decoration: none;
        color: inherit;
        color: white;
        font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    body.archive.category-media-history-aiba div.news article > div.text {
      margin-right: 0; } }



/*# sourceMappingURL=data:application/json;base64,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Q0FBUztRQUNMLE9BQU8sRUFBRSxHQUFHO1FBQ1osV0FBVyxFQUFFLElBQUk7UUFDakIsU0FBUyxFQUFFLEdBQUc7UUFDZCxjQUFjLEVBQUUsR0FBRztNQUV2QixpQ0FBUTtRQUNKLE9BQU8sRUFBRSxFQUFFO0lBSW5CLDRCQUFnQjtNQUNaLE9BQU8sRUFBRSxJQUFJO01BQ2IsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLENBQUM7TUFDVCxHQUFHLEVBQUUsSUFBSTtNQUNULElBQUksRUFBRSxrQkFBa0I7TUFDeEIsZ0JBQWdCLEVBQUUsbUJBQWtCO01BQ3BDLE9BQU8sRUFBRSxNQUFNO01BQ2YsS0FBSyxFQUFFLEtBQUs7TUFDWiwrQkFBRztRQUNDLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRUFBRSxLQUFrQjtNQUU3QixvRUFBVTtRQUNOLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UUgvMEJ6QixlQUFlLEVBQUUsSUFBSTtRQUNyQixLQUFLLEVBQUUsT0FBTztRR2cxQk4sS0FBSyxFQUFFLEtBQWtCO1FBQ3pCLFdBQVcsRUhsMkJWLHlJQUFtSjtJR3MyQjVKLG9FQUEwRDtNQUN0RCxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXMiOlsiX25vcm1hbGl6ZS5zY3NzIiwiX3V0aWwuc2NzcyIsInN0eWxlLnNjc3MiLCJfNzY3dW5kZXIuc2NzcyIsIl83Njh1cC5zY3NzIl0sIm5hbWVzIjpbXSwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZVJvb3QiOiIvc291cmNlLyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCJcbiRzZXJpZi1mb250OiBcIua4uOaYjuacnVwiICwgXCJZdSBNaW5jaG9cIiAsIFwi5ri45piO5pyd5L2TXCIgLCBcIll1TWluY2hvXCIgLCBcIuODkuODqeOCruODjuaYjuacnSBQcm8gVzNcIiAsIFwiSGlyYWdpbm8gTWluY2hvIFByb1wiICwgXCJIaXJhTWluUHJvTi1XM1wiICwgXCJIR1PmmI7mnJ1FXCIgLCBcIu+8re+8syDvvLDmmI7mnJ1cIiAsIFwiTVMgUE1pbmNob1wiICwgc2VyaWY7XG4kc2Fuc3NlcmlmLWZvbnQ6IFwiS296R29Qcm8tTGlnaHRcIiwgXCLlsI/loZrjgrTjgrfjg4Pjgq8gUHJvIExcIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvTiBXM1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIiwgXCLmuLjjgrTjgrfjg4Pjgq9cIiwgWXVHb3RoaWMsIFwi44Oh44Kk44Oq44KqXCIsIE1laXJ5bywgc2Fucy1zZXJpZjtcbiRtZWlyeW8tZm9udDogXCLjg6HjgqTjg6rjgqpcIiwgTWVpcnlvLCBcIktvekdvUHJvLUxpZ2h0XCIsIFwi5bCP5aGa44K044K344OD44KvIFBybyBMXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb04gVzNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OXCIsIFwi5ri444K044K344OD44KvXCIsIFl1R290aGljLCBzYW5zLXNlcmlmO1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gbm9uLWRlY28oKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG5hIGltZyB7Ym9yZGVyOm5vbmU7fSIsIkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICd1dGlsJztcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIEBpbXBvcnQgJzc2N3VuZGVyJztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAaW1wb3J0ICc3Njh1cCc7XG59XG5cbiIsIi5wYyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zc2VyaWYtZm9udDtcbn1cblxuZGl2Lm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuODUpO1xuICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIH1cbiAgICAgICAgbGksbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbm9uLWRlY28oKTsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fuc3NlcmlmLWZvbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhlYWRlci5ub24taG9tZSBkaXYubWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbmRpdi5zbnMge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuYm9keS5ob21lIHtcbiAgICBmb250LWZhbWlseTogJHNlcmlmLWZvbnQ7XG4gICAgZGl2LnNpdGUtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMzAwMDtcbiAgICAgICAgICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hvbWVfaGVhZGVyX3NwLnBuZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlLXRleHQoKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaG9tZV9sb2dvX3NwLnBuZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPiBhLm1lbnUtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lbnVfaWNvLnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMyU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnRvcC1pbWFnZSA+IGltZyxcbiAgICAgICAgZGl2LnRvcC1pbWFnZS1zcCA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5kaXYubmV3cyB7XG4gICAgZGl2Lm5ld3MtaGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9uZXdzX2hlYWRlcl9zcC5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MHB4IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUlIDIycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig5MywgOTQsIDk0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhLmFyY2hpdmUtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgLy9mb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4pa277iOIFwiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAxMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiBkaXYucG9zdCB7XG4gICAgICAgIG1hcmdpbjoxMHB4IDUlIDExMHB4O1xuICAgICAgICAvL2JvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2IoODksIDcxLCA3OSk7XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2IoODksIDcxLCA3OSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYuZGF0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMCAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYudGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDdweCAwO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuZGl2Lm1haW4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuXG5ib2R5LmhvbWUgZGl2Lm1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG5oZWFkZXIubm9uLWhvbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig5MywgOTQsIDk0KTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgPiBkaXYuaGVhZGVyLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IDk0JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1JSAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnBpY3R1cmUgeyAgICAgICAgICAgIFxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBkaXYubWVudS1idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lbnVfaWNvLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDE0cHg7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5nYW5kZC1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGEgPiBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkucHJvZmlsZS1haWJhIGhlYWRlci5ub24taG9tZSBoMSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX2FpYmFfd29ya3NfdGV4dC5wbmcnKTtcbn1cblxuYm9keS5wcm9maWxlLW9uaW1hcnUgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfb25pbWFydV93b3Jrc190ZXh0LnBuZycpO1xufVxuXG5ib2R5LnByb2ZpbGUtZ2FuZGQgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfZ2FuZGRfd29ya3NfdGV4dC5wbmcnKTtcbn1cblxuYm9keS5hcmNoaXRlY3R1cmUtYWliYSB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2FyY2hpdGVjdHVyZS5wbmcnKTtcbiAgICB9ICAgIFxufVxuYm9keS5hcnRzLWFpYmEge1xuICAgIGhlYWRlci5ub24taG9tZSBoMSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19hcnRzLnBuZycpO1xuICAgIH0gICAgXG59XG5cblxuYm9keS5icmFuZGluZy1vbmltYXJ1IHtcbiAgICBoZWFkZXIubm9uLWhvbWUgaDEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3NfYnJhbmRpbmcucG5nJyk7XG4gICAgfSAgICBcbn1cblxuYm9keS5ncmFwaGljcy1nYW5kZCB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2dyYXBoaWNzLnBuZycpO1xuICAgIH0gICAgXG59XG5cblxuXG5ib2R5LmNvbXBhbnkge1xuICAgIGhlYWRlci5ub24taG9tZSBoMSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl9jb21wYW55LnBuZycpO1xuICAgIH0gICAgXG59XG5cbmJvZHkuY29udGFjdCB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX2NvbnRhY3QucG5nJyk7XG4gICAgfVxufVxuXG5ib2R5Lm1hcCB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX2FjY2Vzcy5wbmcnKTtcbiAgICB9XG59XG5cblxuYm9keS5zaW5nbGUtd29yayB7XG5cbiAgICBoZWFkZXIubm9uLWhvbWUge1xuICAgICAgICA+IGRpdi5oZWFkZXItaW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGl2LnBpY3R1cmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGl2Lm1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgPiBkaXYucG9zdCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nLnNpemUtZnVsbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcucGMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXYudGV4dCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nLm1haW4tdmlzdWFsICsgZGl2IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2LnRpdGxlLCBkaXYudGl0bGUtbG9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHAudGl0bGUtMSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2IoODksIDcxLCA3OSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICBkaXYub3ZlcnZpZXcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2IoODksIDcxLCA3OSk7XG5cbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICBkaXYuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGl2LmltYWdlcyB7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgNSU7XG4gICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnR5cGUtMyB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuICAgICAgICBkaXYuYm90dG9tLWJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRpdi5tYWluLndvcmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICA+IGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2NXB4O1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIGRpdi5wb3N0IHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XG4gICAgICAgIGJyLnBjIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmxlZnQge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMCAxMjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcC5uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgcC5uYW1lLWVuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAudGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgaDIud29yay1oZWFkZXIge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4MywgMTgzLCAxODMpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtZWlyeW8tZm9udDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBoaWRlLXRleHQoKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDclIDIycHg7XG4gICAgICAgICYuYXJjaGl0ZWN0dXJlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19hcmNoaXRlY3R1cmUucG5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFydHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2FydHMucG5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJyYW5kaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19icmFuZGluZy5wbmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JhcGhpY3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2dyYXBoaWNzLnBuZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zcGFjZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3Nfc3BhY2UucG5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV2ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19ldmVudC5wbmcnKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgZGl2LndvcmstbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGRpdi5ib3gge1xuICAgICAgICB9XG4gICAgICAgIGRpdi53b3JrIHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDUlO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSl7XG4vLyAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5vbi1kZWNvKCk7XG5cbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPiBwLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfSAgIFxufVxuXG5ib2R5LmNvbXBhbnkge1xuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMTBweDtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xvZ29fYi5wbmcnKTtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjYxcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICBkaXYucG9zdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIGRpdi5qYSB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDUlIDMwcHg7XG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmVuIHtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5ib2R5Lm1hcCB7XG4gICAgLmdtYXAge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgICAjbWFwIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG4gICAgZGl2LmxvZ28ge1xuICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1JSAxMHB4O1xuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXYuYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gICAgfVxufVxuXG5ib2R5LmNvbnRhY3Qge1xuICAgIGRpdi5wb3N0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2MHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byA2MHB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG5cbiAgICAgICAgZGl2LmZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNjhweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT0nZW1haWwnXSwgaW5wdXRbdHlwZT0ndGVsJ10ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0YXJlYSzjgIBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NyU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuLndwY2Y3LWZvcm0tY29udHJvbC13cmFwLmNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogYm9sZDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgfVxufVxuXG5ib2R5LmNvbXBhbnksIGJvZHkuY29udGFjdCwgYm9keS5tYXAge1xuICAgIGZvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTMsIDk0LCA5NCk7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgPiBkaXYuZm9vdGVyLWlubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlLXRleHQoKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNHB4IDVweCA1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3OHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oZWFkZXJfY29udGFjdC5wbmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLm1hcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hlYWRlcl9hY2Nlc3MucG5nXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5jb21wYW55IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyX2NvbXBhbnkucG5nXCIpO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5ib2R5LmFyY2hpdmUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udDtcbiAgICBoZWFkZXIubm9uLWhvbWUgPiBkaXYuaGVhZGVyLWlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyX2xvZ28ucG5nXCIpO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTZweDtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMCAzMnB4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBzcGFuLm1lZGlhLWhpc3RvcnktYWllYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLy8gbGVmdDogMDtcbiAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLy8gYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAvLyBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhLmFyY2hpdmUtbGluayB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDMwMDA7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAvL2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4pa8XCI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IDEzJTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICB9XG4gICAgfSAgICAgICAgICAgICAgIFxuXG4gICAgdWwuYXJjaGl2ZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC44NSk7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICB9XG4gICAgICAgIGxpLGxpID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG5vbi1kZWNvKCk7ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNlcmlmLWZvbnQ7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAvLyAmLmNhdGVnb3J5LW1lZGlhLWhpc3RvcnktYWliYSBkaXYubmV3cyBhcnRpY2xlID4gZGl2LnRleHQge1xuICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgLy8gfVxufVxuXG5cblxuXG4iLCJkaXYubWFpbiB7XG5cbn1cblxuZGl2Lm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuODUpO1xuICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICB9XG4gICAgICAgIGxpLGxpID4gYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG5vbi1kZWNvKCk7ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnNzZXJpZi1mb250O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGEubWVudS1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2J0X2Nsb3NlLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbn1cblxuaGVhZGVyLm5vbi1ob21lIGRpdi5tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuZGl2LnNucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmRpdi5wb3N0LnR5cGUtMiB7XG4gICAgZGl2LnNucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJHNhbnNzZXJpZi1mb250O1xufVxuXG5ib2R5LmhvbWUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udDtcbiAgICBkaXYuc2l0ZS1pbm5lciB7XG4gICAgICAgIHdpZHRoOiA5ODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiA5ODBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMzAwMDtcbiAgICAgICAgICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hvbWVfaGVhZGVyLnBuZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgICAgID4gaDEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGEubWVudS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYudG9wLWltYWdlID4gaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRpdi5uZXdzIHtcbiAgICBkaXYubmV3cy1oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hld3NfaGVhZGVyLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYS5hcmNoaXZlLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgICAgICBsZWZ0OiA2ODBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIuKWtu+4jiBcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IDEzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICAgICAgICAgXG4gICAgfVxuICAgID4gZGl2LnBvc3Qge1xuICAgICAgICBtYXJnaW46IDUwcHggNDBweCAxMTBweCA3MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiKDg5LCA3MSwgNzkpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB9XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYig4OSwgNzEsIDc5KTtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYuZGF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdi50ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGRpdi5pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbmhlYWRlci5ub24taG9tZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDkzLCA5NCwgOTQpO1xuICAgIGhlaWdodDogODBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICA+IGRpdi5oZWFkZXItaW5uZXIge1xuICAgICAgICB3aWR0aDogOTgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhpZGUtdGV4dCgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7ICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2LnBpY3R1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYubWVudS1idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1OHB4O1xuICAgICAgICAgICAgbGVmdDogNTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tZW51X2ljby5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuZ2FuZGQtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGEgPiBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkucHJvZmlsZS1haWJhIGhlYWRlci5ub24taG9tZSBoMSB7XG4gICAgd2lkdGg6IDExM3B4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICB0b3A6IDU1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX2FpYmFfd29ya3NfdGV4dC5wbmcnKTtcbn1cblxuYm9keS5wcm9maWxlLW9uaW1hcnUgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICB3aWR0aDogMTYycHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHRvcDogNTVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfb25pbWFydV93b3Jrc190ZXh0LnBuZycpO1xufVxuXG5ib2R5LnByb2ZpbGUtZ2FuZGQgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICB3aWR0aDogMTEzcHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHRvcDogNTVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfZ2FuZGRfd29ya3NfdGV4dC5wbmcnKTtcbn1cblxuYm9keS5hcmNoaXRlY3R1cmUtYWliYSB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgd2lkdGg6IDEzNHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2FyY2hpdGVjdHVyZS5wbmcnKTtcbiAgICB9ICAgIFxufVxuXG5ib2R5LmFydHMtYWliYSB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgd2lkdGg6IDEzNHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX2FydHMucG5nJyk7XG4gICAgfSAgICBcbn1cblxuYm9keS5icmFuZGluZy1vbmltYXJ1IHtcbiAgICBoZWFkZXIubm9uLWhvbWUgaDEge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3NfYnJhbmRpbmcucG5nJyk7XG4gICAgfSAgICBcbn1cblxuYm9keS5jb21wYW55IHtcbiAgICBoZWFkZXIubm9uLWhvbWUgaDEge1xuICAgICAgICB3aWR0aDogOThweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl9jb21wYW55LnBuZycpO1xuICAgIH0gICAgXG59XG5cbmJvZHkuY29udGFjdCB7XG4gICAgaGVhZGVyLm5vbi1ob21lIGgxIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfY29udGFjdC5wbmcnKTtcbiAgICB9XG59XG5cbmJvZHkubWFwIHtcbiAgICBoZWFkZXIubm9uLWhvbWUgaDEge1xuICAgICAgICB3aWR0aDogMTE3cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfYWNjZXNzLnBuZycpO1xuICAgIH1cbn1cblxuXG5cbmRpdi5tYWluIHtcbiAgICB3aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG59XG5cbmJvZHkuaG9tZSBkaXYubWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbmJvZHkuc2luZ2xlLXdvcmsge1xuICAgIGhlYWRlci5ub24taG9tZSB7XG4gICAgICAgID4gZGl2LmhlYWRlci1pbm5lciB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMjIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYubWFpbiB7XG4gICAgICAgIHdpZHRoOiA5ODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgICA+IGRpdi5wb3N0IHtcbiAgICAgICAgICAgIHdpZHRoOiA5MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCA0MHB4IDcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGltZy5zaXplLWZ1bGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZy5zcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdi50ZXh0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50eXBlLTEge1xuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXYudGl0bGUsIGRpdi50aXRsZS1sb25nIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAmICsgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICAgICAgZGl2LnRpdGxlLWxvbmcge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ2MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRpdi5vdmVydmlldyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NDBweDtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyBcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudHlwZS0yIHtcbiAgICAgICAgICAgICAgICBpbWcubWFpbi12aXN1YWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTk1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICAgICAgICAgIGltZy5tYWluLXZpc3VhbCArIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI5MHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXYuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGl2LnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRpdi50aXRsZSwgZGl2Lm92ZXJ2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkaXYub3ZlcnZpZXcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLm1haW4tdmlzdWFsICsgZGl2ICsgZGl2LmltYWdlcyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50eXBlLTMge1xuICAgICAgICAgICAgICAgIC5yb3ctdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcubWFpbi12aXN1YWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWFnZXMge1xuICAgICAgICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRib2R5ID4gdHIgPiB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NDBweCAhaW1wb3J0YW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRib2R5ID4gdHIgPiB0ZCBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICAgIGRpdi5ib3R0b20tYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRpdi5tYWluLndvcmsge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgZGl2LnBvc3Qge1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggNDBweCAwIDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIGJyLnNwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICBkaXYubGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogMzgwcHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICBwLm5hbWUsIHAubmFtZS1lbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgcC5uYW1lLWVuIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgcC50aXRsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgfVxuICAgICAgICBkaXYuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTo1MHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMi53b3JrLWhlYWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxODMsIDE4MywgMTgzKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbWVpcnlvLWZvbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDBweCAyMnB4O1xuICAgICAgICAmLmFyY2hpdGVjdHVyZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3NfYXJjaGl0ZWN0dXJlLnBuZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hcnRzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19hcnRzLnBuZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5icmFuZGluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3NfYnJhbmRpbmcucG5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyYXBoaWNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlcl93b3Jrc19ncmFwaGljcy5wbmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3BhY2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaGVhZGVyX3dvcmtzX3NwYWNlLnBuZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ldmVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJfd29ya3NfZXZlbnQucG5nJyk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGRpdi53b3JrLWxpc3Qge1xuICAgICAgICBkaXYuYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiA5ODBweDtcbiAgICAgICAgfVxuICAgICAgICBkaXYud29yayB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbisxKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5vbi1kZWNvKCk7XG5cbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IHAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9ICAgXG59XG5cbmJvZHkuY29tcGFueSB7XG4gICAgZGl2Lm1haW4ge1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogNjBweCAyMDBweCA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBoaWRlLXRleHQoKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9nb19iLnBuZycpO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICBkaXYucG9zdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2MHB4O1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICBkaXYuamEge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzgwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAwcHg7XG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmVuIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4OyAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuYm9keS5tYXAge1xuICAgIGRpdi5tYWluIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgLmdtYXAge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4O1xuICAgICAgICB3aWR0aDogOTAwcHg7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIH1cbiAgICBkaXYubG9nbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMDBweDtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGl2LmFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgfVxufVxuXG5ib2R5LmNvbnRhY3Qge1xuICAgIGRpdi5wb3N0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgZm9ybSA+IGhyICsgcCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTY4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYuZm9ybSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2OHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTY4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPSdlbWFpbCddLCBpbnB1dFt0eXBlPSd0ZWwnXSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgLW8tYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICB9XG5cbnNwYW4uY2F0ZWdvcnkgPiBzZWxlY3Qge1xuICBwYWRkaW5nOiAzcHg7XG59XG5zcGFuLmNhdGVnb3J5IHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCByZ2IoMjA0LCAyMDQsIDIwNCk7XG4gIHdpZHRoOiAzMjhweDtcbn1cblxuc3Bhbi5jYXRlZ29yeTphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogOXB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogYm9sZDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NTJweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keS5jb21wYW55LCBib2R5LmNvbnRhY3QsIGJvZHkubWFwIHtcbiAgICBmb290ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDkzLCA5NCwgOTQpO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgID4gZGl2LmZvb3Rlci1pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogOTgwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGUtdGV4dCgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE4cHggMzBweCA1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oZWFkZXJfY29udGFjdC5wbmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLm1hcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDExN3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oZWFkZXJfYWNjZXNzLnBuZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuY29tcGFueSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hlYWRlcl9jb21wYW55LnBuZ1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LmFyY2hpdmUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udDtcbiAgICBoZWFkZXIubm9uLWhvbWUgPiBkaXYuaGVhZGVyLWlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyX2xvZ28ucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAzMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBkaXYubWVudS1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLm1lZGlhLWhpc3RvcnktYWllYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuYXJjaGl2ZS1saW5rIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMzAwMDtcbiAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICBsZWZ0OiBjYWxjKCA1MCUgKyAyMDBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgLy9mb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIuKWvFwiO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAxMyU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgfVxuICAgIH0gICAgICAgICAgICAgICBcblxuICAgIHVsLmFyY2hpdmUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIGxlZnQ6IGNhbGMoIDUwJSArIDEyMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuODUpO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIH1cbiAgICAgICAgbGksbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbm9uLWRlY28oKTsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWYtZm9udDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgICYuY2F0ZWdvcnktbWVkaWEtaGlzdG9yeS1haWJhIGRpdi5uZXdzIGFydGljbGUgPiBkaXYudGV4dCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbiJdfQ== */
