@charset "UTF-8";

/**
 * 値が2つ以上の配列かどうか判定する関数
 * @param  {array} $_list 配列か判定したい値
 * @return {boole}        値が2つ以上の配列ならtrue
 */

/**
 * 数値をremに変換する関数です
 * @param  {Number} $target        remにしたい数値
 * @param  {Number} $threshold [1] しきい値
 * @return {Number}                数値にremが付いた数値を返します
 */

/**
 * 数値をemに変換する関数です
 * @param  {Number} $target           emにしたい数値
 * @param  {Number} $parentValue [16] しきい値
 * @return {Number}                   数値にremが付いた数値を返します
 */

/**
 * 数値をpxに変換する関数です
 * @param  {Number} $arget          pxにしたい数値
 * @param  {Number} $threshold [1]  しきい値
 * @return {Number}                 数値にpxが付いた数値を返します
 */

/**
 * line-heightが1の時と同じになるようにline-height分の差分を返す関数です
 * @param  {Number} $lineHeight lineHeightの値
 * @param  {Number} $fontSize   fontの値
 * @return {Number}             差分の数値
 */

/**
 * 深い階層のmapの値を取得して返す関数です。
 * @param  {map} $map   map本体
 * @param  {map} $keys  mapのkey
 * @return {map}        指定したmapのkey
 */

/**
 * $breakpointsの中の数値を@mediaに入れてemにして返すmixin
 * @param  {array}  $breakpoint [sm]  $breakpointsのkeyのarray
 * @param  {string} $key        [min] min or max
 * @return {void}                     @media ($key-width) {}
 */

/**
 * font-weightの数値を返す関数
 * @param  {String} $weight weightのキーワード値
 * @return {Number}         weightのnumber
 */

/**
 * 色をmapから取得する関数です
 * @param  {array}  $keys      配列
 * @param  {number} $_opacity  0.0 ~ 1
 * @return {map}               $colorsの任意のkey
 */

/**
 * z-indexをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $z-indexの任意のkey
 */

/**
 * 擬似要素でアスペクト比の領域を確保するmixin
 * @param  {$_width}                   横の値
 * @param  {$_height}                  縦の値
 * @param  {$_pseudo_element} [before] 消費する疑似要素 before or after
 * @return {void}
 */

/**
 * fontをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $fontsの任意のkey
 */

.blog-pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 320px;
  padding-top: 30px;
  margin: auto;
}

.blog-pagenation__prev > a, .blog-pagenation__next > a {
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #231815;
  text-decoration: underline;
  transition: opacity 0.4s;
}

.blog-pagenation__prev > a:hover, .blog-pagenation__next > a:hover {
  opacity: 0.7;
}

.blog-pagenation__numbers {
  display: inline-block;
  padding: 0;
  margin: 0 18px;
  list-style-type: none;
}

.blog-pagenation__numbers > li {
  display: inline-block;
  width: 33px;
  height: 33px;
  margin: 0 3px;
  background-color: #efefef;
  border-radius: 5px;
}

.blog-pagenation__numbers > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 3px;
  font-size: 1rem;
  color: #575757;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.4s, color 0.4s;
}

.blog-pagenation__numbers > li > a:hover {
  color: #fff;
  background-color: #dc263f;
}

.blog-pagenation__numbers > li.is-current {
  background-color: #dc263f;
}

.blog-pagenation__numbers > li.is-current > a {
  color: #fff;
  transition: opacity 0.4s;
}

.blog-pagenation__numbers > li.is-current > a:hover {
  opacity: 0.7;
}

.blog-pagenation__toindex {
  width: 133px;
  height: 33px;
  background-color: #dc263f;
  border-radius: 5px;
}

.blog-pagenation__toindex > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.4s;
}

.blog-pagenation__toindex > a:hover {
  opacity: 0.7;
}

.contribution {
  padding-top: 60px;
  padding-bottom: 185px;
  margin-top: 18px;
  background-color: #f2f5f9;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.contribution__title {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.contribution-list {
  max-width: 940px;
  margin: 0 auto;
}

.contribution-list__item {
  padding: 40px 20px;
  margin-top: 60px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 126, 175, 0.3);
}

.contribution .case__title {
  position: relative;
  padding-left: 18px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}

.contribution .case__title::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 30px;
  content: "";
  background-color: #009edb;
}

.contribution .case__title.-mt {
  display: block;
  margin-top: 40px;
}

.contribution .case__text {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.contribution .case-icon-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 6px;
  margin-right: -13px;
}

.contribution .case-icon-list__item {
  width: calc((100% - 26px) / 2);
  margin-top: 14px;
  margin-right: 13px;
}

.contribution .case-icon-text {
  display: none;
}

.contribution .case-icon-text__item {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.contribution .case-img-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}

.contribution .case-img-list__item {
  position: relative;
  width: 100%;
  margin-top: 10px;
  overflow: hidden;
  overflow: hidden;
}

.contribution .case-img-list__item::before {
  display: block;
  width: 100%;
  padding-top: 64.2857142857%;
  content: "";
}

.contribution .case-img-list__item > img, .contribution .case-img-list__item svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.contribution .sdgs-top {
  max-width: 940px;
  padding: 0;
  margin: 0 auto;
}

.contribution .sdgs-top .case__title::before {
  display: none;
}

.contribution .sdgs-top .case-icon-list__item {
  margin-top: 0;
  margin-right: 0;
}

.sdgs-top__button {
  padding-top: 60px;
}

.sdgs-top__button a {
  position: relative;
  max-width: 600px;
  padding: 20px 40px;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #221815;
  border-radius: 4px;
}

.sdgs-top__button a::after {
  position: absolute;
  right: 20px;
  width: 16px;
  height: 16px;
  content: "";
  background: url(/assets/img/sdgs/btn-arrow@2x.png) no-repeat;
  background-size: contain;
}

.sdgs-top__button a:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.declaration {
  padding-bottom: 40px;
  margin-top: 40px;
  border-bottom: 1px solid #ccc;
}

.declaration__title {
  display: block;
  padding: 15px 30px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background-color: #009edb;
}

.declaration__text {
  margin-top: 40px;
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
}

.declaration__date {
  display: block;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  text-align: center;
}

.declaration__date.-mt {
  margin-top: 30px;
}

.sdgs-top {
  padding-top: 60px;
  padding-bottom: 185px;
  margin-top: 60px;
  background-color: #f2f5f9;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.sdgs-top__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-align: center;
}

.sdgs-top-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
  margin-top: 56px;
}

.sdgs-top-list__item {
  padding: 40px 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 126, 175, 0.3);
}

.sdgs-top .case__category {
  font-size: 1rem;
  color: #1b9edb;
  text-align: center;
}

.sdgs-top .case__title {
  padding-top: 10px;
  font-size: 1rem;
  line-height: 2rem;
  text-align: center;
}

.sdgs-top .case__text {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.sdgs-top .case__link {
  margin-top: 26px;
  text-align: center;
}

.sdgs-top .case__link a {
  position: relative;
  display: inline-block;
}

.sdgs-top .case__link a::after {
  position: absolute;
  top: 60%;
  right: -15%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  content: "";
  border: 0;
  border-top: solid 2px #221815;
  border-right: solid 2px #221815;
  transform: rotate(45deg);
}

.sdgs-top .case__link a:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.sdgs-top .case-icon-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 200px;
  margin: 25px auto 0;
  gap: 8px;
}

.sdgs-top .case-icon-list__item {
  width: 100%;
  max-width: 60px;
}

.sdgs-top .case-icon-list__item:last-child {
  margin-right: 0;
}

.sdgs-top .case-img-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}

.sdgs-top .case-img-list__item {
  position: relative;
  width: 100%;
  margin-top: 10px;
  overflow: hidden;
  overflow: hidden;
}

.sdgs-top .case-img-list__item::before {
  display: block;
  width: 100%;
  padding-top: 64.2857142857%;
  content: "";
}

.sdgs-top .case-img-list__item > img, .sdgs-top .case-img-list__item svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sdgs {
  margin-top: 40px;
}

.sdgs-logo {
  position: relative;
  width: 100%;
  max-width: 186.55px;
  margin: 0 auto;
  overflow: hidden;
  overflow: hidden;
}

.sdgs-logo::before {
  display: block;
  width: 100%;
  padding-top: 13.840793353%;
  content: "";
}

