﻿@charset "UTF-8";
/*
*
フォント周り
*
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanjp.css");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
*
スタイルリセット
*
*/
a img {
  border-style: none;
}

h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, figure, p {
  margin: 0;
  padding: 0;
}

ul, li {
  list-style: none;
}

/*
layout
*/
/*
z-index
*/
/*
color
*/
/*
pxをvwに変換

ウインドウ幅1400pxに対して要素幅50pxの場合
getvw(50,1400)となる
*/
/*
メディアクエリ
記述例
body{
  @include ms-w('max',1200){
    background-color: red;
  }
}
*/
/*
FONT
*/
/*
ICON FONT
*/
/*
*
全ページに共有されるスタイル
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
html, body {
  width: 100%;
  font-size: 16px;
  /*@include media.pc{
    @include mixin.ms-w('max',1400){
      font-size: 14px;
    }
    @include mixin.ms-w('max',1200){
      font-size: 12px;
    }
  }*/
}

html {
  height: 100%;
  overflow: auto;
}

body {
  font-family: YakuHanJP, "Zen Kaku Gothic New", Meiryo, sans-serif;
  font-feature-settings: "palt";
  /*ipad 文字サイズ対策*/
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

main {
  width: 100%;
  display: block;
  overflow: hidden;
}
@media only screen and (min-width:768px) {
  main {
    min-width: 1200px;
  }
}

/*
全要素にborder-box
*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

a {
  color: inherit;
  text-decoration: none;
}

img {
  vertical-align: top;
  max-width: 100%;
}

.inline-block {
  display: inline-block;
}

.text-align-right {
  text-align: right;
}

.text-align-left {
  text-align: left;
}

.text-align-center {
  text-align: center;
}

button.accordion-trigger {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
  cursor: pointer;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*
noto sans weight

Regular 400
Medium 500
SemiBold 600
Bold 700
ExtraBold 800
Black 900
*/
.font-notosansjp {
  font-family: "Noto Sans JP", sans-serif;
}

.font-notosans {
  font-family: "Noto Sans", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.font-notoserifjp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.font-zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}

@font-face {
  font-family: "icons";
  src: url("../../fonts/icons.eot");
  src: url("../../fonts/icons.eot?#iefix") format("eot"), url("../../fonts/icons.woff") format("woff"), url("../../fonts/icons.ttf") format("truetype"), url("../../fonts/icons.svg#icons") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icons-], [class*=" icons-"] {
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icons-arrow-a:before {
  content: "\ea01";
}

.icons-arrow-b:before {
  content: "\ea02";
}

.icons-blank:before {
  content: "\ea03";
}

.icons-play:before {
  content: "\ea04";
}

.icons-close:before {
  content: "\ea05";
}

.icons-arrow-c:before {
  content: "\ea06";
}

/*
mixin
*/
/*
*
共有ヘッダー
*
*/
/*
ハンバーガー用キーフレーム
*/
@keyframes bar1-on {
  0% {
    transform: translateY(-2.1333333333vw);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0) rotate(135deg);
  }
}
@keyframes bar1-off {
  0% {
    transform: translateY(0) rotate(135deg);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-2.1333333333vw);
  }
}
@keyframes bar2-on {
  0% {
    transform: translateY(1.8666666667vw);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0) rotate(-135deg);
  }
}
@keyframes bar2-off {
  0% {
    transform: translateY(0) rotate(-135deg);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.8666666667vw);
  }
}
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.header {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: #F5F3F2;
}
@media only screen and (min-width:768px) {
  .header {
    height: 100px;
  }
}
@media only screen and (max-width:767px) {
  .header {
    height: 10.6666666667vw;
  }
}
@media only screen and (min-width:768px) {
  .header {
    min-width: 1200px;
  }
}
@media only screen and (min-width:768px) {
  .header header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    padding: 0 24px;
  }
}
@media only screen and (max-width:767px) {
  .header header {
    padding: 0 0 0 2.6666666667vw;
    height: 10.6666666667vw;
  }
}
.header-logo {
  height: 100%;
}
.header-logo h1 {
  display: inline-block;
  height: 100%;
}
.header-logo-wrapper {
  height: 100%;
  display: flex;
  align-items: center;
}
@media only screen and (min-width:768px) {
  .header-logo-wrapper {
    gap: 24px;
  }
}
@media only screen and (max-width:767px) {
  .header-logo-wrapper {
    gap: 10px;
  }
}
@media only screen and (min-width:768px) {
  .header-logo-pic {
    width: 145px;
  }
}
@media only screen and (max-width:767px) {
  .header-logo-pic {
    width: 16vw;
  }
}
@media only screen and (max-width:767px) {
  .header-logo-pic {
    height: 4vw;
  }
}
.header-logo-txt {
  font-weight: 600;
  white-space: nowrap;
}
@media only screen and (min-width:768px) {
  .header-logo-txt {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .header-logo-txt {
    font-size: 2.6666666667vw;
  }
}
.header-menu-toggle {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0 2.6666666667vw;
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (min-width:768px) {
  .header-menu-toggle {
    display: none;
  }
}
.header-menu-toggle-bars {
  width: 100%;
  height: 1px;
  background-color: black;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.6s;
}
.header-menu-toggle-bars::before, .header-menu-toggle-bars::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: black;
  position: absolute;
  top: 50%;
  will-change: transform;
  transition: transform 0.2s;
}
.header-menu-toggle-bars::before {
  animation: bar1-off 0.6s forwards;
}
.header-menu-toggle-bars::after {
  animation: bar2-off 0.6s forwards;
}
.header-menu-toggle[data-open=true] .header-menu-toggle-bars {
  background-color: #F5F3F2;
}
.header-menu-toggle[data-open=true] .header-menu-toggle-bars::before {
  animation: bar1-on 0.6s forwards;
}
.header-menu-toggle[data-open=true] .header-menu-toggle-bars::after {
  animation: bar2-on 0.6s forwards;
}
.header-menu {
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (min-width:768px) {
  .header-menu {
    margin-left: auto;
  }
  .header-menu[hidden] {
    display: block;
  }
  .header-menu-inner {
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width:768px) and (min-width:768px) {
  .header-menu-nav > ul {
    display: flex;
  }
}
@media only screen and (min-width:768px) {
  .header-menu-nav > ul > li {
    position: relative;
    display: inline-block;
    font-weight: 600;
  }
}
@media only screen and (min-width:768px) and (min-width:768px) {
  .header-menu-nav > ul > li {
    font-size: clamp(14px, 1.0714285714vw, 18px);
  }
}
@media only screen and (min-width:768px) and (max-width:767px) {
  .header-menu-nav > ul > li {
    font-size: 18px;
  }
}
@media only screen and (min-width:768px) {
  .header-menu-nav > ul > li a {
    display: inline-block;
    height: 100px;
    display: flex;
    align-items: center;
    padding: 0 1.5625vw;
  }
}
@media only screen and (min-width:768px) and (hover: hover) {
  .header-menu-nav > ul > li a:hover {
    opacity: 0.5;
  }
}
@media only screen and (min-width:768px) {
  .header-menu-nav > ul > li .-en, .header-menu-nav > ul > li .-bar {
    display: none;
  }
}
@media only screen and (min-width:768px) and (hover: hover) {
  .header-menu-nav > ul > li:has(.header-menu-nav-drop):hover .header-menu-nav-drop {
    visibility: visible;
    pointer-events: auto;
  }
  .header-menu-nav > ul > li:has(.header-menu-nav-drop):hover .header-menu-nav-drop-inner {
    transform: translateY(0);
    opacity: 1;
  }
}
@media only screen and (min-width:768px) {
  .header-menu-nav > ul > li .header-menu-nav-drop {
    position: absolute;
    top: 100px;
    visibility: hidden;
    transition: 0.4s;
    pointer-events: none;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop.-pos-left {
    left: -100px;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop.-pos-center {
    left: 50%;
    transform: translateX(-50%);
  }
  .header-menu-nav > ul > li .header-menu-nav-drop.-pos-right {
    right: -100px;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop-inner {
    display: inline-block;
    background-color: #F5F3F2;
    border-radius: 999px;
    margin-top: 20px;
    padding: 40px 100px;
    transform: translateY(-40px);
    will-change: transform;
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s;
    opacity: 0;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop-title {
    font-size: 22px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop-title .-en {
    display: inline-block;
    font-size: 40px;
    font-family: "Noto Sans", sans-serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-weight: 700;
    color: #F5F3F2;
    -webkit-text-stroke: 1px #E5234C;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop-title .-bar {
    display: inline-block;
    margin: 0 0.2em;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul {
    margin-top: 30px;
    display: inline-flex;
    gap: 20px 3.125vw;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    white-space: nowrap;
    height: auto;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li::before {
    content: "\ea01";
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px;
    margin-right: 0.75em;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li:nth-of-type(1)::before {
    color: #68BDC3;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li:nth-of-type(2)::before {
    color: #FFC33C;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li:nth-of-type(3)::before {
    color: #9D79C9;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li:nth-of-type(4)::before {
    color: #6CB252;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop ul > li a {
    height: auto;
    padding: 0;
  }
}
@media only screen and (max-width:767px) {
  .header-menu {
    background-color: #F5F3F2;
    width: 100vw;
    height: calc(100lvh - 10.6666666667vw);
    position: fixed;
    top: 10.6666666667vw;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    z-index: 1000;
    visibility: visible;
    opacity: 1;
    transition: 0.4s;
  }
  .header-menu[hidden] {
    display: block;
    visibility: hidden;
    opacity: 0;
  }
  .header-menu[hidden] .header-menu-inner {
    transform: translateY(0);
  }
  .header-menu-inner {
    padding: 6.1333333333vw 0 20vw;
    width: 89.3333333333vw;
    margin-inline: auto;
    transition: 0.4s;
    transform: translateY(5vh);
    will-change: transform;
  }
  .header-menu-nav > ul > li {
    font-size: clamp(10px, 3.7333333333vw, 15px);
    font-weight: 600;
  }
  .header-menu-nav > ul > li:nth-child(n+2) {
    margin-top: 16px;
  }
  .header-menu-nav > ul > li .header-menu-nav-drop-title {
    display: none;
  }
  .header-menu-nav > ul > li .-en {
    font-size: clamp(10px, 4.8vw, 22px);
    font-family: "Noto Sans", sans-serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-weight: 900;
    color: #F5F3F2;
    -webkit-text-stroke: 0.5px #E5234C;
  }
  .header-menu-nav > ul > li .-bar {
    margin: 0 0.2em;
  }
  .header-menu-nav > ul > li ul {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 15px;
  }
  .header-menu-nav > ul > li ul > li {
    display: inline-block;
    font-size: 13px;
    white-space: nowrap;
  }
  .header-menu-nav > ul > li ul > li::before {
    content: "\ea01";
    display: inline-block;
    font-family: "icons";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 9px;
    margin-right: 0.5em;
  }
  .header-menu-nav > ul > li ul > li:nth-of-type(1)::before {
    color: #68BDC3;
  }
  .header-menu-nav > ul > li ul > li:nth-of-type(2)::before {
    color: #FFC33C;
  }
  .header-menu-nav > ul > li ul > li:nth-of-type(3)::before {
    color: #9D79C9;
  }
  .header-menu-nav > ul > li ul > li:nth-of-type(4)::before {
    color: #6CB252;
  }
}
.header-entry {
  background-color: #E5234C;
  color: white;
  border-radius: 100px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-left: 2.96875vw;
  transition: 0.2s;
  border: 1px solid black;
  box-shadow: 5px 5px 0 0 black;
}
@media only screen and (min-width:768px) {
  .header-entry {
    width: 166px;
  }
}
@media only screen and (max-width:767px) {
  .header-entry {
    width: 240px;
  }
}
@media only screen and (min-width:768px) {
  .header-entry {
    height: 64px;
  }
}
@media only screen and (max-width:767px) {
  .header-entry {
    height: 38px;
  }
}
@media only screen and (min-width:768px) {
  .header-entry {
    font-size: 24px;
  }
}
@media only screen and (max-width:767px) {
  .header-entry {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .header-entry {
    margin-top: 40px;
    margin-inline: auto;
  }
}
@media (hover: hover) {
  .header-entry:hover {
    transform: translate(2px, 2px);
    box-shadow: 3px 3px 0 0 black;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*
*
共有フッター
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.footer {
  position: relative;
  padding-bottom: 40px;
}
@media only screen and (min-width:768px) {
  .footer {
    min-width: 1200px;
  }
}
.footer::after {
  content: "";
  display: block;
  height: 50%;
  width: 100%;
  background-color: black;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 5;
}
.footer-inner {
  position: relative;
  z-index: 10;
}
@media only screen and (min-width:768px) {
  .footer-inner {
    padding-top: 143px;
  }
}
@media only screen and (max-width:767px) {
  .footer-inner {
    padding-top: 103px;
  }
}
.footer-shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.footer-shape svg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (min-width:768px) {
  .footer-shape svg {
    width: clamp(3225px, 167.96875vw, 99999px);
  }
}
@media only screen and (max-width:767px) {
  .footer-shape svg {
    width: 218.1333333333vw;
  }
}
@media only screen and (min-width:768px) {
  .footer-shape svg {
    height: clamp(2189px, 114.0104166667vw, 99999px);
  }
}
@media only screen and (max-width:767px) {
  .footer-shape svg {
    height: 196.8vw;
  }
}
@media only screen and (min-width:768px) {
  .footer-shape svg.pc {
    /*.ell{
      cx:1612;
      cy:1094;
      rx:1612;
      ry:1094;
    }*/
  }
  .footer-shape svg.sp {
    display: none;
  }
}
@media only screen and (max-width:767px) {
  .footer-shape svg.sp {
    /*.ell{
      cx:409;
      cy:369;
      rx:409;
      ry:369;
    }*/
  }
  .footer-shape svg.pc {
    display: none;
  }
}
.footer-contents {
  position: relative;
  z-index: 10;
}
.footer-logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width:768px) {
  .footer-logo-wrapper {
    gap: 24px;
  }
}
@media only screen and (max-width:767px) {
  .footer-logo-wrapper {
    gap: 10px;
  }
}
@media only screen and (min-width:768px) {
  .footer-logo-pic {
    width: 145px;
  }
}
@media only screen and (max-width:767px) {
  .footer-logo-pic {
    width: clamp(100px, 21.8666666667vw, 164px);
  }
}
.footer-logo-txt {
  font-weight: 600;
  white-space: nowrap;
  color: white;
}
@media only screen and (min-width:768px) {
  .footer-logo-txt {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .footer-logo-txt {
    font-size: clamp(10px, 3.2vw, 24px);
  }
}
.footer-menu {
  margin-inline: auto;
}
@media only screen and (min-width:768px) {
  .footer-menu {
    margin-top: 69px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu {
    margin-top: 14.9333333333vw;
  }
}
@media only screen and (min-width:768px) {
  .footer-menu {
    width: 1030px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu {
    width: 89.3333333333vw;
  }
}
.footer-menu-nav a {
  transition: 0.2s;
}
@media (hover: hover) {
  .footer-menu-nav a:hover {
    opacity: 0.5;
  }
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    max-height: 210px;
  }
}
.footer-menu-nav > ul > li {
  color: white;
  font-weight: 600;
  line-height: 1.5em;
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li {
    font-size: clamp(10px, 3.7333333333vw, 18px);
  }
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li:nth-child(3), .footer-menu-nav > ul > li:nth-child(4) {
    margin-top: 20px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li {
    margin-top: 4vw;
  }
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul {
    margin-top: 11px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul {
    margin-top: 2.1333333333vw;
    display: flex;
    flex-wrap: wrap;
  }
}
.footer-menu-nav > ul > li > ul:not(.-entry) > li {
  font-weight: 400;
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li {
    font-size: 14px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li {
    font-size: clamp(10px, 3.2vw, 16px);
  }
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li {
    padding-left: 15px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li {
    padding: 0 2.1333333333vw;
  }
}
.footer-menu-nav > ul > li > ul:not(.-entry) > li::before {
  content: "\ea01";
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li::before {
    margin-right: 10px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li::before {
    margin-right: 0.5em;
  }
}
.footer-menu-nav > ul > li > ul:not(.-entry) > li > a {
  display: inline-block;
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li > a {
    padding: 5px 0;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul:not(.-entry) > li > a {
    padding: 1.0666666667vw 0;
  }
}
.footer-menu-nav > ul > li > ul:not(.-entry) > li > a[target=_blank]::after {
  content: "\ea03";
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  margin-left: 0.5em;
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul.-entry {
    margin-top: 17px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul.-entry {
    margin-top: 2.2666666667vw;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}
@media only screen and (min-width:768px) {
  .footer-menu-nav > ul > li > ul.-entry > li {
    font-size: 16px;
    height: 39px;
    width: 178px;
  }
}
@media only screen and (max-width:767px) {
  .footer-menu-nav > ul > li > ul.-entry > li {
    font-size: 16px;
    height: 40px;
    width: 48.6666666667vw;
  }
}
.footer-menu-nav > ul > li > ul.-entry > li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 100px;
}
.footer-menu-nav > ul > li > ul.-entry > li:nth-child(1) a {
  background-color: #68BDC3;
}
.footer-menu-nav > ul > li > ul.-entry > li:nth-child(2) a {
  background-color: #FFC33C;
}
.footer-menu-nav > ul > li > ul.-entry > li:nth-child(3) a {
  background-color: #9D79C9;
}
@media only screen and (min-width:768px) {
  .footer-bottom {
    width: 1120px;
    margin-top: 70px;
    margin-inline: auto;
    position: relative;
  }
}
@media only screen and (max-width:767px) {
  .footer-bottom {
    margin-top: 7.4666666667vw;
    width: 89.3333333333vw;
    margin-inline: auto;
  }
}
@media only screen and (min-width:768px) {
  .footer-links {
    position: absolute;
    top: 0;
    right: 0;
  }
}
.footer-links ul {
  display: flex;
}
@media only screen and (max-width:767px) {
  .footer-links ul {
    justify-content: flex-end;
  }
}
.footer-links ul li {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  color: white;
  padding: 0 0.5em;
}
@media only screen and (min-width:768px) {
  .footer-links ul li {
    font-size: 14px;
  }
}
@media only screen and (max-width:767px) {
  .footer-links ul li {
    font-size: clamp(10px, 3.2vw, 14px);
  }
}
.footer-links ul li:nth-child(n+2) {
  border-left: 1px solid white;
}
.footer-links ul li a {
  transition: 0.2s;
}
@media (hover: hover) {
  .footer-links ul li a:hover {
    opacity: 0.5;
  }
}
.footer-copyright {
  text-align: center;
  color: white;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}
@media only screen and (min-width:768px) {
  .footer-copyright {
    font-size: 14px;
  }
}
@media only screen and (max-width:767px) {
  .footer-copyright {
    font-size: clamp(10px, 3.2vw, 14px);
  }
}
@media only screen and (max-width:767px) {
  .footer-copyright {
    margin-top: 4.2666666667vw;
  }
}
.footer-to-top {
  position: absolute;
  top: 51px;
  right: 28px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid black;
  font-size: 18px;
  font-weight: 600;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  transition: 0.2s;
  will-change: transform;
}
@media only screen and (max-width:767px) {
  .footer-to-top {
    display: none;
  }
}
@media (hover: hover) {
  .footer-to-top:hover {
    transform: scale(1.1);
  }
}
.footer-to-top-arrow {
  width: 16px;
  transition: 0.2s;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .common-breadcrumbs {
    min-width: 1200px;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs {
    overflow-x: auto;
    overflow-y: hidden;
  }
  .common-breadcrumbs .common-contents-box {
    width: 96vw;
  }
}
@media only screen and (min-width:768px) {
  .common-breadcrumbs ul {
    padding: 12px 0;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul {
    padding: 1.3333333333vw 0;
  }
}
@media only screen and (min-width:768px) {
  .common-breadcrumbs ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul {
    white-space: nowrap;
  }
}
.common-breadcrumbs ul li {
  list-style: none;
}
@media only screen and (min-width:768px) {
  .common-breadcrumbs ul li {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul li {
    font-size: clamp(10px, 2.1333333333vw, clamp(14px, 2.6666666667vw, 20px));
  }
}
@media only screen and (min-width:768px) {
  .common-breadcrumbs ul li {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul li {
    max-width: 100%;
    display: inline;
  }
}
.common-breadcrumbs ul li::after {
  content: "\ea01";
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  display: inline-block;
}
@media only screen and (min-width:768px) {
  .common-breadcrumbs ul li::after {
    margin: 0 16px 0 14px;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul li::after {
    transform: scale(0.7);
    margin: 0 2.1333333333vw 0 1.8666666667vw;
  }
}
@media only screen and (max-width:767px) {
  .common-breadcrumbs ul li:last-of-type {
    padding-right: 4vw;
  }
}
.common-breadcrumbs ul li:last-of-type::after {
  display: none;
  margin: 0;
}
@media (hover: hover) {
  .common-breadcrumbs ul li a {
    transition: color 0.2s;
  }
  .common-breadcrumbs ul li a:hover {
    text-decoration: underline;
    color: black;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*
*
コンテンツ幅左右余白など調整した汎用ボックス
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
/************************************************************
SCREEN SP
*************************************************************/
@media screen and (max-width:767px) {
  .common-contents-box {
    margin-inline: auto;
    width: 89.3333333333vw;
  }
}
/************************************************************
SCREEN PC
*************************************************************/
@media screen and (min-width:768px) {
  /*
  コンテンツ幅
  */
  .common-contents-box {
    margin: 0 auto;
    width: 87.5%;
    min-width: 1050px;
  }
}
/*
*
角丸ボタン　ドロップシャドーにボーダーが必要なもの
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.common-round-btn {
  border-radius: 100px;
  width: 500px;
  border-color: black;
  background-color: white;
  border-style: solid;
  border-width: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  transition: 0.2s;
  will-change: transform;
}
@media only screen and (min-width:768px) {
  .common-round-btn {
    height: 100px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-btn {
    height: 50px;
  }
}
@media only screen and (min-width:768px) {
  .common-round-btn {
    font-size: 32px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-btn {
    font-size: 28px;
  }
}
@media only screen and (min-width:768px) {
  .common-round-btn {
    box-shadow: 10px 10px 0 0 black;
  }
}
@media only screen and (max-width:767px) {
  .common-round-btn {
    box-shadow: 5px 5px 0 0 black;
    margin-inline: auto;
    max-width: 500px;
  }
}
@media (hover: hover) {
  .common-round-btn:hover {
    box-shadow: 6px 6px 0 0 black;
    transform: translate(3px, 3px);
  }
}
.common-round-btn.-arrow::after {
  content: "\ea02";
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  bottom: 50%;
  right: 5%;
  transform: translateY(25%);
}
@media only screen and (min-width:768px) {
  .common-round-btn.-arrow::after {
    font-size: 14px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-btn.-arrow::after {
    font-size: 8px;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*
*
角丸ボタン　ドロップシャドーにボーダーが必要なもの
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.common-round-border-btn {
  position: relative;
  display: inline-block;
}
@media only screen and (min-width:768px) {
  .common-round-border-btn {
    width: clamp(375px, 22.9166666667vw, 440px);
    height: 64px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-border-btn {
    width: clamp(200px, 64vw, 300px);
    height: 46px;
  }
}
@media (hover: hover) {
  .common-round-border-btn:hover span {
    transform: translate(3px, 3px);
  }
}
.common-round-border-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 100px;
  border: 1px solid black;
  background-color: #E5234C;
  position: absolute;
}
@media only screen and (min-width:768px) {
  .common-round-border-btn::before {
    top: 10px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-border-btn::before {
    top: 5px;
  }
}
@media only screen and (min-width:768px) {
  .common-round-border-btn::before {
    left: 10px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-border-btn::before {
    left: 5px;
  }
}
.common-round-border-btn span {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  border: 1px solid black;
  background-color: white;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: 0.2s;
}
@media only screen and (min-width:768px) {
  .common-round-border-btn span {
    font-size: 24px;
  }
}
@media only screen and (max-width:767px) {
  .common-round-border-btn span {
    font-size: 16px;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.common-kv-a.-pink {
  background-color: #F24469;
  background-image: url("../../images/common/deco/confetti-a.png");
}
@media only screen and (min-width:768px) {
  .common-kv-a.-pink::after {
    background-image: url("../../images/common/deco/cloud-pink-pc.png");
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a.-pink::after {
    background-image: url("../../images/common/deco/cloud-pink-sp.png");
  }
}
.common-kv-a.-blue {
  background-color: #68BDC3;
  background-image: url("../../images/common/deco/confetti-b.png");
}
@media only screen and (min-width:768px) {
  .common-kv-a.-blue::after {
    background-image: url("../../images/common/deco/cloud-blue-pc.png");
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a.-blue::after {
    background-image: url("../../images/common/deco/cloud-blue-sp.png");
  }
}
.common-kv-a.-yellow {
  background-color: #FFC33C;
  background-image: url("../../images/common/deco/confetti-c.png");
}
@media only screen and (min-width:768px) {
  .common-kv-a.-yellow::after {
    background-image: url("../../images/common/deco/cloud-yellow-pc.png");
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a.-yellow::after {
    background-image: url("../../images/common/deco/cloud-yellow-sp.png");
  }
}
.common-kv-a.-purple {
  background-color: #9D79C9;
  background-image: url("../../images/common/deco/confetti-d.png");
}
@media only screen and (min-width:768px) {
  .common-kv-a.-purple::after {
    background-image: url("../../images/common/deco/cloud-purple-pc.png");
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a.-purple::after {
    background-image: url("../../images/common/deco/cloud-purple-sp.png");
  }
}

.common-kv-a {
  position: relative;
  background-position: center left;
  background-repeat: repeat-x;
}
@media only screen and (min-width:768px) {
  .common-kv-a {
    height: 320px;
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a {
    height: clamp(150px, 35.2vw, 200px);
  }
}
@media only screen and (min-width:768px) {
  .common-kv-a {
    background-size: auto 566px;
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a {
    background-size: auto 40vw;
  }
}
.common-kv-a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media only screen and (min-width:768px) {
  .common-kv-a::after {
    background-size: 681px 320px;
    width: 681px;
    height: 320px;
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a::after {
    background-size: 52.2666666667vw 25.7333333333vw;
    width: 52.2666666667vw;
    height: 25.7333333333vw;
  }
}
.common-kv-a-inner {
  height: 100%;
}
.common-kv-a-title {
  font-weight: 600;
  color: white;
  height: 100%;
  display: flex;
  align-items: center;
}
@media only screen and (min-width:768px) {
  .common-kv-a-title {
    font-size: clamp(30px, 2.0833333333vw, 40px);
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a-title {
    font-size: clamp(10px, 5.3333333333vw, 30px);
  }
}
.common-kv-a-title-en {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  font-weight: 600;
  line-height: 0.8em;
  transform: translateY(-0.03em);
  white-space: nowrap;
  text-align: right;
  color: transparent;
}
@media only screen and (min-width:768px) {
  .common-kv-a-title-en {
    -webkit-text-stroke: 1px white;
    font-size: clamp(130px, 10.119047619vw, 170px);
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a-title-en {
    -webkit-text-stroke: 0.5px white;
    font-size: clamp(30px, 12.8vw, 210px);
  }
}
@media only screen and (min-width:768px) {
  .common-kv-a-title-en.-s {
    font-size: clamp(90px, 7.7380952381vw, 170px);
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a-title-en.-s {
    font-size: clamp(30px, 9.3333333333vw, 210px);
  }
}
.common-kv-a-title-en img {
  width: auto;
}
@media only screen and (min-width:768px) {
  .common-kv-a-title-en img {
    height: clamp(100px, 6.6145833333vw, 127px);
  }
}
@media only screen and (max-width:767px) {
  .common-kv-a-title-en img {
    height: 74px;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .common-link-boxes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.common-link-box {
  display: block;
  position: relative;
}
@media only screen and (min-width:768px) {
  .common-link-box {
    height: 23.9583333333vw;
  }
}
@media only screen and (max-width:767px) {
  .common-link-box {
    height: 54.6666666667vw;
  }
}
@media only screen and (min-width:768px) {
  .common-link-box {
    min-height: 300px;
  }
}
@media only screen and (max-width:767px) {
  .common-link-box {
    min-height: auto;
  }
}
@media (hover: hover) {
  .common-link-box:hover::before {
    opacity: 0.5;
  }
  .common-link-box:hover .common-link-box-pic img {
    transform: scale(1.1);
  }
}
.common-link-box.-about::before {
  background-color: #6CB252;
}
.common-link-box.-culture::before {
  background-color: #FFC33C;
}
.common-link-box.-introduction::before {
  background-color: #F24469;
}
.common-link-box.-resources::before {
  background-color: #9D79C9;
}
.common-link-box.-soukanzu::before {
  background-color: #68BDC3;
}
.common-link-box.-faq::before {
  background-color: #FF9C98;
}
.common-link-box::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  opacity: 0;
  mix-blend-mode: multiply;
  transition: 0.2s;
  will-change: transform;
}
.common-link-box-contents {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width:767px) {
  .common-link-box-contents {
    padding: 40px 0;
  }
}
.common-link-box-pic {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.common-link-box-pic img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: 0.7s;
  will-change: transform;
}
.common-link-box-txts {
  position: relative;
  z-index: 10;
}
.common-link-box-title {
  color: white;
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .common-link-box-title {
    font-size: clamp(24px, 2.0833333333vw, 40px);
  }
}
@media only screen and (max-width:767px) {
  .common-link-box-title {
    font-size: clamp(20px, 5.3333333333vw, 28px);
  }
}
.common-link-box-txt-01 {
  margin-top: 1em;
  color: white;
  font-weight: 500;
  line-height: 1.75em;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .common-link-box-txt-01 {
    font-size: clamp(16px, 1.25vw, 24px);
  }
}
@media only screen and (max-width:767px) {
  .common-link-box-txt-01 {
    font-size: clamp(13px, 3.2vw, 18px);
  }
}
@media only screen and (max-width:767px) {
  .common-link-box-txt-01 {
    padding: 0 2em;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*
採用情報
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  main:has(.common-recruitment) ~ .footer {
    margin-top: -20.8333333333vw;
  }
}
@media only screen and (max-width:767px) {
  main:has(.common-recruitment) ~ .footer {
    margin-top: -26.6666666667vw;
  }
}

.common-recruitment {
  background-image: url("../../images/common/deco/bg-dot.png");
  border-top: 1px solid black;
}
@media only screen and (min-width:768px) {
  .common-recruitment {
    padding-top: 80px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment {
    padding-top: 80px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment {
    padding-bottom: calc(130px + 20.8333333333vw);
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment {
    padding-bottom: calc(50px + 26.6666666667vw);
    background-size: 32px 32px;
  }
}
.common-recruitment-title-en {
  font-weight: 600;
  text-align: center;
  -webkit-text-stroke: 1px #E5234C;
  color: white;
}
@media only screen and (min-width:768px) {
  .common-recruitment-title-en {
    font-size: 5rem;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-title-en {
    font-size: clamp(35px, 10.6666666667vw, 45px);
  }
}
.common-recruitment-title-ja {
  text-align: center;
  font-weight: 600;
}
@media only screen and (min-width:768px) {
  .common-recruitment-title-ja {
    margin-top: 10px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-title-ja {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-title-ja {
    font-size: 2.5rem;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-title-ja {
    font-size: clamp(30px, 5.3333333333vw, 45px);
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-boxes {
    margin-top: 272px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    max-width: 1304px;
    margin-inline: auto;
    gap: 3.0674846626%;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-boxes {
    margin-top: 107px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 70px 6.2666666667vw;
  }
}
.common-recruitment-box {
  border: 1px solid black;
  background-color: white;
  position: relative;
}
@media only screen and (min-width:768px) {
  .common-recruitment-box {
    width: 31.2883435583%;
    padding: 41px 0 28px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box {
    width: 41.3333333333vw;
    padding: 15px 0 12px;
  }
}
@media (hover: hover) {
  .common-recruitment-box:hover .common-recruitment-box-pic {
    transform: translateX(-50%) translateY(-95%);
  }
}
.common-recruitment-box-pic {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-90%);
  transition: 0.2s;
  will-change: transform;
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-pic.-ideal {
    width: 158px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-pic.-ideal {
    width: 65px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-pic.-about {
    margin-top: 10px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-pic.-about {
    margin-top: 3px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-pic.-about {
    width: 272px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-pic.-about {
    width: 113px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-pic.-schedule {
    width: 227px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-pic.-schedule {
    width: 80px;
  }
}
.common-recruitment-box-txt-01 {
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-txt-01 {
    font-size: 1.75rem;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-txt-01 {
    font-size: 12px;
  }
}
.common-recruitment-box-txt-02 {
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-txt-02 {
    margin-top: 10px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-txt-02 {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-box-txt-02 {
    font-size: 2.125rem;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-box-txt-02 {
    font-size: 16px;
  }
}
@media only screen and (min-width:768px) {
  .common-recruitment-btns {
    margin-top: 80px;
    width: 90%;
    max-width: 1304px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.8374233129%;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-btns {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 17px;
  }
}
.common-recruitment-btn {
  font-weight: 600;
  color: white;
  width: 100%;
}
@media only screen and (min-width:768px) {
  .common-recruitment-btn {
    font-size: 1.75rem;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-btn {
    font-size: 18px;
  }
}
@media only screen and (max-width:767px) {
  .common-recruitment-btn {
    width: 64vw;
  }
}
.common-recruitment-btn.-graduates {
  background-color: #68BDC3;
}
.common-recruitment-btn.-midcareer {
  background-color: #FFC33C;
}
.common-recruitment-btn.-disabled {
  background-color: #9D79C9;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb21tb24vX2NvbW1vbl9iYXNlL19mb250cy5zY3NzIiwiY29tbW9uL19jb21tb25fYmFzZS9fbm9ybWFsaXplLnNjc3MiLCJjb21tb24vX2NvbW1vbl9iYXNlL19teV9yZXNldC5zY3NzIiwiX2ZvdW5kYXRpb24vX3ZhcnMuc2NzcyIsIl9mb3VuZGF0aW9uL19mdW5jdGlvbi5zY3NzIiwiX2ZvdW5kYXRpb24vX21peGluLnNjc3MiLCJjb21tb24vX2NvbW1vbl9iYXNlL19teV9zdHlsZS5zY3NzIiwiX2ZvdW5kYXRpb24vX21lZGlhLnNjc3MiLCJjb21tb24vX2NvbW1vbl9iYXNlL19pY29ucy5zY3NzIiwiX2ZvdW5kYXRpb24vX2ljb25zLnNjc3MiLCJjb21tb24vX2NvbW1uX2xheW91dC9faGVhZGVyLnNjc3MiLCJjb21tb24vX2NvbW1uX2xheW91dC9fZm9vdGVyLnNjc3MiLCJjb21tb24vX2NvbW1vbl9jb21wb25lbnQvX2NvbW1vbi1icmVhZGNydW1icy5zY3NzIiwiY29tbW9uL19jb21tb25fY29tcG9uZW50L19jb21tb24tY29udGVudHMtYm94LnNjc3MiLCJjb21tb24vX2NvbW1vbl9jb21wb25lbnQvX2NvbW1vbi1yb3VuZC1idG4uc2NzcyIsImNvbW1vbi9fY29tbW9uX2NvbXBvbmVudC9fY29tbW9uLXJvdW5kLWJvcmRlci1idG4uc2NzcyIsImNvbW1vbi9fY29tbW9uX2NvbXBvbmVudC9fY29tbW9uLWt2LWEuc2NzcyIsImNvbW1vbi9fY29tbW9uX2NvbXBvbmVudC9fY29tbW9uLWxpbmstYm94ZXMuc2NzcyIsImNvbW1vbi9fY29tbW9uX2NvbXBvbmVudC9fY29tbW9uLXJlY3J1aXRtZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNUTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDVlI7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUMzVkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0k7OztBQUdKO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQzs7O0FDZEQ7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FDZEE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFrQkE7QUFBQTtBQUFBO0FDOUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFJQTtFQUNDO0VBQ0M7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUFVRjtFQUNDO0VBQ0E7OztBQUdEO0VBRUU7RUFDQTtBQUNBO0VBQ0Q7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0M7O0FDMUNBO0VEdUNGO0lBS0ksV0h4Q1U7Ozs7QUc0Q2Q7QUFBQTtBQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7OztBQ3REQztFRDBEQTtJQUVJOzs7QUN6REo7RUQ0REE7SUFFSTs7OztBQUtOO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNFOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFF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O0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBSUE7RUFFRTtFQUNBOztBSmhCQTtFSWFGO0lBS0ksV1JkVTs7O0FRZ0JaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUpqQ0Y7RUkrQkE7SUp6QmMsYUk0Qm9COzs7QUovQmxDO0VJNEJBO0lKeEJjLGFJMkIwQjs7O0FBR3hDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7O0FKcERKO0VJNENFO0lKdENZLE9JdUNnQjs7O0FKMUM5QjtFSXlDRTtJSnJDWSxPSXNDNEQ7OztBSjdDMUU7RUk0Q0U7SUp0Q1ksUUl3Q2lCOzs7QUozQy9CO0VJeUNFO0lKckNZLFFJdUM2RDs7O0FKOUMzRTtFSXNETTtBQUNFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7RUFPRjtJQUNFOzs7QUo1RFI7RUlnRU07QUFDRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0VBT0Y7SUFDRTs7O0FBS1I7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTtFQUNBOztBSjFGSjtFSXVGRTtJSmpGWSxLSXFGYzs7O0FKeEY1QjtFSW9GRTtJSmhGWSxLSW9GbUI7OztBSjNGakM7RUk2RkU7SUp2RlksT0l3RmdCOzs7QUozRjlCO0VJMEZFO0lKdEZZLE9JdUZzQjs7O0FBRWxDO0VBRUU7RUFDQTtFQUNBOztBSnBHSjtFSWdHRTtJSjFGWSxXSTJGb0I7OztBSjlGbEM7RUk2RkU7SUp6RlksV0kwRnlCOzs7QUFNdkM7RUFHRTs7QUoxR0Y7RUl1R0E7SUpqR2MsWUlrR21COzs7QUpyR2pDO0VJb0dBO0lKaEdjLFlJaUd3Qjs7O0FKeEd0QztFSXVHQTtJSmpHYyxPSW1HYzs7O0FKdEc1QjtFSW9HQTtJSmhHYyxPSWtHcUI7OztBQUcvQjtFQUNFOztBSmxHTjtFQUNFO0lJbUdNOzs7QUovR1I7RUlrSEk7SUFFSTtJQUNBO0lBQ0E7SUFDQTs7O0FBRUY7RUFDRTtF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b0M7OztBQU1oRDtFQUVFO0VBRUE7O0FYM0NKO0VXdUNFO0lYakNZLFlXa0NxQjs7O0FYckNuQztFV29DRTtJWGhDWSxZV2lDMEI7OztBWHhDeEM7RVd1Q0U7SVhqQ1ksV1dvQ29COzs7QVh2Q2xDO0VXb0NFO0lYaENZLFdXbUNvQzs7O0FYMUNsRDtFVzhDQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBWHBESjtFVzJDQTtJQVlJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBOztBWHBFRjtFV2lFQTtJQUtJO0lBQ0E7OztBWHBFSjtFVzhEQTtJQVNJO0lBQ0E7OztBWGhFSjtFV21FSTtJQUNFOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVh4Rko7RVd5Rkk7SVhuRlUsT1dvRmtCOzs7QVh2RmhDO0VXc0ZJO0lYbEZVLE9XbUZ3Qjs7O0FYMUZ0QztFVzRGSTtJWHRGVSxZV3VGdUI7OztBWDFGckM7RVd5Rkk7SVhyRlUsWVdzRjRCOzs7QVg3RjFDO0VXNEZJO0lYdEZVLE9Xd0ZrQjs7O0FYM0ZoQztFV3lGSTtJWHJGVSxPV3VGd0I7OztBWDlGdEM7RVdnR0k7SVgxRlUsT1cyRmtCOzs7QVg5RmhDO0VXNkZJO0lYekZVLE9XMEZ3Qjs7O0FBR3BDO0VBRUU7RUFDQTs7QVh2R0o7RVdvR0U7SVg5RlksV1crRm9COzs7QVhsR2xDO0VXaUdFO0lYN0ZZLFdXOEZvQzs7O0FBSWhEO0VBR0U7RUFDQTs7QVg3R0o7RVd5R0U7SVhuR1ksWVdvR3FCOzs7QVh2R25DO0VXc0dFO0lYbEdZLFlXbUcwQjs7O0FYMUd4QztFV3lHRTtJWG5HWSxXV3FHb0I7OztBWHhHbEM7RVdzR0U7SVhsR1ksV1dvR29DOzs7QVgzR2xEO0VXZ0hBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBWHJISjtFVzZHQTtJQVdJO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUVFO0VBQ0E7RUFDQTs7QVhySUY7RVdpSUE7SVgzSGMsV1c0SGtCOzs7QVgvSGhDO0VXOEhBO0lYMUhjLFdXMkhrQzs7O0FYL0hoRDtFVzhIQTtJQU1JOzs7QUFFRjtFQUNFLGtCZnpIVzs7QWUySGI7RUFDRSxrQmYzSFc7O0FlNkhiO0VBQ0Usa0JmN0hVOzs7QWVrSWhCO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQSIsImZpbGUiOiJjb21tb24vY29tbW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4qXG7jg5Xjgqnjg7Pjg4jlkajjgopcbipcbiovXG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs5MDAmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NhbnM6d2dodEAwLDEwMC4uOTAwOzEsMTAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NlcmlmK0pQOndnaHRAMjAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS95YWt1aGFuanBANC4wLjEvZGlzdC9jc3MveWFrdWhhbmpwLmNzcycpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9WmVuK0tha3UrR290aGljK05ldzp3Z2h0QDQwMDs1MDA7NzAwOzkwMCZkaXNwbGF5PXN3YXAnKTtcblxuLypcbm5vdG8gc2FucyB3ZWlnaHRcblxuUmVndWxhciA0MDBcbk1lZGl1bSA1MDBcblNlbWlCb2xkIDYwMFxuQm9sZCA3MDBcbkV4dHJhQm9sZCA4MDBcbkJsYWNrIDkwMFxuKi9cblxuLmZvbnQtbm90b3NhbnNqcHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmO1xufVxuLmZvbnQtbm90b3NhbnN7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBzZXJpZjtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczpcIndkdGhcIiAxMDA7XG59XG4uZm9udC1ub3Rvc2VyaWZqcHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZiBKUFwiLCBzZXJpZjtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZvbnQtemVue1xuICBmb250LWZhbWlseTogXCJaZW4gS2FrdSBHb3RoaWMgTmV3XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLypcbipcbuOCueOCv+OCpOODq+ODquOCu+ODg+ODiFxuKlxuKi9cblxuXG5hIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOm5vbmU7XG59XG5cbmgxLGgyLGgzLGg0LGg1LGg2LHVsLG9sLGxpLGRsLGR0LGRkLGZpZ3VyZSxwe1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbnVsLGxpe1xuXHRsaXN0LXN0eWxlOiBub25lO1xufSIsIiRzY3JlZW5fc3A6XCJzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpXCI7XG4kc2NyZWVuX3BjOlwic2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KVwiO1xuXG4vKlxubGF5b3V0XG4qL1xuXG4kcGNfbWluX3dpZHRoOjEyMDBweDtcbiRwY19tYXhfd2lkdGg6MTQwMHB4O1xuXG4vKlxuei1pbmRleFxuKi9cblxuJHpfaW5kZXhfaGVhZGVyOjk5OTtcblxuLypcbmNvbG9yXG4qL1xuXG4kY29sb3JfZ3JhZHVhdGVzOiM2OEJEQzM7XG4kY29sb3JfbWlkY2FyZWVyOiNGRkMzM0M7XG4kY29sb3JfZGlzYWJsZWQ6IzlENzlDOTtcblxuJGNvbG9yX3Bpbms6I0ZGOUM5ODtcbiRjb2xvcl9ncmVlbjojNkNCMjUyO1xuJGNvbG9yX3B1cnBsZTojOUQ3OUM5O1xuJGNvbG9yX3llbGxvdzojRkZDMzNDO1xuJGNvbG9yX2JsdWU6IzY4QkRDMztcbiRjb2xvcl9yZWQ6I0U1MjM0QztcbiRjb2xvcl9kYXJrcGluazojRjI0NDY5O1xuJGNvbG9yX2RhcmtncmF5OiM1RjVGNUY7XG4kY29sb3JfZ3JheTojRjVGM0YyO1xuXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8qXG5weOOCknZ344Gr5aSJ5o+bXG5cbuOCpuOCpOODs+ODieOCpuW5hTE0MDBweOOBq+WvvuOBl+OBpuimgee0oOW5hTUwcHjjga7loLTlkIhcbmdldHZ3KDUwLDE0MDAp44Go44Gq44KLXG4qL1xuQGZ1bmN0aW9uIGdldHZ3KCRzaXplLCAkdmlld3BvcnQ6NzUwKXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkdmlld3BvcnQpO1xuICBAcmV0dXJuICRyYXRlICogJHNpemUgKiAxdnc7XG59XG5cbi8v77yF44KS6L+U44GZXG5AZnVuY3Rpb24gZ2V0cGVyKCRzaXplLCAkcGFyZW50KXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkcGFyZW50KTtcbiAgQHJldHVybiAkcmF0ZSAqICRzaXplICogMSU7XG59XG5cbi8v5Y2K5YiG44Gu44K144Kk44K644KScHjjgafov5TjgZlcbkBmdW5jdGlvbiBnZXRoYWxmKCRzaXplKXtcbiAgQHJldHVybiAkc2l6ZSAqIDAuNXB4O1xufVxuXG4vL3JlbeOCkui/lOOBmVxuQGZ1bmN0aW9uIGdldHJlbSgkc2l6ZSwgJGJhc2U6IDE2KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHNpemUsICRiYXNlKSArIHJlbTtcbn1cblxuLy9saW5lLWhlaWdodOOBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bGhlbSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcblx0QHJldHVybiBtYXRoLmRpdigkbGluZS1oZWlnaHQsJGZvbnQtc2l6ZSkgKyBlbTtcbn1cblxuLy9sZXR0ZXItc3BhY2luZ+OBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bHNlbSgkZm9udC1zaXplLCAkcHgpIHtcblx0QHJldHVybiBtYXRoLmRpdigkcHgsJGZvbnQtc2l6ZSkgKyBlbTtcbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8qXG7jg6Hjg4fjgqPjgqLjgq/jgqjjg6pcbuiomOi/sOS+i1xuYm9keXtcbiAgQGluY2x1ZGUgbXMtdygnbWF4JywxMjAwKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIH1cbn1cbiovXG5AbWl4aW4gbXMtdygkbWF4bWluLCR2YWwpe1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoI3skbWF4bWlufS13aWR0aDojeyR2YWx9cHgpe1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuXG4vKlxuRk9OVFxuKi9cblxuQG1peGluIGZvbnQtbm90b3NhbnNqcHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmO1xufVxuQG1peGluIGZvbnQtbm90b3NhbnN7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6XCJ3ZHRoXCIgMTAwO1xufVxuQG1peGluIGZvbnQtemVue1xuICBmb250LWZhbWlseTogXCJaZW4gS2FrdSBHb3RoaWMgTmV3XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLypcbklDT04gRk9OVFxuKi9cblxuQG1peGluIGljb25zLWZvbnR7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29ucy14eyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmFjZWJvb2t7IGNvbnRlbnQ6IFwiXFxFQTA1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1pbnN0YWdyYW17IGNvbnRlbnQ6IFwiXFxFQTA2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy15b3V0dWJleyBjb250ZW50OiBcIlxcRUEwN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbGluZXsgY29udGVudDogXCJcXEVBMDhcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuXG5AbWl4aW4gaGlkZSB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59IiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5cbi8qXG4qXG7lhajjg5rjg7zjgrjjgavlhbHmnInjgZXjgozjgovjgrnjgr/jgqTjg6tcbipcbiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5odG1sLGJvZHl7XG5cdHdpZHRoOjEwMCU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLypAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICBAaW5jbHVkZSBtaXhpbi5tcy13KCdtYXgnLDE0MDApe1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbi5tcy13KCdtYXgnLDEyMDApe1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfSovXG59XG5cbmh0bWx7XG5cdGhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbmJvZHl7XG4gIC8vZm9udC1mYW1pbHk6WWFrdUhhbkpQLFwiTm90byBTYW5zIEpQXCIsIE1laXJ5bywgc2Fucy1zZXJpZjtcbiAgZm9udC1mYW1pbHk6WWFrdUhhbkpQLFwiWmVuIEtha3UgR290aGljIE5ld1wiLCBNZWlyeW8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJwYWx0XCI7XG4gIC8qaXBhZCDmloflrZfjgrXjgqTjgrrlr77nrZYqL1xuXHR0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG59XG5cbm1haW57XG5cdHdpZHRoOjEwMCU7XG5cdGRpc3BsYXk6YmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgIG1pbi13aWR0aDogdmFycy4kcGNfbWluX3dpZHRoO1xuICB9XG59XG5cbi8qXG7lhajopoHntKDjgatib3JkZXItYm94XG4qL1xuKiwgKjpiZWZvcmUsICo6YWZ0ZXJ7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOmJvcmRlci1ib3g7XG59XG5cbmJye1xuICAmLnNwe1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJi5wY3tcbiAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmF7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZ3tcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0bWF4LXdpZHRoOjEwMCU7XG59XG5cbi5pbmxpbmUtYmxvY2t7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRleHQtYWxpZ24tcmlnaHR7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnRleHQtYWxpZ24tbGVmdHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LWFsaWduLWNlbnRlcntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5idXR0b24uYWNjb3JkaW9uLXRyaWdnZXJ7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGNvbG9yOmluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gU1BcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9zcH17XG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e1xuXG59IiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuXG5AbWl4aW4gcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIHNwIHtcbiAgQG1lZGlhIG9ubHkgI3t2YXJzLiRzY3JlZW5fc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiByZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIHBjIHsgI3skYXRyfTogJHBjOyB9XG4gIEBpbmNsdWRlIHNwIHsgI3skYXRyfTogJHNwOyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgQG1lZGlhKGhvdmVyOmhvdmVyKSB7XG4gICAgJjpob3ZlcntcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2ljb25zLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9pY29ucy5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKSxcbiAgICAgICAgdXJsKCcuLi8uLi9mb250cy9pY29ucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vLi4vZm9udHMvaWNvbnMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL2ljb25zLnN2ZyNpY29ucycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29ucy1cIl0sIFtjbGFzcyo9XCIgaWNvbnMtXCJde1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uaWNvbnMtYXJyb3ctYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwMVwiIH1cbi5pY29ucy1hcnJvdy1iOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAyXCIgfVxuLmljb25zLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAzXCIgfVxuLmljb25zLXBsYXk6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDRcIiB9XG4uaWNvbnMtY2xvc2U6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDVcIiB9XG4uaWNvbnMtYXJyb3ctYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwNlwiIH1cblxuIiwiLypcbm1peGluXG4qL1xuXG5AbWl4aW4gaWNvbnMtZm9udHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gaWNvbnMtYXJyb3ctYSB7IGNvbnRlbnQ6IFwiXFxFQTAxXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1hcnJvdy1iIHsgY29udGVudDogXCJcXEVBMDJcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWJsYW5rIHsgY29udGVudDogXCJcXEVBMDNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXBsYXkgeyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2xvc2UgeyBjb250ZW50OiBcIlxcRUEwNVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYXJyb3ctYyB7IGNvbnRlbnQ6IFwiXFxFQTA2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbiIsIkB1c2UgXCIuLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2ljb25zXCIgYXMgaWNvbnM7XG5cbi8qXG4qXG7lhbHmnInjg5jjg4Pjg4Djg7xcbipcbiovXG5cbi8qXG7jg4/jg7Pjg5Djg7zjgqzjg7znlKjjgq3jg7zjg5Xjg6zjg7zjg6BcbiovXG5cbkBrZXlmcmFtZXMgYmFyMS1vbiB7XG4gIDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShmdW5jLmdldHZ3KC0xNikpO1xuICB9XG4gIDUwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFyMS1vZmYge1xuICAwJXtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDEzNWRlZyk7XG4gIH1cbiAgNTAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShmdW5jLmdldHZ3KC0xNikpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYmFyMi1vbiB7XG4gIDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShmdW5jLmdldHZ3KDE0KSlcbiAgfVxuICA1MCV7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCV7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYXIyLW9mZiB7XG4gIDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTEzNWRlZyk7XG4gIH1cbiAgNTAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAle1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShmdW5jLmdldHZ3KDE0KSk7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5oZWFkZXJ7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDowO1xuICB6LWluZGV4OiB2YXJzLiR6X2luZGV4X2hlYWRlcjtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChoZWlnaHQsMTAwcHgsZnVuYy5nZXR2dyg4MCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGM0YyO1xuICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICBtaW4td2lkdGg6IHZhcnMuJHBjX21pbl93aWR0aDtcbiAgfVxuICBoZWFkZXJ7XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgcGFkZGluZzowIDAgMCBmdW5jLmdldHZ3KDIwKTtcbiAgICAgIGhlaWdodDogZnVuYy5nZXR2dyg4MCk7XG4gICAgfVxuICB9XG4gIC8v44Ot44K0XG4gICYtbG9nb3tcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaDF7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICYtd3JhcHBlcntcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChnYXAsMjRweCwxMHB4KTtcbiAgICB9XG4gICAgJi1waWN7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHdpZHRoLDE0NXB4LGZ1bmMuZ2V0dncoMTIwKSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgaGVpZ2h0OiBmdW5jLmdldHZ3KDMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi10eHR7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyMHB4LGZ1bmMuZ2V0dncoMjApKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuICAvL+ODj+ODs+ODkOODvOOCrOODvFxuICAmLW1lbnUtdG9nZ2xle1xuICAgIHdpZHRoOiBmdW5jLmdldHZ3KDgwKTtcbiAgICBoZWlnaHQ6IGZ1bmMuZ2V0dncoODApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzowIGZ1bmMuZ2V0dncoMjApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICByaWdodDowO1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi1iYXJze1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IC42cztcbiAgICAgICY6OmJlZm9yZSwmOjphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgLy9AaW5jbHVkZSBtZWRpYS5yZXNwKHRyYW5zZm9ybSx0cmFuc2xhdGVZKGZ1bmMuZ2V0dncoLTIwKSksdHJhbnNsYXRlWShmdW5jLmdldHZ3KC0xNikpKTtcbiAgICAgICAgYW5pbWF0aW9uOiBiYXIxLW9mZiAwLjZzIGZvcndhcmRzO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIC8vQGluY2x1ZGUgbWVkaWEucmVzcCh0cmFuc2Zvcm0sdHJhbnNsYXRlWShmdW5jLmdldHZ3KDE2KSksdHJhbnNsYXRlWShmdW5jLmdldHZ3KDE0KSkpO1xuICAgICAgICBhbmltYXRpb246IGJhcjItb2ZmIDAuNnMgZm9yd2FyZHM7XG4gICAgICB9XG4gICAgfVxuICAgICZbZGF0YS1vcGVuPVwidHJ1ZVwiXXtcbiAgICAgIC5oZWFkZXItbWVudS10b2dnbGUtYmFyc3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjNGMjtcbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIC8vdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBiYXIxLW9uIDAuNnMgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgLy90cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgICBhbmltYXRpb246IGJhcjItb24gMC42cyBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvL01FTlVcbiAgJi1tZW51e1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEpQJywgc2Fucy1zZXJpZjtcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgJltoaWRkZW5de1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICYtaW5uZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAmLW5hdntcbiAgICAgICAgJiA+IHVse1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC8vZ2FwOmZ1bmMuZ2V0dncoNjQsMTkyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLGNsYW1wKDE0cHgsZnVuYy5nZXR2dygxOCwxNjgwKSwxOHB4KSwxOHB4KTtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsZnVuYy5nZXRyZW0oMTgpLDE4cHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcGFkZGluZzowIGZ1bmMuZ2V0dncoMzAsMTkyMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVye1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLWVuLC4tYmFye1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpoYXMoLmhlYWRlci1tZW51LW5hdi1kcm9wKXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgICAgICAgICAgICAgLmhlYWRlci1tZW51LW5hdi1kcm9we1xuICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgJi1pbm5lcntcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVhZGVyLW1lbnUtbmF2LWRyb3B7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOjEwMHB4O1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246LjRzO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgJi4tcG9zLWxlZnR7XG4gICAgICAgICAgICAgICAgbGVmdDotMTAwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi4tcG9zLWNlbnRlcntcbiAgICAgICAgICAgICAgICBsZWZ0OjUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLi1wb3MtcmlnaHR7XG4gICAgICAgICAgICAgICAgcmlnaHQ6LTEwMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtaW5uZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUYzRjI7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzo0MHB4IDEwMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpLG9wYWNpdHkgLjRzO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi10aXRsZXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgLi1lbntcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLmZvbnQtbm90b3NhbnM7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgY29sb3I6I0Y1RjNGMjtcbiAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAjRTUyMzRDO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuLWJhcntcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjowIDAuMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1bHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjMwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOjIwcHggZnVuYy5nZXR2dyg2MCwxOTIwKTtcbiAgICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgJjo6YmVmb3JleyAvL2Fycm93XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb25zLmljb25zLWFycm93LWE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpe1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6dmFycy4kY29sb3JfYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKXtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX3llbGxvdztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKXtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX3B1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0KXtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX2dyZWVuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGM0YyO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMGx2aCAtIGZ1bmMuZ2V0dncoODApKTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDpmdW5jLmdldHZ3KDgwKTtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgbGVmdDowO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgICAgIHotaW5kZXg6IHZhcnMuJHpfaW5kZXhfaGVhZGVyICsgMTtcblxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOi40cztcbiAgICAgIFxuICAgICAgJltoaWRkZW5de1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAuaGVhZGVyLW1lbnUtaW5uZXJ7XG4gICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtaW5uZXJ7XG4gICAgICAgIHBhZGRpbmc6ZnVuYy5nZXR2dyg0NikgMCBmdW5jLmdldHZ3KDE1MCk7XG4gICAgICAgIHdpZHRoOiBmdW5jLmdldHZ3KDY3MCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6YXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjouNHM7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDV2aCk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgICAmLW5hdntcbiAgICAgICAgJiA+IHVse1xuICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTBweCxmdW5jLmdldHZ3KDI4KSwxNXB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzIpe1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOjE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVhZGVyLW1lbnUtbmF2LWRyb3AtdGl0bGV7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLWVue1xuICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEwcHgsZnVuYy5nZXR2dygzNiksMjJweCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1peGluLmZvbnQtbm90b3NhbnM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiNGNUYzRjI7XG4gICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuNXB4ICNFNTIzNEM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLWJhcntcbiAgICAgICAgICAgICAgbWFyZ2luOjAgMC4yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHVse1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgZ2FwOjEwcHggMTVweDtcbiAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmV7IC8vYXJyb3dcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb25zLmljb25zLWFycm93LWE7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSl7XG4gICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX2JsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMil7XG4gICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX3llbGxvdztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKXtcbiAgICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6dmFycy4kY29sb3JfcHVycGxlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDQpe1xuICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjp2YXJzLiRjb2xvcl9ncmVlbjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy9FTlRSWVxuICAmLWVudHJ5e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTIzNEM7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcCh3aWR0aCwxNjZweCwyNDBweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChoZWlnaHQsNjRweCwzOHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyNHB4LDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogZnVuYy5nZXR2dyg1NywxOTIwKTtcbiAgICB0cmFuc2l0aW9uOi4ycztcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMCAwIGJsYWNrO1xuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgbWFyZ2luLXRvcDo0MHB4O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgsMnB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMCAwIGJsYWNrO1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9kYXJrcGluaztcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e1xuXG4gIFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUENcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9wY317XG5cbiAgXG59XG4iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uc1wiIGFzIGljb25zO1xuXG4vKlxuKlxu5YWx5pyJ44OV44OD44K/44O8XG4qXG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmZvb3RlcntcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICBtaW4td2lkdGg6IHZhcnMuJHBjX21pbl93aWR0aDtcbiAgfVxuICAmOjphZnRlcntcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTowO1xuICAgIGxlZnQ6MDtcbiAgICB6LWluZGV4OiA1O1xuICB9XG4gICYtaW5uZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMTQzcHgsMTAzcHgpO1xuICB9XG4gIC8vU0hBUEVcbiAgJi1zaGFwZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHN2Z3tcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3Aod2lkdGgsY2xhbXAoMzIyNXB4LGZ1bmMuZ2V0dncoMzIyNSwxOTIwKSw5OTk5OXB4KSxmdW5jLmdldHZ3KDE2MzYpKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoaGVpZ2h0LGNsYW1wKDIxODlweCxmdW5jLmdldHZ3KDIxODksMTkyMCksOTk5OTlweCksZnVuYy5nZXR2dygxNDc2KSk7XG4gICAgICAvL0BpbmNsdWRlIG1lZGlhLnJlc3Aod2lkdGgsMzIyNXB4LGZ1bmMuZ2V0dncoMTYzNikpO1xuICAgICAgLy9AaW5jbHVkZSBtZWRpYS5yZXNwKGhlaWdodCwyMTg5cHgsZnVuYy5nZXR2dygxNDc2KSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6NTAlO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgJi5wY3tcbiAgICAgICAgICAvKi5lbGx7XG4gICAgICAgICAgICBjeDoxNjEyO1xuICAgICAgICAgICAgY3k6MTA5NDtcbiAgICAgICAgICAgIHJ4OjE2MTI7XG4gICAgICAgICAgICByeToxMDk0O1xuICAgICAgICAgIH0qL1xuICAgICAgICB9XG4gICAgICAgICYuc3B7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgICYuc3B7XG4gICAgICAgICAgLyouZWxse1xuICAgICAgICAgICAgY3g6NDA5O1xuICAgICAgICAgICAgY3k6MzY5O1xuICAgICAgICAgICAgcng6NDA5O1xuICAgICAgICAgICAgcnk6MzY5O1xuICAgICAgICAgIH0qL1xuICAgICAgICB9XG4gICAgICAgICYucGN7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWNvbnRlbnRze1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAvL+ODreOCtFxuICAmLWxvZ297XG4gICAgJi13cmFwcGVye1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZ2FwLDI0cHgsMTBweCk7XG4gICAgfVxuICAgICYtcGlje1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcCh3aWR0aCwxNDVweCxjbGFtcCgxMDBweCxmdW5jLmdldHZ3KDE2NCksMTY0cHgpKTtcbiAgICB9XG4gICAgJi10eHR7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyMHB4LGNsYW1wKDEwcHgsZnVuYy5nZXR2dygyNCksMjRweCkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBjb2xvcjp3aGl0ZTtcbiAgICB9XG4gIH1cbiAgJi1tZW51e1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCw2OXB4LGZ1bmMuZ2V0dncoMTEyKSk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcCh3aWR0aCwxMDMwcHgsZnVuYy5nZXR2dyg2NzApKTtcbiAgICBtYXJnaW4taW5saW5lOmF1dG87XG4gICAgJi1uYXZ7XG4gICAgICBhe1xuICAgICAgICB0cmFuc2l0aW9uOi4ycztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYgPiB1bHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmID4gbGl7XG4gICAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMTZweCxjbGFtcCgxMHB4LGZ1bmMuZ2V0dncoMjgpLDE4cHgpKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLCY6bnRoLWNoaWxkKDQpe1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ZnVuYy5nZXR2dygzMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiB1bHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6ZnVuYy5nZXR2dygxNik7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KC4tZW50cnkpID4gbGl7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDE0cHgsY2xhbXAoMTBweCxmdW5jLmdldHZ3KDI0KSwxNnB4KSk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjAgZnVuYy5nZXR2dygxNik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb25zLmljb25zLWFycm93LWE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiA+IGF7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzo1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOmZ1bmMuZ2V0dncoOCkgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJlt0YXJnZXQ9X2JsYW5rXXtcbiAgICAgICAgICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29ucy5pY29ucy1ibGFuaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLi1lbnRyeXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOjEycHhcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOmZ1bmMuZ2V0dncoMTcpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBnYXA6MTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTc4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGZ1bmMuZ2V0dncoMzY1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKXtcbiAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX2dyYWR1YXRlcztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9taWRjYXJlZXI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFycy4kY29sb3JfZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtYm90dG9te1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgd2lkdGg6IDExMjBweDtcbiAgICAgIG1hcmdpbi10b3A6NzBweDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6YXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBtYXJnaW4tdG9wOmZ1bmMuZ2V0dncoNTYpO1xuICAgICAgd2lkdGg6IGZ1bmMuZ2V0dncoNjcwKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6YXV0bztcbiAgICB9XG4gIH1cbiAgJi1saW5rc3tcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgcmlnaHQ6MDtcbiAgICB9XG4gICAgdWx7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBsaXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW4uZm9udC16ZW47XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDE0cHgsY2xhbXAoMTBweCxmdW5jLmdldHZ3KDI0KSwxNHB4KSk7XG4gICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICBwYWRkaW5nOjAgMC41ZW07XG4gICAgICAgICY6bnRoLWNoaWxkKG4rMil7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgIHRyYW5zaXRpb246LjJzO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVye1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtY29weXJpZ2h0e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBAaW5jbHVkZSBtaXhpbi5mb250LXplbjtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwxNHB4LGNsYW1wKDEwcHgsZnVuYy5nZXR2dygyNCksMTRweCkpO1xuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgbWFyZ2luLXRvcDpmdW5jLmdldHZ3KDMyKTtcbiAgICB9XG4gIH1cbiAgJi10by10b3B7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDo1MXB4O1xuICAgIHJpZ2h0OjI4cHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6NXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOi4ycztcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAuZm9vdGVyLXRvLXRvcC1hcnJvd3tcbiAgICAgICAgLy90cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1hcnJvd3tcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjouMnM7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBTUFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3NwfXtcblxuICAuZm9vdGVye31cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e1xuXG4gIC5mb290ZXJ7fVxufVxuIiwiQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vaWNvbnNcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jb21tb24tYnJlYWRjcnVtYnMge1xuICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICBtaW4td2lkdGg6IHZhcnMuJHBjX21pbl93aWR0aDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICBvdmVyZmxvdy14OmF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC5jb21tb24tY29udGVudHMtYm94e1xuICAgICAgd2lkdGg6IGZ1bmMuZ2V0dncoNzIwKTtcbiAgICB9XG4gIH1cbiAgdWx7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDEycHggMCxmdW5jLmdldHZ3KDEwKSAwKTtcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAvL3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgbGl7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMTZweCxjbGFtcCgxMHB4LGZ1bmMuZ2V0dncoMTYpLGNsYW1wKDE0cHgsZnVuYy5nZXR2dygyMCksMjBweCkpKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgQGluY2x1ZGUgaWNvbnMuaWNvbnMtYXJyb3ctYTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgIG1hcmdpbjowIDE2cHggMCAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICAgIHRyYW5zZm9ybTpzY2FsZSguNyk7XG4gICAgICAgICAgbWFyZ2luOjAgZnVuYy5nZXR2dygxNikgMCBmdW5jLmdldHZ3KDE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGZ1bmMuZ2V0dncoMzApO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIC4ycztcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e1xuICBcbiAgLmJyZWFkY3J1bWJzIHt9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBQQ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3BjfXtcblxuICAuYnJlYWRjcnVtYnMge31cbn0iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5cbi8qXG4qXG7jgrPjg7Pjg4bjg7Pjg4TluYXlt6blj7PkvZnnmb3jgarjganoqr/mlbTjgZfjgZ/msY7nlKjjg5zjg4Pjgq/jgrlcbipcbiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gU1BcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9zcH17XG5cbiAgLmNvbW1vbi1jb250ZW50cy1ib3h7XG4gICAgbWFyZ2luLWlubGluZTphdXRvO1xuICAgIHdpZHRoOiBmdW5jLmdldHZ3KDY3MCk7XG4gIH1cbiAgXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBQQ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3BjfXtcblxuICAvKlxuICDjgrPjg7Pjg4bjg7Pjg4TluYVcbiAgKi9cbiAgLmNvbW1vbi1jb250ZW50cy1ib3h7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgICB3aWR0aDogODcuNSU7XG4gICAgbWluLXdpZHRoOiB2YXJzLiRwY19taW5fd2lkdGggKiAwLjg3NTtcbiAgICAvL21heC13aWR0aDogdmFycy4kcGNfbWF4X3dpZHRoO1xuICB9XG5cbn0iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uc1wiIGFzIGljb25zO1xuXG4vKlxuKlxu6KeS5Li444Oc44K/44Oz44CA44OJ44Ot44OD44OX44K344Oj44OJ44O844Gr44Oc44O844OA44O844GM5b+F6KaB44Gq44KC44GuXG4qXG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNvbW1vbi1yb3VuZC1idG57XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB3aWR0aDogNTAwcHg7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AoaGVpZ2h0LDEwMHB4LDUwcHgpO1xuICBib3JkZXItY29sb3I6YmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwzMnB4LDI4cHgpO1xuICB0cmFuc2l0aW9uOiAuMnM7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgIGJveC1zaGFkb3c6IDEwcHggMTBweCAwIDAgYmxhY2s7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCAwIDAgYmxhY2s7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLmhvdmVye1xuICAgIGJveC1zaGFkb3c6IDZweCA2cHggMCAwIGJsYWNrO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoM3B4LDNweCk7XG4gIH1cbiAgJi4tYXJyb3d7XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBAaW5jbHVkZSBpY29ucy5pY29ucy1hcnJvdy1iO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOjUwJTtcbiAgICAgIHJpZ2h0OjUlO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjUlKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDE0cHgsOHB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gU1BcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9zcH17fVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUENcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9wY317fSIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2ljb25zXCIgYXMgaWNvbnM7XG5cbi8qXG4qXG7op5LkuLjjg5zjgr/jg7PjgIDjg4njg63jg4Pjg5fjgrfjg6Pjg4njg7zjgavjg5zjg7zjg4Djg7zjgYzlv4XopoHjgarjgoLjga5cbipcbiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uY29tbW9uLXJvdW5kLWJvcmRlci1idG57XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICB3aWR0aDogY2xhbXAoMzc1cHgsZnVuYy5nZXR2dyg0NDAsMTkyMCksNDQwcHgpO1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICB3aWR0aDogY2xhbXAoMjAwcHgsZnVuYy5nZXR2dyg0ODApLDMwMHB4KTtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgc3BhbntcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoM3B4LDNweCk7XG4gICAgfVxuICB9XG4gICY6OmJlZm9yZXtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNTIzNEM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AodG9wLDEwcHgsNXB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGxlZnQsMTBweCw1cHgpO1xuICB9XG4gIHNwYW57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDI0cHgsMTZweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246LjJzO1xuICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e30iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uc1wiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNvbW1vbi1rdi1he1xuICAmLi1waW5re1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMjQ0Njk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2NvbW1vbi9kZWNvL2NvbmZldHRpLWEucG5nXCIpO1xuICAgICY6OmFmdGVyeyAvL+mbslxuICAgICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9jb21tb24vZGVjby9jbG91ZC1waW5rLXBjLnBuZ1wiKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvY29tbW9uL2RlY28vY2xvdWQtcGluay1zcC5wbmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuLWJsdWV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFycy4kY29sb3JfZ3JhZHVhdGVzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9jb21tb24vZGVjby9jb25mZXR0aS1iLnBuZ1wiKTtcbiAgICAmOjphZnRlcnsgLy/pm7JcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvY29tbW9uL2RlY28vY2xvdWQtYmx1ZS1wYy5wbmdcIik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2NvbW1vbi9kZWNvL2Nsb3VkLWJsdWUtc3AucG5nXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLi15ZWxsb3d7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFycy4kY29sb3JfeWVsbG93O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9jb21tb24vZGVjby9jb25mZXR0aS1jLnBuZ1wiKTtcbiAgICAmOjphZnRlcnsgLy/pm7JcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvY29tbW9uL2RlY28vY2xvdWQteWVsbG93LXBjLnBuZ1wiKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvY29tbW9uL2RlY28vY2xvdWQteWVsbG93LXNwLnBuZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi4tcHVycGxle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX3B1cnBsZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvY29tbW9uL2RlY28vY29uZmV0dGktZC5wbmdcIik7XG4gICAgJjo6YWZ0ZXJ7IC8v6ZuyXG4gICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2NvbW1vbi9kZWNvL2Nsb3VkLXB1cnBsZS1wYy5wbmdcIik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2NvbW1vbi9kZWNvL2Nsb3VkLXB1cnBsZS1zcC5wbmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb21tb24ta3YtYXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKGhlaWdodCwzMjBweCxjbGFtcCgxNTBweCxmdW5jLmdldHZ3KDI2NCksMjAwcHgpKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChiYWNrZ3JvdW5kLXNpemUsYXV0byA1NjZweCxhdXRvIGZ1bmMuZ2V0dncoMzAwKSk7XG4gICY6OmFmdGVyeyAvL+mbslxuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOjA7XG4gICAgcmlnaHQ6MDtcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIGJhY2tncm91bmQtc2l6ZTo2ODFweCAzMjBweDtcbiAgICAgIHdpZHRoOiA2ODFweDtcbiAgICAgIGhlaWdodDogMzIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgYmFja2dyb3VuZC1zaXplOmZ1bmMuZ2V0dncoMzkyKSBmdW5jLmdldHZ3KDE5Myk7XG4gICAgICB3aWR0aDogZnVuYy5nZXR2dygzOTIpO1xuICAgICAgaGVpZ2h0OiBmdW5jLmdldHZ3KDE5Myk7XG4gICAgfVxuICB9XG4gICYtaW5uZXJ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICYtdGl0bGV7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsY2xhbXAoMzBweCxmdW5jLmdldHZ3KDQwLDE5MjApLDQwcHgpLGNsYW1wKDEwcHgsZnVuYy5nZXR2dyg0MCksMzBweCkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAmLWVue1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOjA7XG4gICAgICByaWdodDowO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOGVtO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuMDNlbSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBjb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTMwcHgsZnVuYy5nZXR2dygxNzAsMTY4MCksMTcwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuNXB4IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDMwcHgsZnVuYy5nZXR2dyg5NiksMjEwcHgpO1xuICAgICAgfVxuICAgICAgJi4tc3tcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICAgICAgZm9udC1zaXplOiBjbGFtcCg5MHB4LGZ1bmMuZ2V0dncoMTMwLDE2ODApLDE3MHB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDMwcHgsZnVuYy5nZXR2dyg3MCksMjEwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbWd7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGhlaWdodCxjbGFtcCgxMDBweCxmdW5jLmdldHZ3KDEyNywxOTIwKSwxMjdweCksNzRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBTUFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3NwfXt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBQQ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3BjfXt9XG4iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uc1wiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNvbW1vbi1saW5rLWJveGVze1xuICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsMWZyKTtcbiAgfVxufVxuXG4uY29tbW9uLWxpbmstYm94e1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChoZWlnaHQsZnVuYy5nZXR2dyg0NjAsMTkyMCksZnVuYy5nZXR2dyg0MTApKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChtaW4taGVpZ2h0LDMwMHB4LGF1dG8pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhLmhvdmVye1xuICAgICY6OmJlZm9yZXtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgICAuY29tbW9uLWxpbmstYm94LXBpY3tcbiAgICAgIGltZ3tcbiAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuLWFib3V0e1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX2dyZWVuO1xuICAgIH1cbiAgfVxuICAmLi1jdWx0dXJle1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX3llbGxvdztcbiAgICB9XG4gIH1cbiAgJi4taW50cm9kdWN0aW9ue1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX2RhcmtwaW5rO1xuICAgIH1cbiAgfVxuICAmLi1yZXNvdXJjZXN7XG4gICAgJjo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFycy4kY29sb3JfcHVycGxlO1xuICAgIH1cbiAgfVxuICAmLi1zb3VrYW56dXtcbiAgICAmOjpiZWZvcmV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9ibHVlO1xuICAgIH1cbiAgfVxuICAmLi1mYXF7XG4gICAgJjo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFycy4kY29sb3JfcGluaztcbiAgICB9XG4gIH1cbiAgJjo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWl4LWJsZW5kLW1vZGU6bXVsdGlwbHk7XG4gICAgdHJhbnNpdGlvbjouMnM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9jb21tb24vZGVjby9iZy1kb3QucG5nXCIpO1xuICAgIC8vQGluY2x1ZGUgbWVkaWEucmVzcChiYWNrZ3JvdW5kLXNpemUsMzJweCAzMnB4LDE2cHggMTZweCk7XG4gICAgLy9vcGFjaXR5OiAuOTtcbiAgfVxuICAmLWNvbnRlbnRze1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBwYWRkaW5nOjQwcHggMDtcbiAgICB9XG4gIH1cbiAgJi1waWN7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZ3tcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOi43cztcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuICB9XG4gICYtdHh0c3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgJi10aXRsZXtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSxjbGFtcCgyNHB4LGZ1bmMuZ2V0dncoNDAsMTkyMCksNDBweCksY2xhbXAoMjBweCxmdW5jLmdldHZ3KDQwKSwyOHB4KSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi10eHQtMDF7XG4gICAgbWFyZ2luLXRvcDoxZW07XG4gICAgY29sb3I6d2hpdGU7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsY2xhbXAoMTZweCxmdW5jLmdldHZ3KDI0LDE5MjApLDI0cHgpLGNsYW1wKDEzcHgsZnVuYy5nZXR2dygyNCksMThweCkpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IGZ1bmMuZ2V0bGhlbSgyNCw0Mik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgcGFkZGluZzowIDJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2ljb25zXCIgYXMgaWNvbnM7XG5cbi8qXG7mjqHnlKjmg4XloLFcbiovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5tYWluOmhhcyguY29tbW9uLXJlY3J1aXRtZW50KSB+IC5mb290ZXJ7XG4gIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgIG1hcmdpbi10b3A6ZnVuYy5nZXR2dygtNDAwLDE5MjApO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgIG1hcmdpbi10b3A6ZnVuYy5nZXR2dygtMjAwKTtcbiAgfVxufVxuXG4uY29tbW9uLXJlY3J1aXRtZW50e1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctdG9wLDgwcHgsODBweCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9jb21tb24vZGVjby9iZy1kb3QucG5nXCIpO1xuICBib3JkZXItdG9wOjFweCBzb2xpZCBibGFjaztcbiAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTMwcHggKyBmdW5jLmdldHZ3KDQwMCwxOTIwKSk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoNTBweCArIGZ1bmMuZ2V0dncoMjAwKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDMycHg7XG4gIH1cbiAgJi10aXRsZXtcbiAgICAmLWVue1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsZnVuYy5nZXRyZW0oODApLGNsYW1wKDM1cHgsZnVuYy5nZXR2dyg4MCksNDVweCkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAjRTUyMzRDO1xuICAgICAgY29sb3I6d2hpdGU7XG4gICAgfVxuICAgICYtamF7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMTBweCwxMHB4KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLGZ1bmMuZ2V0cmVtKDQwKSxjbGFtcCgzMHB4LGZ1bmMuZ2V0dncoNDApLDQ1cHgpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG4gICYtYm94ZXN7XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICBtYXJnaW4tdG9wOiAyNzJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEzMDRweDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6YXV0bztcbiAgICAgIGdhcDpmdW5jLmdldHBlcig0MCwxMzA0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBtYXJnaW4tdG9wOjEwN3B4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOjcwcHggZnVuYy5nZXR2dyg0Nyk7XG4gICAgfVxuICB9XG4gICYtYm94e1xuICAgIGJvcmRlcjoxcHggc29saWQgYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgd2lkdGg6IGZ1bmMuZ2V0cGVyKDQwOCwxMzA0KTtcbiAgICAgIHBhZGRpbmc6NDFweCAwIDI4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgd2lkdGg6IGZ1bmMuZ2V0dncoMzEwKTtcbiAgICAgIHBhZGRpbmc6MTVweCAwIDEycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVye1xuICAgICAgLmNvbW1vbi1yZWNydWl0bWVudC1ib3gtcGlje1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC05NSUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLXBpY3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC05MCUpO1xuICAgICAgdHJhbnNpdGlvbjogLjJzO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICYuLWlkZWFse1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHdpZHRoLDE1OHB4LDY1cHgpO1xuICAgICAgfVxuICAgICAgJi4tYWJvdXR7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCwxMHB4LDNweCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3Aod2lkdGgsMjcycHgsMTEzcHgpO1xuICAgICAgfVxuICAgICAgJi4tc2NoZWR1bGV7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3Aod2lkdGgsMjI3cHgsODBweCk7XG4gICAgICB9XG4gICAgfVxuICAgICYtdHh0LTAxe1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsZnVuYy5nZXRyZW0oMjgpLDEycHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJi10eHQtMDJ7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMTBweCwxMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLGZ1bmMuZ2V0cmVtKDM0KSwxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICYtYnRuc3tcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIG1hcmdpbi10b3A6ODBweDtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEzMDRweDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywxZnIpO1xuICAgICAgZ2FwOmZ1bmMuZ2V0cGVyKDM3LDEzMDQpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgIG1hcmdpbi10b3A6MjhweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOjE3cHg7XG4gICAgfVxuICB9XG4gICYtYnRue1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLGZ1bmMuZ2V0cmVtKDI4KSwxOHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICB3aWR0aDogZnVuYy5nZXR2dyg0ODApO1xuICAgIH1cbiAgICAmLi1ncmFkdWF0ZXN7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9ncmFkdWF0ZXM7XG4gICAgfVxuICAgICYuLW1pZGNhcmVlcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX21pZGNhcmVlcjtcbiAgICB9XG4gICAgJi4tZGlzYWJsZWR7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiJdfQ== */