.sdgs-logo > img, .sdgs-logo svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sdgs-icon__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 6px;
  margin-right: -6px;
}

.sdgs-icon__item {
  width: calc((100% - 36px) / 6);
  margin-top: 6px;
  margin-right: 6px;
}

.sdgs__title {
  margin-top: 50px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.sdgs__title-sub {
  font-size: 0.75rem;
  font-weight: 700;
}

.sdgs__text {
  margin-top: 40px;
  font-size: 1rem;
  line-height: 1.75;
}

.breadcrumb {
  margin-top: 18px;
}

.breadcrumb-link {
  position: relative;
  display: inline-block;
  font-size: 14px;
}

.breadcrumb-link::after {
  position: absolute;
  top: 60%;
  right: -10%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  content: "";
  border: 0;
  border-top: solid 1px #221815;
  border-right: solid 1px #221815;
  transform: rotate(45deg);
}

.breadcrumb-link:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.top-title {
  padding-top: 18px;
  padding-bottom: 18px;
  background-color: #d83e4f;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.top-title__text {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}

@media (min-width: 45em){
  .contribution-list__item {
    padding: 40px;
  }

  .contribution .case-top {
    display: flex;
  }

  .contribution .case-top__left {
    width: 58%;
    margin-right: 40px;
  }

  .contribution .case-top__right {
    width: calc(100% - 58% - 40px);
  }

  .contribution .case__title.-mt {
    margin-top: 0;
  }

  .contribution .case__text {
    margin-top: 26px;
  }

  .contribution .case-icon-list {
    margin-top: 25px;
    margin-right: -9px;
  }

  .contribution .case-icon-list__item {
    width: 100px;
    margin-right: 9px;
  }

  .contribution .case-icon-text {
    display: block;
    margin-top: 20px;
  }

  .contribution .case-img-list {
    margin-right: -10px;
  }

  .contribution .case-img-list__item {
    width: calc((100% - 30px) / 3);
    margin-right: 10px;
  }

  .declaration {
    margin-top: 60px;
  }

  .declaration__date.-mt {
    margin-top: 40px;
  }

  .sdgs-top-list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }

  .sdgs-top-list__item {
    padding: 40px;
  }

  .sdgs-top .case__title {
    font-size: 1.25rem;
  }

  .sdgs-top .case__text {
    margin-top: 26px;
  }

  .sdgs-top .case-icon-list {
    max-width: none;
  }

  .sdgs-top .case-img-list {
    margin-right: -10px;
  }

  .sdgs-top .case-img-list__item {
    width: calc((100% - 30px) / 3);
    margin-right: 10px;
  }

  .sdgs {
    margin-top: 60px;
  }

  .sdgs-logo {
    max-width: 545.74px;
  }

  .sdgs-icon__list {
    margin: -8px;
    margin-top: 14px;
  }

  .sdgs-icon__item {
    width: calc((100% - 108px) / 6);
    margin-top: 18px;
    margin-right: 18px;
  }

  .sdgs__title {
    margin-top: 60px;
  }

  .top-title {
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .top-title__text {
    font-size: 2rem;
  }
}

@media screen and (max-width: 1019px){
  .sdgs-top .case-icon-list.two {
    min-height: 128px;
  }
}

@media screen and (max-width: 747px){
  .sdgs-top .case-icon-list.four {
    min-height: 128px;
  }
}

@media screen and (max-width: 719px){
  .sdgs-top .case-icon-list.two {
    min-height: auto;
  }

  .sdgs-top .case-icon-list.four {
    min-height: auto;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc2Rncy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2ZvbnQtd2VpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vei1pbmRleC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2FzcGVjdC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19ibG9nLXBhZ2VuYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9zZGdzL21vZHVsZXMvY29udHJpYnV0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3BhZ2VzL3NkZ3MvbW9kdWxlcy9kZWNsYXJhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3BhZ2VzL3NkZ3MvbW9kdWxlcy9zZGdzLXRvcC5zY3NzIiwid2VicGFjazovLy8uL3BhZ2VzL3NkZ3MvbW9kdWxlcy9zZGdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcGFnZXMvc2Rncy9tb2R1bGVzL3RvcC10aXRsZS5zY3NzIiwid2VicGFjazovLy88bm8gc291cmNlPiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7O0FDQWhCOzs7O0VBQUE7O0FBU0E7Ozs7O0VBQUE7O0FBK0JBOzs7OztFQUFBOztBQWdDQTs7Ozs7RUFBQTs7QUErQkE7Ozs7O0VBQUE7O0FBZ0JBOzs7OztFQUFBOztBQ3ZHQTs7Ozs7RUFBQTs7QUNQQTs7OztFQUFBOztBQ3FEQTs7Ozs7RUFBQTs7QUNqREE7Ozs7RUFBQTs7QUNiQTs7Ozs7O0VBQUE7O0FDWUE7Ozs7RUFBQTs7QUNaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSdUVGOztBUXBFQTtFQUNFO0VBQ0E7QVJ1RUY7O0FRcEVBO0VBQ0U7QVJ1RUY7O0FRcEVBO0VBQ0U7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtBUnVFRjs7QVNqS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQytIQTtFQUNBO0VBRUU7RUFDQTtBVnFDSjs7QVNyS0U7RUFDRTtFQUNBO0VBQ0E7QVR1S0o7O0FTcEtFO0VBQ0U7RUFDQTtBVHNLSjs7QVNwS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUc0tOOztBUzlJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpS047O0FTaEtNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGtLUjs7QVNoS007RUFDRTtFQUNBO0FUa0tSOztBU3pKSTtFQUNFO0VBQ0E7RUFDQTtBVGdLTjs7QVMxSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVGlLTjs7QVMzSk07RUFDRTtFQUNBO0VBQ0E7QVRtS1I7O0FTM0pJO0VBQ0U7QVRtS047O0FTN0pNO0VBQ0U7RUFDQTtFQUNBO0FUcUtSOztBU2pLSTtFQUNFO0VBQ0E7RUFDQTtBVG1LTjs7QVM5Sk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFSHhITjtBTjhSRjs7QU03UkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTitSSjs7QU03UkU7RUkrRUE7RUFFRTtFQUNBO0VBQ0E7QVZnTko7O0FTeEtFO0VBQ0U7RUFDQTtFQUNBO0FUZ0xKOztBUzVLUTtFQUNFO0FUOEtWOztBU3pLUTtFQUNFO0VBQ0E7QVQyS1Y7O0FTcEtBO0VBQ0U7QVR1S0Y7O0FTcktFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR1S0o7O0FTcktJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR1S047O0FTcEtJO0VBQ0U7RUFDQTtBVHNLTjs7QVcvVkE7RUFDRTtFQUNBO0VBQ0E7QVhrV0Y7O0FXN1ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhvV0o7O0FXaldFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhtV0o7O0FXaFdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhrV0o7O0FXaldJO0VBQ0U7QVhtV047O0FZbFlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUYrSEE7RUFDQTtFQUVFO0VBQ0E7QVYyUUo7O0FZM1lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVo2WUo7O0FZMVlFO0VBQ0U7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0FaNFlKOztBWXRZSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FaNllOOztBWXBZSTtFQUNFO0VBQ0E7RUFDQTtBWjJZTjs7QVl4WUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWjBZTjs7QVlwWUk7RUFDRTtFQUNBO0VBQ0E7QVoyWU47O0FZcllJO0VBQ0U7RUFDQTtBWjRZTjs7QVkxWU07RUFDRTtFQUNBO0FaNFlSOztBWTFZUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo0WVY7O0FZellRO0VBQ0U7RUFDQTtBWjJZVjs7QVl0WUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVp3WU47O0FZbllNO0VBQ0U7RUFDQTtBWjBZUjs7QVl4WVE7RUFDRTtBWjBZVjs7QVlqWEk7RUFDRTtFQUNBO0VBQ0E7QVp1WU47O0FZbFlNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RU52SU47QU5paEJGOztBTWhoQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTmtoQko7O0FNaGhCRTtFSStFQTtFQUVFO0VBQ0E7RUFDQTtBVm1jSjs7QWF0aUJBO0VBQ0U7QWIraUJGOztBYTFpQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VQRkY7QU5vakJGOztBTW5qQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTnFqQko7O0FNbmpCRTtFSStFQTtFQUVFO0VBQ0E7RUFDQTtBVnNlSjs7QWF2akJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWI4akJKOztBYXZqQkU7RUFDRTtFQUNBO0VBQ0E7QWIrakJKOztBYXZqQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBYmdrQko7O0FhL2pCSTtFQUNFO0VBQ0E7QWJpa0JOOztBYTFqQkU7RUFDRTtFQUNBO0VBQ0E7QWJpa0JKOztBYTVqQkE7RUFDRTtBYitqQkY7O0FhN2pCRTtFQUNFO0VBQ0E7RUFDQTtBYitqQko7O0FhN2pCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIrakJOOztBYTVqQkk7RUFDRTtFQUNBO0FiOGpCTjs7QWNwcEJBO0VBQ0U7RUFDQTtFQUNBO0VKZ0lBO0VBQ0E7RUFFRTtFQUNBO0FWdWhCSjs7QWNwcEJFO0VBQ0U7RUFDQTtFQUNBO0FkNHBCSjs7QWV6cUJBO0VOaUJJO0lBT0k7RVR3S047O0VTaktFO0lBRUk7RVRvS047O0VTbEtNO0lBQ0U7SUFDQTtFVG9LUjs7RVNqS007SUFDRTtFVG1LUjs7RVN6SU07SUFDRTtFVGtLUjs7RVM3SkU7SUFLSTtFVGtLTjs7RVM5SkU7SUFNSTtJQUNBO0VUbUtOOztFU2hLSTtJQUtJO0lBQ0E7RVRxS1I7O0VTaEtFO0lBR0k7SUFDQTtFVHFLTjs7RVMzSkU7SUFLSTtFVHFLTjs7RVNsS0k7SUFPSTtJQUNBO0VUbUxSOztFV3hURjtJQUtJO0VYb1dGOztFVzNVRTtJQUdJO0VYcVdOOztFWXhYQTtJQU9JO0lBQUE7RVo2WUo7O0VZMVlFO0lBTUk7RVorWU47O0VZbFlFO0lBTUk7RVo0WU47O0VZeFlFO0lBS0k7RVo2WU47O0VZNVdFO0lBUUk7RVowWU47O0VZeldFO0lBS0k7RVp5WU47O0VZdFlJO0lBT0k7SUFDQTtFWnVaUjs7RWEzaUJGO0lBR0k7RWJpakJGOztFYTlpQkE7SUFRSTtFYitqQko7O0VhM2pCQTtJQU1JO0lBQ0E7RWJna0JKOztFYTVqQkE7SUFLSTtJQUNBO0lBQ0E7RWJpa0JKOztFYTdqQkE7SUFVSTtFYmtrQko7O0VjcG5CRjtJQU1JO0lBQ0E7RWQ0cEJGOztFY3pwQkE7SUFLSTtFZDhwQko7Q2U3cUJGOztBQUFBO0VIK0dNO0lBRUk7RVp3WVI7Q2V6ZkY7O0FBQUE7RUh5SE07SUFFSTtFWndZUjtDZW5nQkY7O0FBQUE7RUgrR007SUFNSTtFWnlZUjs7RVlyWUk7SUFNSTtFWnlZUiIsImZpbGUiOiJkYWloYXRzdS9hc3NldHMvY3NzL3NkZ3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44GL44Gp44GG44GL5Yik5a6a44GZ44KL6Zai5pWwXG4gKiBAcGFyYW0gIHthcnJheX0gJF9saXN0IOmFjeWIl+OBi+WIpOWumuOBl+OBn+OBhOWApFxuICogQHJldHVybiB7Ym9vbGV9ICAgICAgICDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44Gq44KJdHJ1ZVxuICovXG4vKipcbiAqIOaVsOWApOOCknJlbeOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkdGFyZ2V0ICAgICAgICByZW3jgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHRocmVzaG9sZCBbMV0g44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgIOaVsOWApOOBq3JlbeOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG4vKipcbiAqIOaVsOWApOOCkmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgICAgIGVt44Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRwYXJlbnRWYWx1ZSBbMTZdIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICDmlbDlgKTjgatyZW3jgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuLyoqXG4gKiDmlbDlgKTjgpJweOOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkYXJnZXQgICAgICAgICAgcHjjgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHRocmVzaG9sZCBbMV0gIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAg5pWw5YCk44GrcHjjgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuLyoqXG4gKiBsaW5lLWhlaWdodOOBjDHjga7mmYLjgajlkIzjgZjjgavjgarjgovjgojjgYbjgatsaW5lLWhlaWdodOWIhuOBruW3ruWIhuOCkui/lOOBmemWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkbGluZUhlaWdodCBsaW5lSGVpZ2h044Gu5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRmb250U2l6ZSAgIGZvbnTjga7lgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAg5beu5YiG44Gu5pWw5YCkXG4gKi9cbi8qKlxuICog5rex44GE6ZqO5bGk44GubWFw44Gu5YCk44KS5Y+W5b6X44GX44Gm6L+U44GZ6Zai5pWw44Gn44GZ44CCXG4gKiBAcGFyYW0gIHttYXB9ICRtYXAgICBtYXDmnKzkvZNcbiAqIEBwYXJhbSAge21hcH0gJGtleXMgIG1hcOOBrmtleVxuICogQHJldHVybiB7bWFwfSAgICAgICAg5oyH5a6a44GX44GfbWFw44Gua2V5XG4gKi9cbi8qKlxuICogJGJyZWFrcG9pbnRz44Gu5Lit44Gu5pWw5YCk44KSQG1lZGlh44Gr5YWl44KM44GmZW3jgavjgZfjgabov5TjgZltaXhpblxuICogQHBhcmFtICB7YXJyYXl9ICAkYnJlYWtwb2ludCBbc21dICAkYnJlYWtwb2ludHPjga5rZXnjga5hcnJheVxuICogQHBhcmFtICB7c3RyaW5nfSAka2V5ICAgICAgICBbbWluXSBtaW4gb3IgbWF4XG4gKiBAcmV0dXJuIHt2b2lkfSAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAoJGtleS13aWR0aCkge31cbiAqL1xuLyoqXG4gKiBmb250LXdlaWdodOOBruaVsOWApOOCkui/lOOBmemWouaVsFxuICogQHBhcmFtICB7U3RyaW5nfSAkd2VpZ2h0IHdlaWdodOOBruOCreODvOODr+ODvOODieWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIHdlaWdodOOBrm51bWJlclxuICovXG4vKipcbiAqIOiJsuOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICAka2V5cyAgICAgIOmFjeWIl1xuICogQHBhcmFtICB7bnVtYmVyfSAkX29wYWNpdHkgIDAuMCB+IDFcbiAqIEByZXR1cm4ge21hcH0gICAgICAgICAgICAgICAkY29sb3Jz44Gu5Lu75oSP44Gua2V5XG4gKi9cbi8qKlxuICogei1pbmRleOOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICRrZXlzICDphY3liJdcbiAqIEByZXR1cm4ge21hcH0gICAkei1pbmRleOOBruS7u+aEj+OBrmtleVxuICovXG4vKipcbiAqIOaTrOS8vOimgee0oOOBp+OCouOCueODmuOCr+ODiOavlOOBrumgmOWfn+OCkueiuuS/neOBmeOCi21peGluXG4gKiBAcGFyYW0gIHskX3dpZHRofSAgICAgICAgICAgICAgICAgICDmqKrjga7lgKRcbiAqIEBwYXJhbSAgeyRfaGVpZ2h0fSAgICAgICAgICAgICAgICAgIOe4puOBruWApFxuICogQHBhcmFtICB7JF9wc2V1ZG9fZWxlbWVudH0gW2JlZm9yZV0g5raI6LK744GZ44KL55aR5Ly86KaB57SgIGJlZm9yZSBvciBhZnRlclxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuLyoqXG4gKiBmb25044KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICRmb250c+OBruS7u+aEj+OBrmtleVxuICovXG4uYmxvZy1wYWdlbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3ByZXYgPiBhLCAuYmxvZy1wYWdlbmF0aW9uX19uZXh0ID4gYSB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMjMxODE1O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19wcmV2ID4gYTpob3ZlciwgLmJsb2ctcGFnZW5hdGlvbl9fbmV4dCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAxOHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMzcHg7XG4gIGhlaWdodDogMzNweDtcbiAgbWFyZ2luOiAwIDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM1NzU3NTc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMsIGNvbG9yIDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYzZjtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpLmlzLWN1cnJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCA+IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXgge1xuICB3aWR0aDogMTMzcHg7XG4gIGhlaWdodDogMzNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYzZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX190b2luZGV4ID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXggPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uY29udHJpYnV0aW9uIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxODVweDtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjVmOTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDUwdncgLSA1MCUpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSA1MCUpO1xufVxuLmNvbnRyaWJ1dGlvbl9fdGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNvbnRyaWJ1dGlvbi1saXN0IHtcbiAgbWF4LXdpZHRoOiA5NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uY29udHJpYnV0aW9uLWxpc3RfX2l0ZW0ge1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAxMjYsIDE3NSwgMC4zKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5jb250cmlidXRpb24tbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS10b3BfX2xlZnQge1xuICAgIHdpZHRoOiA1OCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB9XG4gIC5jb250cmlidXRpb24gLmNhc2UtdG9wX19yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU4JSAtIDQwcHgpO1xuICB9XG59XG4uY29udHJpYnV0aW9uIC5jYXNlX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uY29udHJpYnV0aW9uIC5jYXNlX190aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDllZGI7XG59XG4uY29udHJpYnV0aW9uIC5jYXNlX190aXRsZS4tbXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5jb250cmlidXRpb24gLmNhc2VfX3RpdGxlLi1tdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLmNvbnRyaWJ1dGlvbiAuY2FzZV9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuY29udHJpYnV0aW9uIC5jYXNlX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICB9XG59XG4uY29udHJpYnV0aW9uIC5jYXNlLWljb24tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS1pY29uLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOXB4O1xuICB9XG59XG4uY29udHJpYnV0aW9uIC5jYXNlLWljb24tbGlzdF9faXRlbSB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjZweCkgLyAyKTtcbiAgbWFyZ2luLXRvcDogMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS1pY29uLWxpc3RfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgfVxufVxuLmNvbnRyaWJ1dGlvbiAuY2FzZS1pY29uLXRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS1pY29uLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cbi5jb250cmlidXRpb24gLmNhc2UtaWNvbi10ZXh0X19pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0Mztcbn1cbi5jb250cmlidXRpb24gLmNhc2UtaW1nLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuY29udHJpYnV0aW9uIC5jYXNlLWltZy1saXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG59XG4uY29udHJpYnV0aW9uIC5jYXNlLWltZy1saXN0X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jb250cmlidXRpb24gLmNhc2UtaW1nLWxpc3RfX2l0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDY0LjI4NTcxNDI4NTclO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmNvbnRyaWJ1dGlvbiAuY2FzZS1pbWctbGlzdF9faXRlbSA+IGltZywgLmNvbnRyaWJ1dGlvbiAuY2FzZS1pbWctbGlzdF9faXRlbSBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRyaWJ1dGlvbiAuY2FzZS1pbWctbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDMpO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuLmNvbnRyaWJ1dGlvbiAuc2Rncy10b3Age1xuICBtYXgtd2lkdGg6IDk0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5jb250cmlidXRpb24gLnNkZ3MtdG9wIC5jYXNlX190aXRsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb250cmlidXRpb24gLnNkZ3MtdG9wIC5jYXNlLWljb24tbGlzdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnNkZ3MtdG9wX19idXR0b24ge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbn1cbi5zZGdzLXRvcF9fYnV0dG9uIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIyMTgxNTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLnNkZ3MtdG9wX19idXR0b24gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWcvc2Rncy9idG4tYXJyb3dAMngucG5nKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5zZGdzLXRvcF9fYnV0dG9uIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5kZWNsYXJhdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5kZWNsYXJhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuLmRlY2xhcmF0aW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ZWRiO1xufVxuLmRlY2xhcmF0aW9uX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmRlY2xhcmF0aW9uX19kYXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kZWNsYXJhdGlvbl9fZGF0ZS4tbXQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmRlY2xhcmF0aW9uX19kYXRlLi1tdCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uc2Rncy10b3Age1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE4NXB4O1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNWY5O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDUwJSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoNTB2dyAtIDUwJSk7XG59XG4uc2Rncy10b3BfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zZGdzLXRvcC1saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAyMHB4O1xuICBtYXJnaW4tdG9wOiA1NnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNkZ3MtdG9wLWxpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbi5zZGdzLXRvcC1saXN0X19pdGVtIHtcbiAgcGFkZGluZzogNDBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMTI2LCAxNzUsIDAuMyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc2Rncy10b3AtbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxufVxuLnNkZ3MtdG9wIC5jYXNlX19jYXRlZ29yeSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMxYjllZGI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zZGdzLXRvcCAuY2FzZV9fdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNkZ3MtdG9wIC5jYXNlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG4uc2Rncy10b3AgLmNhc2VfX3RleHQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNkZ3MtdG9wIC5jYXNlX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICB9XG59XG4uc2Rncy10b3AgLmNhc2VfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAyNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2Rncy10b3AgLmNhc2VfX2xpbmsgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnNkZ3MtdG9wIC5jYXNlX19saW5rIGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDYwJTtcbiAgcmlnaHQ6IC0xNSU7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCAjMjIxODE1O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAjMjIxODE1O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uc2Rncy10b3AgLmNhc2VfX2xpbmsgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbn1cbi5zZGdzLXRvcCAuY2FzZS1pY29uLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDI1cHggYXV0byAwO1xuICBnYXA6IDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zZGdzLXRvcCAuY2FzZS1pY29uLWxpc3Qge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuLnNkZ3MtdG9wIC5jYXNlLWljb24tbGlzdF9faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwcHg7XG59XG4uc2Rncy10b3AgLmNhc2UtaWNvbi1saXN0X19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDE5cHgpIHtcbiAgLnNkZ3MtdG9wIC5jYXNlLWljb24tbGlzdC50d28ge1xuICAgIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuc2Rncy10b3AgLmNhc2UtaWNvbi1saXN0LnR3byB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ3cHgpIHtcbiAgLnNkZ3MtdG9wIC5jYXNlLWljb24tbGlzdC5mb3VyIHtcbiAgICBtaW4taGVpZ2h0OiAxMjhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLnNkZ3MtdG9wIC5jYXNlLWljb24tbGlzdC5mb3VyIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG59XG4uc2Rncy10b3AgLmNhc2UtaW1nLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc2Rncy10b3AgLmNhc2UtaW1nLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbn1cbi5zZGdzLXRvcCAuY2FzZS1pbWctbGlzdF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2Rncy10b3AgLmNhc2UtaW1nLWxpc3RfX2l0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDY0LjI4NTcxNDI4NTclO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnNkZ3MtdG9wIC5jYXNlLWltZy1saXN0X19pdGVtID4gaW1nLCAuc2Rncy10b3AgLmNhc2UtaW1nLWxpc3RfX2l0ZW0gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zZGdzLXRvcCAuY2FzZS1pbWctbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDMpO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4uc2RncyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc2RncyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuLnNkZ3MtbG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTg2LjU1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNkZ3MtbG9nbzo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMTMuODQwNzkzMzUzJTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5zZGdzLWxvZ28gPiBpbWcsIC5zZGdzLWxvZ28gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zZGdzLWxvZ28ge1xuICAgIG1heC13aWR0aDogNTQ1Ljc0cHg7XG4gIH1cbn1cbi5zZGdzLWljb25fX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNkZ3MtaWNvbl9fbGlzdCB7XG4gICAgbWFyZ2luOiAtOHB4O1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gIH1cbn1cbi5zZGdzLWljb25fX2l0ZW0ge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIDM2cHgpIC8gNik7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc2Rncy1pY29uX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwOHB4KSAvIDYpO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICB9XG59XG4uc2Rnc19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNkZ3NfX3RpdGxlLXN1YiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zZGdzX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuLnNkZ3NfX3RleHQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG4uYnJlYWRjcnVtYi1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5icmVhZGNydW1iLWxpbms6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDYwJTtcbiAgcmlnaHQ6IC0xMCU7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjMjIxODE1O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjMjIxODE1O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYnJlYWRjcnVtYi1saW5rOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4udG9wLXRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDE4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDgzZTRmO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDUwJSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoNTB2dyAtIDUwJSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAudG9wLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcbiAgfVxufVxuLnRvcC10aXRsZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAudG9wLXRpdGxlX190ZXh0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn0iLCIvKipcbiAqIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgYvjganjgYbjgYvliKTlrprjgZnjgovplqLmlbBcbiAqIEBwYXJhbSAge2FycmF5fSAkX2xpc3Qg6YWN5YiX44GL5Yik5a6a44GX44Gf44GE5YCkXG4gKiBAcmV0dXJuIHtib29sZX0gICAgICAgIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgarjgol0cnVlXG4gKi9cbkBmdW5jdGlvbiBpc19hcnJheSgkX2xpc3QpIHtcbiAgQHJldHVybiB0eXBlLW9mKCRfbGlzdCkgPT0gbGlzdCBvciB0eXBlLW9mKCRfbGlzdCkgPT0gYXJnbGlzdDtcbn1cblxuLyoqXG4gKiDmlbDlgKTjgpJyZW3jgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJHRhcmdldCAgICAgICAgcmVt44Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0aHJlc2hvbGQgWzFdIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICDmlbDlgKTjgatyZW3jgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuQGZ1bmN0aW9uIF9yZW0oJHRhcmdldCwgJHRocmVzaG9sZCkge1xuICBAaWYodW5pdCgkdGFyZ2V0KSAhPSAnJykge1xuICAgIEBlcnJvciAncmVt44Gr44GX44Gf44GE5pWw5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCR0aHJlc2hvbGQpICE9ICcnKSB7XG4gICAgQGVycm9yICfjgZfjgY3jgYTlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnXG4gIH0gQGVsc2UgaWYoJHRhcmdldCA9PSAwKSB7XG4gICAgQHJldHVybiAkdGFyZ2V0O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgoKCR0YXJnZXQgLyAxNikgKiAkdGhyZXNob2xkKSAqIDFyZW0pO1xuICB9XG59XG5cbi8v56ys5LiA5byV5pWw44Gr6YWN5YiX44KS5rih44GZ44GT44Go44GM5Y+v6IO944Gr44Gq44Gj44GfXG5AZnVuY3Rpb24gcmVtKCR0YXJnZXQsICR0aHJlc2hvbGQ6IDEpIHtcbiAgQGlmKGlzX2FycmF5KCR0YXJnZXQpKSB7XG4gICAgJG5ld19yZW1fYXJyYXk6ICgpO1xuICAgIEBlYWNoICR0YXJnZXRfaXRlbSBpbiAkdGFyZ2V0IHtcbiAgICAgICRuZXdfcmVtX2FycmF5OiBhcHBlbmQoJG5ld19yZW1fYXJyYXksIF9yZW0oJHRhcmdldF9pdGVtLCAkdGhyZXNob2xkKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ld19yZW1fYXJyYXk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX3JlbSgkdGFyZ2V0LCR0aHJlc2hvbGQpO1xuICB9XG59XG5cbi8qKlxuICog5pWw5YCk44KSZW3jgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJHRhcmdldCAgICAgICAgICAgZW3jgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHBhcmVudFZhbHVlIFsxNl0g44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgIOaVsOWApOOBq3JlbeOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG5AZnVuY3Rpb24gX2VtKCR0YXJnZXQsICRwYXJlbnRWYWx1ZSkge1xuICBAaWYodW5pdCgkdGFyZ2V0KSAhPSAnJykge1xuICAgIEBlcnJvciAnZW3jgavjgZfjgZ/jgYTmlbDlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIGlmKHVuaXQoJHBhcmVudFZhbHVlKSAhPSAnJykge1xuICAgIEBlcnJvciAn6Kaq6KaB57Sg44Gu5pWw5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJ1xuICB9IEBlbHNlIGlmKCR0YXJnZXQgPT0gMCkge1xuICAgIEByZXR1cm4gJHRhcmdldDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoKCR0YXJnZXQgLyAxNikgKiAxZW0pO1xuICB9XG59XG5cbi8v56ys5LiA5byV5pWw44Gr6YWN5YiX44KS5rih44GZ44GT44Go44GM5Y+v6IO944Gr44Gq44Gj44GfXG5AZnVuY3Rpb24gZW0oJHRhcmdldCwgJHBhcmVudFZhbHVlOiAxNikge1xuICBAaWYoaXNfYXJyYXkoJHRhcmdldCkpIHtcbiAgICAkbmV3X2VtX2FycmF5OiAoKTtcbiAgICBAZWFjaCAkdGFyZ2V0X2l0ZW0gaW4gJHRhcmdldCB7XG4gICAgICAkbmV3X2VtX2FycmF5OiBhcHBlbmQoJG5ld19lbV9hcnJheSwgX2VtKCR0YXJnZXRfaXRlbSwgJHBhcmVudFZhbHVlKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ld19lbV9hcnJheTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBfZW0oJHRhcmdldCwkcGFyZW50VmFsdWUpO1xuICB9XG59XG5cblxuLyoqXG4gKiDmlbDlgKTjgpJweOOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkYXJnZXQgICAgICAgICAgcHjjgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHRocmVzaG9sZCBbMV0gIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAg5pWw5YCk44GrcHjjgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuQGZ1bmN0aW9uIF9weCgkdGFyZ2V0LCAkdGhyZXNob2xkKSB7XG4gIEBpZih1bml0KCR0YXJnZXQpICE9ICcnKSB7XG4gICAgQGVycm9yICdweOOBq+OBl+OBn+OBhOaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2UgaWYodW5pdCgkdGhyZXNob2xkKSAhPSAnJykge1xuICAgIEBlcnJvciAn44GX44GN44GE5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJ1xuICB9IEBlbHNlIGlmKCR0YXJnZXQgPT0gMCkge1xuICAgIEByZXR1cm4gJHRhcmdldDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoKCR0YXJnZXQgKiAkdGhyZXNob2xkKSAqIDFweCk7XG4gIH1cbn1cblxuLy/nrKzkuIDlvJXmlbDjgavphY3liJfjgpLmuKHjgZnjgZPjgajjgYzlj6/og73jgavjgarjgaPjgZ9cbkBmdW5jdGlvbiBweCgkdGFyZ2V0LCAkdGhyZXNob2xkOiAxKSB7XG4gIEBpZihpc19hcnJheSgkdGFyZ2V0KSkge1xuICAgICRuZXdfcHhfYXJyYXk6ICgpO1xuICAgIEBlYWNoICR0YXJnZXRfaXRlbSBpbiAkdGFyZ2V0IHtcbiAgICAgICRuZXdfcHhfYXJyYXk6IGFwcGVuZCgkbmV3X3B4X2FycmF5LCBfcHgoJHRhcmdldF9pdGVtLCAkdGhyZXNob2xkKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ld19weF9hcnJheTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBfcHgoJHRhcmdldCwkdGhyZXNob2xkKTtcbiAgfVxufVxuXG4vKipcbiAqIGxpbmUtaGVpZ2h044GMMeOBruaZguOBqOWQjOOBmOOBq+OBquOCi+OCiOOBhuOBq2xpbmUtaGVpZ2h05YiG44Gu5beu5YiG44KS6L+U44GZ6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRsaW5lSGVpZ2h0IGxpbmVIZWlnaHTjga7lgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJGZvbnRTaXplICAgZm9udOOBruWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICDlt67liIbjga7mlbDlgKRcbiAqL1xuQGZ1bmN0aW9uIG1hcmdpbigkX2xpbmVIZWlnaHQsICRfZm9udFNpemUpIHtcbiAgQGlmKHVuaXQoJF9saW5lSGVpZ2h0KSAhPSAnJykge1xuICAgIEBlcnJvciAnbGluZS1oZWlnaHTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIGlmKHVuaXQoJF9mb250U2l6ZSkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ2ZvbnQtc2l6ZeOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCRfZm9udFNpemUgKiAkX2xpbmVIZWlnaHQgLSAkX2ZvbnRTaXplKSAvIDI7XG4gIH1cbn1cblxuLyoqXG4gKiDmt7HjgYTpmo7lsaTjga5tYXDjga7lgKTjgpLlj5blvpfjgZfjgabov5TjgZnplqLmlbDjgafjgZnjgIJcbiAqIEBwYXJhbSAge21hcH0gJG1hcCAgIG1hcOacrOS9k1xuICogQHBhcmFtICB7bWFwfSAka2V5cyAgbWFw44Gua2V5XG4gKiBAcmV0dXJuIHttYXB9ICAgICAgICDmjIflrprjgZfjgZ9tYXDjga5rZXlcbiAqL1xuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICBAaWYgKG5vdCBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cbiIsIi8v44OW44Os44O844Kv44Od44Kk44Oz44OI44Gu5a6a576pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy/jg6Hjg4fjgqPjgqLjgq/jgqjjg6rjga7lpInmlbBcbiRicmVha3BvaW50czogKFxuICB4czogMzY1LFxuICBzbTogNzIwLFxuICBtZDogOTgwLFxuICBsZzogMTIwMCxcbik7XG5cbi8v44Kr44Oz44OX44Gu44Kk44Oz44OK44O85qiq5bmFXG4kd3JhcHBlci13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG1kICk7XG4vL+OCueODnuODm+aZguOBruW3puWPs+OBrnBhZGRpbmdcbiR3cmFwcGVyLXBhZGRpbmc6IDIwO1xuXG4vKipcbiAqICRicmVha3BvaW50c+OBruS4reOBruaVsOWApOOCkkBtZWRpYeOBq+WFpeOCjOOBpmVt44Gr44GX44Gm6L+U44GZbWl4aW5cbiAqIEBwYXJhbSAge2FycmF5fSAgJGJyZWFrcG9pbnQgW3NtXSAgJGJyZWFrcG9pbnRz44Gua2V544GuYXJyYXlcbiAqIEBwYXJhbSAge3N0cmluZ30gJGtleSAgICAgICAgW21pbl0gbWluIG9yIG1heFxuICogQHJldHVybiB7dm9pZH0gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKCRrZXktd2lkdGgpIHt9XG4gKi9cbkBtaXhpbiBtZWRpYSgkX2JyZWFrcG9pbnRzOiBzbSwgJF9rZXk6IG1pbikge1xuICAvLyRfYnJlYWtwb2ludHPjga5FcnJvcuaknOWHulxuICBAZWFjaCAkX2hhc19icmVha3BvaW50IGluICRfYnJlYWtwb2ludHMge1xuICAgICRfY3VycmVudF9pbmRleDogaW5kZXgoJF9icmVha3BvaW50cywgJF9oYXNfYnJlYWtwb2ludCk7XG4gICAgQGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJF9oYXNfYnJlYWtwb2ludCkgPT0gZmFsc2UpIHtcbiAgICAgIEBlcnJvciAn56ys5LiA5byV5pWw44GuI3skX2N1cnJlbnRfaW5kZXh955uu44Gu5YCkI3skX2hhc19icmVha3BvaW50feOBr+eEoeWKueOBquWApOOBp+OBmeOAgic7XG4gICAgfVxuICB9XG4gIC8vJF9rZXnjgYxtaW7jgYttYXjjgYvjga5FcnJvcuaknOWHulxuICAka2V5X2FycmF5OiAobWluLG1heCk7XG4gIEBpZihpbmRleCgka2V5X2FycmF5LCAkX2tleSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciAn56ys5LqM5byV5pWwI3skX2tleX3jga/nhKHlirnjgarlgKTjgafjgZnjgIJtaW4gb3IgbWF444Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCJ1xuICB9XG5cbiAgJF9icmVha3BvaW50LWxlbmd0aDogbGVuZ3RoKCRfYnJlYWtwb2ludHMpO1xuICBAaWYoJF9icmVha3BvaW50LWxlbmd0aCA9PSAxKSB7XG5cbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnQ6IG50aCgkX2JyZWFrcG9pbnRzLDEpO1xuICAgICRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZTogbWFwX2dldCgkYnJlYWtwb2ludHMsJF9maXJzdF9icmVha3BvaW50KTtcbiAgICBAaWYgKCRfa2V5ID09IG1heCkge1xuICAgICAgQG1lZGlhICgjeyRfa2V5fS13aWR0aDogZW0oJF9maXJzdF9icmVha3BvaW50X3ZhbHVlKSAtIC4wMDExKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKCRfa2V5ID09IG1pbikge1xuICAgICAgQG1lZGlhICgjeyRfa2V5fS13aWR0aDogZW0oJF9maXJzdF9icmVha3BvaW50X3ZhbHVlKSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfSBAZWxzZSBpZigkX2JyZWFrcG9pbnQtbGVuZ3RoID09IDIpIHtcblxuICAgICRfZmlyc3RfYnJlYWtwb2ludDogbnRoKCRfYnJlYWtwb2ludHMsMSk7XG4gICAgJF9zZWNvbmRfYnJlYWtwb2ludDogbnRoKCRfYnJlYWtwb2ludHMsMik7XG4gICAgJF9maXJzdF9icmVha3BvaW50X3ZhbHVlOiBtYXBfZ2V0KCRicmVha3BvaW50cywkX2ZpcnN0X2JyZWFrcG9pbnQpO1xuICAgICRfc2Vjb25kX2JyZWFrcG9pbnRfdmFsdWU6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCRfc2Vjb25kX2JyZWFrcG9pbnQpO1xuICAgICRfbWF4X3ZhbHVlOiBtYXgoJF9maXJzdF9icmVha3BvaW50X3ZhbHVlLCRfc2Vjb25kX2JyZWFrcG9pbnRfdmFsdWUpO1xuICAgICRfbWluX3ZhbHVlOiBtaW4oJF9maXJzdF9icmVha3BvaW50X3ZhbHVlLCRfc2Vjb25kX2JyZWFrcG9pbnRfdmFsdWUpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGVtKCRfbWluX3ZhbHVlKSkgYW5kIChtYXgtd2lkdGg6IGVtKCRfbWF4X3ZhbHVlKSAtIC4wMDExKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICfnrKzkuIDlvJXmlbDjga/mnIDlpKcy44Gk44GX44GL6Kit5a6a44Gn44GN44G+44Gb44KT44CCJ1xuICB9XG59XG4iLCIkZm9udC13ZWlnaHQ6IChcbiAgdGhpbjogMTAwLFxuICBsaWdodDogMzAwLFxuICByZWd1bGFyOiA0MDAsXG4gIG1lZGl1bTogNTAwLFxuICBib2xkOiA3MDAsXG4gIGJsYWNrOiA5MDBcbik7XG5cbi8qKlxuICogZm9udC13ZWlnaHTjga7mlbDlgKTjgpLov5TjgZnplqLmlbBcbiAqIEBwYXJhbSAge1N0cmluZ30gJHdlaWdodCB3ZWlnaHTjga7jgq3jg7zjg6/jg7zjg4nlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICB3ZWlnaHTjga5udW1iZXJcbiAqL1xuQGZ1bmN0aW9uIGZvbnQtd2VpZ2h0KCRfd2VpZ2h0KSB7XG4gIEBpZihtYXAtaGFzLWtleSgkZm9udC13ZWlnaHQsICRfd2VpZ2h0KSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm9udC13ZWlnaHQsICRfd2VpZ2h0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICfkvb/jgYjjgovlgKTjga/ku6XkuIvjgafjgZnihpIje21hcC1rZXlzKCRmb250LXdlaWdodCl9J1xuICB9XG59IiwiLy/oibLjga7lrprnvqlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvbG9yczogKFxuICB3aGl0ZTogI2ZmZixcbiAgYmxhY2s6ICMwMDAsXG4gIHJlZDogI2Q4M2U0ZixcbiAgZ3JheTogIzU5NTc1NyxcbiAgc25vdzogI2VmZWZlZixcbiAgc2lsdmVyOiAjY2NjLFxuICBuYXZ5OiAjMDA0MGE3LFxuICBibHVlOiAjMDBhMGU5LFxuICBncmVlbjogIzAwOTEzYSxcbiAgcGluazogI2Y3ZDhkYyxcbiAgdGV4dDogKFxuICAgIGJsYWNrOiAjMjIxODE1LFxuICAgIGRlZXByZWQ6ICNkYzI2M2YsXG4gICAgbGlnaHRyZWQ6ICNlNzNlNTEsXG4gICksXG4gIGJkOiAoXG4gICAgZ3JheTogI2NjYyxcbiAgICBibGFjazogIzIyMTgxNSxcbiAgICBkZWVwcmVkOiAjZGMyNjNmLFxuICAgIGxpZ2h0cmVkOiAjZTczZTUxLFxuICApLFxuICBiZzogKFxuICAgIGdyYXk6ICNlZmVmZWYsXG4gICAgYmxhY2s6ICMyMjE4MTUsXG4gICAgZGVlcHJlZDogI2RjMjYzZixcbiAgICBsaWdodHJlZDogI2U3M2U1MSxcbiAgKSxcbiAgZWxlYzogKFxuICAgIHBpbms6I2ZmYjJiYyxcbiAgICB5ZWxsb3c6ICNmZmUyNDAsXG4gICAgc2lsdmVyOiAjNzA3MDcwLFxuICAgIGxpZ2h0c2lsdmVyOiAjY2RjZWNlLFxuICAgIGwtcGluazogI2ZkZDBkMCxcbiAgICBkLXBpbms6ICNmZmRiZGIsXG4gICAgby1waW5rOiAjZmZlYmVlLFxuICAgIGdvbGQ6ICNlN2UzZGEsXG4gICksXG4gIGRodHY6IChcbiAgICByZWQ6ICNiYjBhMmZcbiAgKSxcbiAgZHdhc2g6IChcbiAgICBibGFjazogIzA4MDgwOCxcbiAgICBncmVlbjogIzMzYWYzMyxcbiAgICBibHVlOiAjMDA0MGE3LFxuICAgIGxpZ2h0Ymx1ZTogIzE1NWRkMSxcbiAgKSxcbiAgc2RnczogKFxuICAgIGJsdWU6ICMwMDllZGIsXG4gICAgbGlnaHRibHVlOiAjZjJmNWY5LFxuICAgIGJvcmRlcmJsdWU6ICMwMDdlYWYsXG4gICksXG4gIGV0YWppbWE6IChcbiAgICByZWQ6ICNiNzIzMWQsXG4gICAgYmx1ZTogIzAwOTNmZixcbiAgICBiZy1ibHVlOiAjM2I4YWM0LFxuICAgIHllbGxvdzogI2ZmZDgzNCxcbiAgKVxuKTtcblxuLyoqXG4gKiDoibLjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAgJGtleXMgICAgICDphY3liJdcbiAqIEBwYXJhbSAge251bWJlcn0gJF9vcGFjaXR5ICAwLjAgfiAxXG4gKiBAcmV0dXJuIHttYXB9ICAgICAgICAgICAgICAgJGNvbG9yc+OBruS7u+aEj+OBrmtleVxuICovXG5AZnVuY3Rpb24gY29sb3IoJF9rZXlzLCRfb3BhY2l0eTogbnVsbCkge1xuICBAaWYoJF9vcGFjaXR5ICE9IG51bGwpIHtcbiAgICBAcmV0dXJuIHJnYmEobWFwLWRlZXAtZ2V0KCRjb2xvcnMsICRfa2V5cy4uLiksJF9vcGFjaXR5KVxuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1kZWVwLWdldCgkY29sb3JzLCAkX2tleXMuLi4pXG4gIH1cbn1cbiIsIiR6LWluZGV4OiAoXG4gIGhhbTogNTAyLFxuICBnbmF2OiA1MDEsXG4gIHJlc2VydmVkOiA1MDAsXG4gIGZyb250OiAyMDAsXG4gIG1vZGFsOiAoXG4gICAgbWFpbjogMTAxLFxuICApLFxuICBtYWluOiAxLFxuICBiYWNrOiAtMVxuKTtcblxuXG4vKipcbiAqIHotaW5kZXjjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJHotaW5kZXjjga7ku7vmhI/jga5rZXlcbiAqL1xuQGZ1bmN0aW9uIHotaW5kZXgoJGtleXMpIHtcbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoJHotaW5kZXgsICRrZXlzLi4uKTtcbn1cbiIsIi8qKlxuICog5pOs5Ly86KaB57Sg44Gn44Ki44K544Oa44Kv44OI5q+U44Gu6aCY5Z+f44KS56K65L+d44GZ44KLbWl4aW5cbiAqIEBwYXJhbSAgeyRfd2lkdGh9ICAgICAgICAgICAgICAgICAgIOaoquOBruWApFxuICogQHBhcmFtICB7JF9oZWlnaHR9ICAgICAgICAgICAgICAgICAg57im44Gu5YCkXG4gKiBAcGFyYW0gIHskX3BzZXVkb19lbGVtZW50fSBbYmVmb3JlXSDmtojosrvjgZnjgovnlpHkvLzopoHntKAgYmVmb3JlIG9yIGFmdGVyXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5AbWl4aW4gYXNwZWN0KCRfd2lkdGgsICRfaGVpZ2h0LCAkX3BzZXVkb19lbGVtZW50OiBiZWZvcmUpIHtcbiAgLy8gbWF4LXdpZHRoOiAkX2hlaWdodCArIHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOjojeyRfcHNldWRvX2VsZW1lbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkX3dpZHRoLyRfaGVpZ2h0KTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICA+IGltZywgc3Zne1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uO1xuICB9XG59XG4iLCIkZm9udHM6IChcbiAgamE6IChcbiAgICBzYW5zOiAoJ05vdG8gU2FucyBKUCcsIHNhbnMtc2VyaWYpLFxuICAgIHNlcmlmOiAoJ05vdG8gU2VyaWYgSlAnLCBzZXJpZilcbiAgKSxcbiAgZW46IChcbiAgICByb2JvdG86ICgnUm9ib3RvJywgc2Fucy1zZXJpZiksXG4gICAgZGFuY2luZzogKCdEYW5jaW5nIFNjcmlwdCcsIGN1cnNpdmUpLFxuICAgIGpvc2VmaW46ICgnSm9zZWZpbiBTbGFiJywgc2VyaWYpXG4gIClcbik7XG5cbi8qKlxuICogZm9udOOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICRrZXlzICDphY3liJdcbiAqIEByZXR1cm4ge21hcH0gICAkZm9udHPjga7ku7vmhI/jga5rZXlcbiAqL1xuQGZ1bmN0aW9uIGZvbnQoJGtleXMpIHtcbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoJGZvbnRzLCAka2V5cy4uLik7XG59XG4iLCIuYmxvZy1wYWdlbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3ByZXYgPiBhLCAuYmxvZy1wYWdlbmF0aW9uX19uZXh0ID4gYSB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgY29sb3I6ICMyMzE4MTU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fcHJldiA+IGE6aG92ZXIsIC5ibG9nLXBhZ2VuYXRpb25fX25leHQgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogLjc7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAxOHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMzcHg7XG4gIGhlaWdodDogMzNweDtcbiAgbWFyZ2luOiAwIDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM1NzU3NTc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cywgY29sb3IgLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2M2Y7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYzZjtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpLmlzLWN1cnJlbnQgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCB7XG4gIHdpZHRoOiAxMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXggPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXggPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogLjc7XG59XG4iLCIuY29udHJpYnV0aW9uIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxODVweDtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2RncyBsaWdodGJsdWUpO1xuICBAaW5jbHVkZSBvdmVyZmxvdyh0cnVlKTtcblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodChib2xkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLWxpc3Qge1xuICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggY29sb3Ioc2RncyBib3JkZXJibHVlLCAuMyk7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXNlIHtcblxuICAgICYtdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgd2lkdGg6IDU4JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19yaWdodCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU4JSAtIDQwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KG1lZGl1bSk7XG4gICAgICBsaW5lLWhlaWdodDogKDI4LzIwKTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2RncyBibHVlKTtcbiAgICAgIH1cbiAgICAgICYuLW10IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAmLi1tdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAoMjQvMTQpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWljb24tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTNweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTlweDtcbiAgICAgIH1cblxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjZweCkgLyAyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaWNvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KG1lZGl1bSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoMjQvMTQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaW1nLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0KDE4MCwyODApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAzKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2Rncy10b3B7XG4gICAgbWF4LXdpZHRoOiA5NDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLmNhc2V7XG4gICAgICAmX190aXRsZXtcbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1pY29uLWxpc3Qge1xuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2Rncy10b3BfX2J1dHRvbntcbiAgcGFkZGluZy10b3A6IDYwcHg7XG5cbiAgYXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjE4MTU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWcvc2Rncy9idG4tYXJyb3dAMngucG5nKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgJjpob3ZlcntcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTkRFWFxuLy8g44O7SUXnlKjjga7jg5bjg6njgqbjgrbjg4/jg4Pjgq9cbi8vIOODu+ODm+ODkOODvOOBruioreWumlxuLy8g44O744OG44Kt44K544OI44Ob44OQ44O844Gu6Kit5a6aXG4vLyDjg7vnlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vIOODu+ODoeODh+OCo+OCouOCr+OCqOODquODvOOBruioreWumlxuLy8g44O7cG9zaXRpb27jga5taXhpblxuLy8g44O7ZmxleOOBrm1peGluXG4vLyDjg7t3cmFwcGVy44GL44KJ44Gu6ZaL5pS+XG4vLyDjg7vnlpHkvLzopoHntKDjgadwYWRkaW5nLXRvcFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy9JReeUqOOBruODluODqeOCpuOCtuODj+ODg+OCr1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gaWVoYWNrIHtcbiAgQGF0LXJvb3QgYm9keS5pZS53aW5kb3dzICYge1xuICAgIEBjb250ZW50O1xuICB9XG4gIC8vanPjgpLliIfjgaPjgabjgYTjgotJRTEx55So44Gu44OV44Kp44O844Or44OQ44OD44KvXG4gIEBhdC1yb290IF86LW1zLWZ1bGxzY3JlZW4sIDpyb290ICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8v44Ob44OQ44O844Gu6Kit5a6aXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBfaG92ZXIge1xuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGllaGFjayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy/jg4bjgq3jgrnjg4jjg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyKCRuYW1lOm51bGwpIHtcbiAgQGlmICgkbmFtZSAhPSBudWxsKSB7JG5hbWU6IHRvLWxvd2VyLWNhc2UodW5xdW90ZSgkbmFtZSkpO31cbiAgQGlmKCRuYW1lID09IG51bGwpIHtcbiAgICBAaW5jbHVkZSBfaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnb3BhJyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuICBAaWYgJG5hbWUgPT0gJ3VuZGVyJyB7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6IGNvbG9yKHJlZCk7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnYnV0dG9uJyB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihiZyBkZWVwcmVkKTtcbiAgICB9XG4gIH1cbn1cblxuLy/nlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyaW1nKCRnaXppOmJlZm9yZSkge1xuICAmOjojeyRnaXppfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzO1xuICB9XG4gIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgJjo6I3skZ2l6aX0ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgjZmZmLC41KTtcbiAgICB9XG4gIH1cbn1cblxuLy9wb3NpdGlvbuOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHh5KSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGlmICRwb3NpdGlvbiA9PSB4eSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB4IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vZmxleOOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBmbGV4KCRwb3NpdGlvbjp4eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaWYgJHBvc2l0aW9uID09IHh5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB5IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi8vd3JhcHBlcuOBi+OCieOBrumWi+aUvlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gb3ZlcmZsb3coJHBhZGRpbmc6IG51bGwpIHtcbiAgJGlzcGFkZGluZzogJHBhZGRpbmcgIT1udWxsO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gNTAlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSA1MCUpO1xuICB9XG59XG5cbi8vICog6KGM5pWw44Gr44KI44KL55yB55WlXG4vLyAqIEBwYXJhbSB7SW50ZXJnZXJ9ICRsaW5lcyDooajnpLrjgZnjgovooYzmlbBcbi8vICogQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCDoqIjnrpfjgavkvb/nlKjjgZnjgovooYzpq5hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGVsbGlwc2lzKCRsaW5lcywgJGxpbmUtaGVpZ2h0KSB7XG4gIGhlaWdodDogY2FsYygjeyRsaW5lc31lbSAqICN7JGxpbmUtaGVpZ2h0fSApO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH1cbn1cblxuLy8g5pac44KB44K544OI44Op44Kk44OXXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVzKCRjb2xvcjE6ICRwcmltYXJ5LCAkY29sb3IyOiAkcHJpbWFyeS1saWdodCwgJGFuZ2xlOiAtNDVkZWcsICRzdHJpcGUxLXdpZHRoOiA1cHgsICRzdHJpcGUyLXdpZHRoOiAxcHgpIHtcbiAgQGlmICgkc3RyaXBlMi13aWR0aCA9PSBudWxsKSB7XG4gICAgJHN0cmlwZTItd2lkdGg6IG51bGw7XG4gIH1cblxuICAkdGlsZS1zaXplOiAoJHN0cmlwZTEtd2lkdGggKyAkc3RyaXBlMi13aWR0aCkgKiAyO1xuICAkc3RyaXBlMi1zdGFydDogKCRzdHJpcGUxLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlO1xuICAkc3RyaXBlMy1zdGFydDogJHN0cmlwZTItc3RhcnQgKyAoKCRzdHJpcGUyLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlKTtcbiAgJHN0cmlwZTQtc3RhcnQ6ICRzdHJpcGUzLXN0YXJ0ICsgKCgkc3RyaXBlMS13aWR0aCAvICR0aWxlLXNpemUpICogMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAkYW5nbGUsXG4gICAgJGNvbG9yMSxcbiAgICAkY29sb3IxICRzdHJpcGUyLXN0YXJ0LFxuICAgICRjb2xvcjIgJHN0cmlwZTItc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlMy1zdGFydCxcbiAgICAkY29sb3IxICRzdHJpcGUzLXN0YXJ0LFxuICAgICRjb2xvcjEgJHN0cmlwZTQtc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlNC1zdGFydCxcbiAgICAkY29sb3IyXG4gICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG5cbiAgYmFja2dyb3VuZC1zaXplOiAkdGlsZS1zaXplICR0aWxlLXNpemU7XG59XG5cblxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQG1peGluIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiB0cmltKCRsaW5lLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHRyaW0oJGxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICogQHJldHVybiB7TnVtYmVyfSBsaW5lLWhlaWdodOOBruWNiuWIhltlbV1cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQGZ1bmN0aW9uIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBAcmV0dXJuIC0oJGxpbmUtaGVpZ2h0IC0gMSkgLyAyICogMWVtO1xufVxuIiwiLmRlY2xhcmF0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihiZCBncmF5KTtcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KGJvbGQpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNkZ3MgYmx1ZSk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBsaW5lLWhlaWdodDogKDI4LzE2KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6ICgyNC8xNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYuLW10IHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNkZ3MtdG9wIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxODVweDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2RncyBsaWdodGJsdWUpO1xuICBAaW5jbHVkZSBvdmVyZmxvdyh0cnVlKTtcblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodChib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYtbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA1NnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoc20pe1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCBjb2xvcihzZGdzIGJvcmRlcmJsdWUsIC4zKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhc2Uge1xuXG4gICAgJl9fY2F0ZWdvcnl7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBjb2xvcjogIzFiOWVkYjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAoMjQvMTQpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5re1xuICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgYXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNjAlO1xuICAgICAgICAgIHJpZ2h0OiAtMTUlO1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICMyMjE4MTU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggIzIyMTgxNTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaWNvbi1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW46IDI1cHggYXV0byAwO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50d297XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMTlweCkge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZm91cntcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ3cHgpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaW1nLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0KDE4MCwyODApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAzKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zZGdzIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgJi1sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxODYuNTVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGFzcGVjdCgyNS44MiwxODYuNTUpO1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICBtYXgtd2lkdGg6IDU0NS43NHB4O1xuICAgIH1cbiAgfVxuXG4gICYtaWNvbl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTZweDtcbiAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgbWFyZ2luOiAtOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICB9XG4gIH1cblxuICAmLWljb25fX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzZweCkgLyA2KTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTA4cHgpIC8gNik7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYtc3ViIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodChib2xkKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgbGluZS1oZWlnaHQ6ICgyOC8xNik7XG4gIH1cbn1cblxuXG4uYnJlYWRjcnVtYntcbiAgbWFyZ2luLXRvcDogMThweDtcblxuICAmLWxpbmt7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAmOjphZnRlcntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNjAlO1xuICAgICAgcmlnaHQ6IC0xMCU7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzIyMTgxNTtcbiAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICMyMjE4MTU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjpob3ZlcntcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIH1cbiAgfVxufVxuIiwiLnRvcC10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAxOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVkKTtcbiAgQGluY2x1ZGUgb3ZlcmZsb3codHJ1ZSk7XG4gIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgcGFkZGluZy10b3A6IDI3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI3cHg7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KGJvbGQpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICB9XG4gIH1cbn1cbiIsbnVsbF0sInNvdXJjZVJvb3QiOiIifQ==*/