@charset "UTF-8";
/*! http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  border: 0
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}
body {
  line-height: 1
}
ol,
ul {
  list-style: none
}
blockquote,
q {
  quotes: none
}
blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none
}
table {
  border-spacing: 0;
  border-collapse: collapse
}
@font-face {
  font-family: DINNextRoundedLTPro-Bold;
  src: url(../font/DINNextRoundedLTPro-Bold.otf) format("opentype")
}
@font-face {
  font-family: Gotham-Medium;
  src: url(../font/Gotham-Medium.otf) format("opentype")
}
@font-face {
  font-family: NickyLaatz-WhiteOleander;
  src: url(../font/NickyLaatz-WhiteOleander.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Black;
  src: url(../font/NotoSansCJKjp-Black.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Bold;
  src: url(../font/NotoSansCJKjp-Bold.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Medium;
  src: url(../font/NotoSansCJKjp-Medium.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Regular;
  src: url(../font/NotoSansCJKjp-Regular.otf) format("opentype")
}
@font-face {
  font-family: RobotoCondensed-Bold;
  src: url(../font/RobotoCondensed-Bold.ttf) format("truetype")
}
@font-face {
  font-family: RobotoCondensed-Regular;
  src: url(../font/RobotoCondensed-Regular.ttf) format("truetype")
}
.fadein {
  transition: opacity 1s cubic-bezier(.445,.05,.55,.95),bottom 2s cubic-bezier(.445,.05,.55,.95)
}
.fadeup {
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  -webkit-transform: translateY(20px);
  transform: translateY(20px)
}
.fadedown {
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px)
}
.fadeleft {
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  -webkit-transform: translateX(20px);
  transform: translateX(20px)
}
.faderight {
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1);
  transition: opacity .5s cubic-bezier(.17,.935,.305,1),transform 1s cubic-bezier(.17,.935,.305,1),-webkit-transform 1s cubic-bezier(.17,.935,.305,1);
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px)
}
@media only screen and (max-width:768px) {
  .fadeup {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
  }
  .fadedown {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
  }
  .fadeleft {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
  }
  .faderight {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
  }
}
html {
  font-size: 62.5%
}
body {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000;
  background-color: #fff;
  overflow-x: hidden
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  body {
    font-size: calc(16vw / 12)
  }
}
a {
  color: #000;
  text-decoration: none
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
main {
  display: block
}
h1 {
  font-family: RobotoCondensed-Bold,sans-serif;
  font-size: 5.4rem;
  line-height: 1.2;
  text-align: center;
  letter-spacing: .4rem
}
h2 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .1rem
}
h3 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center
}
h4 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 2rem;
  font-weight: 700;
  text-align: center
}
h5 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 1.6rem;
  font-weight: 700
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  h1 {
    font-size: calc(54vw / 12)
  }
  h2 {
    font-size: calc(28vw / 12)
  }
  h3 {
    font-size: calc(24vw / 12)
  }
  h4 {
    font-size: calc(20vw / 12)
  }
  h5 {
    font-size: calc(16vw / 12)
  }
}
@media only screen and (max-width:768px) {
  h1 {
    font-size: calc(110vw / 12)
  }
  h2 {
    font-size: calc(55vw / 12)
  }
  h3 {
    font-size: calc(52.5vw / 12)
  }
  h4 {
    font-size: calc(50vw / 12)
  }
  h5 {
    font-size: calc(47.5vw / 12)
  }
}
.init_hidden {
  opacity: 0
}
.active.init_hidden {
  opacity: 1!important;
  -webkit-transform: translate(0,0);
  transform: translate(0,0)
}
.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: #e00;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-mask-size: 100% 200%;
  mask-size: 100% 200%;
  -webkit-mask-position: 0 50%;
  mask-position: 0 50%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 20%,#fff 80%,rgba(255,255,255,0) 100%);
  mask-image: linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 20%,#fff 80%,rgba(255,255,255,0) 100%)
}
.loading .loading_logo {
  width: 200px;
  height: auto
}
.loading .loading_percent {
  margin-top: 30px;
  letter-spacing: .25rem
}
.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 90px;
  background-color: #e00
}
.header .description {
  padding: 0 34px 6px;
  font-family: '游ゴシック体',YuGothic,'游ゴシック Medium','Yu Gothic Medium','游ゴシック','Yu Gothic','メイリオ',sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
  letter-spacing: .1rem
}
.header .header_logo {
  width: 110px;
  cursor: pointer
}
.header .menu {
  display: flex;
  align-items: center
}
.header .menu .contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 147px;
  height: 40px;
  margin-right: 100px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #e00;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  border-radius: 20px;
  transition: opacity .5s ease
}
.header .menu .contact:hover {
  opacity: .7
}
@media only screen and (max-width:768px) {
  .header .header_logo {
    margin-left: calc(50vw / 12)
  }
}
@media only screen and (max-width:479px) {
  .header {
    height: 65px
  }
  .header .header_logo {
    width: 100px
  }
  .header .menu .contact {
    margin-right: 75px
  }
}
.nav_btn {
  position: fixed;
  top: 18px;
  right: 20px;
  z-index: 3;
  width: 50px;
  height: 50px;
  cursor: pointer;
  border: 2px solid #fff;
  border-radius: 30px;
  transition: opacity .5s ease
}
.nav_btn:hover {
  opacity: .7
}
.nav_btn .line {
  position: absolute;
  left: 12px;
  display: block;
  width: 25px;
  height: 2px;
  background: #fff;
  transition: all .3s ease-out
}
.nav_btn .line_01 {
  top: 16px
}
.nav_btn .line_02 {
  top: 24px
}
.nav_btn .line_03 {
  top: 32px
}
.nav_show {
  overflow-y: hidden
}
.nav_show .nav_btn .line_01 {
  top: 24px;
  left: 13px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
.nav_show .nav_btn .line_02 {
  opacity: 0
}
.nav_show .nav_btn .line_03 {
  top: 24px;
  left: 13px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg)
}
@media only screen and (max-width:500px) {
  .nav_btn {
    top: 9px;
    right: 10px;
    width: 45px;
    height: 45px
  }
  .nav_btn .line {
    left: 11px;
    width: 23px
  }
  .nav_btn .line_01 {
    top: 13px
  }
  .nav_btn .line_02 {
    top: 21px
  }
  .nav_btn .line_03 {
    top: 29px
  }
  .nav_show .nav_btn .line_01 {
    top: 22px;
    left: 11px
  }
  .nav_show .nav_btn .line_03 {
    top: 22px;
    left: 11px
  }
}
.navigation {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition-timing-function: cubic-bezier(.7,0,.3,1);
  transition-duration: .5s;
  -webkit-overflow-scrolling: touch
}
.navigation .nav_wrapper {
  position: fixed;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  overflow-y: auto;
  background-color: #da0e17;
  transition-timing-function: cubic-bezier(.7,0,.3,1);
  transition-duration: .5s;
  -webkit-overflow-scrolling: touch
}
.navigation .nav_wrapper .logo {
  margin: 35px;
  text-align: center
}
.navigation .nav_wrapper .logo img {
  width: 200px
}
.navigation .nav_wrapper .anime {
  opacity: 0;
  transition-timing-function: cubic-bezier(.7,0,.3,1);
  transition-duration: .5s;
  -webkit-transform: scale(1.1) translateY(-24px);
  transform: scale(1.1) translateY(-24px)
}
.navigation .nav_wrapper .list {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  font-family: NotoSansCJKjp-Bold,sans-serif
}
.navigation .nav_wrapper .list a {
  font-size: 24px;
  color: #fff;
  transition: opacity .5s ease
}
.navigation .nav_wrapper .list a:hover {
  opacity: .7
}
.navigation .nav_wrapper .list .contact {
  padding: 15px 50px;
  font-size: 22px;
  color: #e00;
  background-color: #fff;
  border-radius: 35px
}
.navigation .nav_wrapper .list .mitsumori {
  padding: 15px 60px;
  font-size: 22px;
  background-color: #c7a660;
  border-radius: 35px
}
.navigation .nav_wrapper .list.one {
  transition-delay: .2s
}
.navigation .nav_wrapper .list.two {
  transition-delay: .3s
}
.navigation .nav_wrapper .list.three {
  transition-delay: .4s
}
.navigation .nav_wrapper .list.four {
  transition-delay: .5s
}
.navigation .nav_wrapper .list.five {
  transition-delay: .6s
}
@media only screen and (max-width:768px) {
  .navigation .nav_wrapper .list {
    height: 60px
  }
  .navigation .nav_wrapper .list a {
    font-size: 18px
  }
  .navigation .nav_wrapper .list .contact {
    padding: 10px 40px;
    font-size: 16px
  }
  .navigation .nav_wrapper .list .mitsumori {
    padding: 10px 50px;
    font-size: 16px
  }
}
.nav_show .navigation {
  z-index: 2;
  visibility: visible;
  opacity: 1
}
.nav_show .navigation .nav_wrapper .anime {
  opacity: 1;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0)
}
.main_section {
  position: relative
}
.sub_section {
  position: relative
}
.sub_section.cautions_section {
  padding-top: 60px;
  padding-bottom: 100px;
  background-color: #f3f2ee
}
.sub_section.cautions_section h2 {
  color: #e83b40
}
.sub_section.cautions_section h5 {
  margin: 50px 0 5px
}
.sub_section.cautions_section ul {
  margin-left: 10px;
  list-style: none
}
.sub_section.cautions_section ul li::before {
  padding-right: 3px;
  margin-left: -20px;
  font-weight: 700;
  content: '・'
}
.sub_section.cautions_section ul .red {
  color: #e83b40
}
.sub_section.cautions_section .inner {
  max-width: 900px!important
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  .sub_section.cautions_section {
    padding-top: calc(60vw / 12);
    padding-bottom: calc(100vw / 12)
  }
  .sub_section.cautions_section h5 {
    margin: calc(50vw / 12) 0 5px
  }
  .sub_section.cautions_section ul {
    margin-left: calc(10vw / 12)
  }
  .sub_section.cautions_section .inner {
    padding: 0 calc(100vw / 12);
    margin: 0!important
  }
}
@media only screen and (max-width:768px) {
  .sub_section.cautions_section {
    padding-top: calc(max(80vw / 12,40px));
    padding-bottom: calc(max(100vw / 12,80px));
    font-size: calc(max(30vw / 12,15px))
  }
  .sub_section.cautions_section h2 {
    line-height: 1
  }
  .sub_section.cautions_section h5 {
    margin: calc(max(80vw / 12,35px)) 0 5px;
    font-size: calc(max(30vw / 12,15px))
  }
  .sub_section.cautions_section ul li {
    font-size: calc(max(25vw / 12,14px))
  }
  .sub_section.cautions_section .inner {
    max-width: 560px!important;
    padding: 0 calc(max(50vw / 12,10px)) 0 calc(max(60vw / 12,14px));
    margin: 0!important
  }
}
.footer {
  position: relative;
  padding: 50px 0;
  background-color: #b69e6e
}
.footer .page_top {
  position: absolute;
  right: 50px;
  bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #d3c7ab;
  border-radius: 50px;
  transition: bottom .5s cubic-bezier(.17,.935,.305,1)
}
.footer .page_top img {
  width: 20px
}
.footer .page_top:hover {
  bottom: 60px;
  opacity: .8
}
.footer .footer_logo {
  text-align: center
}
.footer .footer_logo .footer_26k {
  margin-right: 100px;
  transition: opacity .5s ease
}
.footer .footer_logo .footer_26k img {
  height: 120px
}
.footer .footer_logo .footer_26k:hover {
  opacity: .7
}
.footer .footer_logo .footer_zizo {
  transition: opacity .5s ease
}
.footer .footer_logo .footer_zizo img {
  height: 120px
}
.footer .footer_logo .footer_zizo:hover {
  opacity: .7
}
.footer .sns {
  padding: 50px 0 20px;
  text-align: center
}
.footer .sns .sns_link {
  margin-right: 10px;
  transition: opacity .5s ease
}
.footer .sns .sns_link img {
  width: 60px
}
.footer .sns .sns_link:hover {
  opacity: .7
}
.footer .copyright {
  font-family: NotoSansCJKjp-Medium,sans-serif;
  color: #fff;
  text-align: center
}
@media only screen and (max-width:768px) {
  .footer {
    padding: calc(100vw / 12) calc(180vw / 12)
  }
  .footer .page_top {
    right: calc(50vw / 12);
    bottom: calc(50vw / 12)
  }
  .footer .page_top:hover {
    bottom: calc(100vw / 12)
  }
  .footer .footer_logo .footer_26k {
    margin-right: calc(100vw / 12)
  }
  .footer .footer_logo .footer_26k img {
    height: calc(max(200vw / 12,80px))
  }
  .footer .footer_logo .footer_zizo img {
    height: calc(max(200vw / 12,80px))
  }
  .footer .sns {
    padding: 50px 0 20px
  }
  .footer .copyright {
    margin-bottom: calc(100vw / 12);
    font-size: calc(35vw / 12)
  }
}
.sp_only {
  display: none
}
@media only screen and (max-width:768px) {
  .sp_only {
    display: initial
  }
  .pc_only {
    display: none
  }
}
.fixed {
  position: fixed
}
.bold {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-weight: 700
}
.text-center {
  text-align: center
}
picture {
  display: contents
}
.disabled {
  pointer-events: none;
  opacity: .2
}
.mt-10 {
  margin-top: 10px
}
.mt-50 {
  margin-top: 50px
}
.mb-40 {
  margin-bottom: 40px
}
#Contact .inner {
  position: relative;
  width: 100%;
  max-width: 1200px
}
#Contact .mandatory {
  padding: 4px 3px;
  margin-left: 5px;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  background-color: #e83b40;
  border-radius: 4px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Contact .mandatory {
    padding: calc(4vw / 12) calc(3vw / 12);
    margin-left: calc(5vw / 12);
    font-size: calc(12vw / 12);
    border-radius: calc(4vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Contact .mandatory {
    padding: calc(8vw / 12) calc(10vw / 12);
    margin-left: calc(5vw / 12);
    font-size: calc(max(25vw / 12,10px));
    border-radius: calc(4vw / 12)
  }
}
#Contact .main_visual {
  display: flex;
  justify-content: center
}
#Contact .main_visual .inner {
  position: relative;
  padding: 40px 40px 0
}
#Contact .main_visual .inner h1 {
  margin-top: 10px;
  color: #a99261
}
#Contact .main_visual .inner .top_link {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  overflow: hidden;
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #e00;
  text-align: center;
  border: 2px solid #e00;
  border-radius: 30px;
  transition: color .5s cubic-bezier(.17,.935,.305,1),background-color .5s cubic-bezier(.17,.935,.305,1)
}
#Contact .main_visual .inner .top_link div {
  padding: 8px 20px 8px 45px
}
#Contact .main_visual .inner .top_link div:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #e00;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s;
  -webkit-transform: scale(0,1);
  transform: scale(0,1);
  -webkit-transform-origin: right top;
  transform-origin: right top
}
#Contact .main_visual .inner .top_link div:hover {
  color: #fff
}
#Contact .main_visual .inner .top_link div:hover:before {
  -webkit-transform: scale(1,1);
  transform: scale(1,1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}
#Contact .main_visual .inner .top_link:before {
  position: absolute;
  top: 13px;
  left: 13px;
  display: inline-block;
  width: 18px;
  height: 18px;
  line-height: 55px;
  color: #7f878c;
  pointer-events: none;
  content: '';
  background-color: #e00;
  background-image: url(../../../assets/img/icon_arrow_left.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px;
  border-radius: 10px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Contact .main_visual .inner {
    padding: calc(40vw / 12) calc(40vw / 12) 0
  }
  #Contact .main_visual .inner h1 {
    margin-top: calc(10vw / 12)
  }
  #Contact .main_visual .inner .top_link {
    top: calc(20vw / 12);
    left: calc(20vw / 12);
    font-size: calc(15vw / 12);
    border-radius: calc(30vw / 12)
  }
  #Contact .main_visual .inner .top_link div {
    padding: calc(8vw / 12) calc(30vw / 12) calc(8vw / 12) calc(55vw / 12)
  }
  #Contact .main_visual .inner .top_link:before {
    top: calc(13vw / 12);
    left: calc(13vw / 12);
    width: calc(18vw / 12);
    height: calc(18vw / 12);
    line-height: calc(55vw / 12);
    background-size: calc(7vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Contact .main_visual .inner {
    padding: 0
  }
  #Contact .main_visual .inner h1 {
    margin-top: calc(250vw / 12)
  }
  #Contact .main_visual .inner .top_link {
    top: calc(50vw / 12);
    left: calc(50vw / 12);
    font-size: calc(max(30vw / 12,12px));
    border-radius: calc(100vw / 12)
  }
  #Contact .main_visual .inner .top_link div {
    padding: calc(24vw / 12) calc(50vw / 12) calc(24vw / 12) calc(100vw / 12)
  }
  #Contact .main_visual .inner .top_link:before {
    top: calc(max(32vw / 12,12px));
    left: calc(30vw / 12);
    width: calc(40vw / 12);
    height: calc(40vw / 12);
    background-size: calc(20vw / 12);
    border-radius: calc(100vw / 12)
  }
}
#Contact .sub_section {
  display: flex;
  justify-content: center;
  margin-top: 80px
}
#Contact .sub_section .inner {
  margin: 0 100px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Contact .sub_section {
    margin-top: calc(80vw / 12)
  }
  #Contact .sub_section .inner {
    margin: 0 calc(100vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Contact .sub_section {
    margin-top: calc(100vw / 12)
  }
  #Contact .sub_section .inner {
    margin: 0 calc(60vw / 12)
  }
}
#Contact .sub_section.contact_section {
  margin-top: 50px;
  margin-bottom: 200px
}
#Contact .sub_section.contact_section .inner {
  position: relative;
  max-width: 1000px;
  background-color: #f3f2ee
}
#Contact .sub_section.contact_section .inner h3 {
  padding: 15px 0;
  color: #fff;
  background-color: #e83b40
}
#Contact .sub_section.contact_section .inner .recaptcha {
  display: flex;
  padding: 20px 20px 20px 40px;
  margin-top: 50px;
  background-color: #fff
}
#Contact .sub_section.contact_section .inner .recaptcha p {
  margin-right: 30px;
  font-weight: 700
}
#Contact .sub_section.contact_section .inner .recaptcha form {
  padding: 0
}
#Contact .sub_section.contact_section .inner .input_confirm,
#Contact .sub_section.contact_section .inner .sended,
#Contact .sub_section.contact_section .inner form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 50px 110px
}
#Contact .sub_section.contact_section .inner .input_confirm .item,
#Contact .sub_section.contact_section .inner .sended .item,
#Contact .sub_section.contact_section .inner form .item {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 10px
}
#Contact .sub_section.contact_section .inner .input_confirm .item.vertical_center,
#Contact .sub_section.contact_section .inner .sended .item.vertical_center,
#Contact .sub_section.contact_section .inner form .item.vertical_center {
  align-items: center
}
#Contact .sub_section.contact_section .inner .input_confirm .item .title,
#Contact .sub_section.contact_section .inner .sended .item .title,
#Contact .sub_section.contact_section .inner form .item .title {
  width: 34%;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 1px
}
#Contact .sub_section.contact_section .inner .input_confirm .item .input,
#Contact .sub_section.contact_section .inner .sended .item .input,
#Contact .sub_section.contact_section .inner form .item .input {
  width: 60%
}
#Contact .sub_section.contact_section .inner .input_confirm .item .email_input_confirm,
#Contact .sub_section.contact_section .inner .sended .item .email_input_confirm,
#Contact .sub_section.contact_section .inner form .item .email_input_confirm {
  margin-top: 10px;
  margin-left: 34%;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif
}
#Contact .sub_section.contact_section .inner .input_confirm .item .note,
#Contact .sub_section.contact_section .inner .sended .item .note,
#Contact .sub_section.contact_section .inner form .item .note {
  margin: 10px 0;
  margin-left: 34%;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
  font-size: 14px
}
#Contact .sub_section.contact_section .inner .input_confirm .item .radio_selection,
#Contact .sub_section.contact_section .inner .sended .item .radio_selection,
#Contact .sub_section.contact_section .inner form .item .radio_selection {
  margin-top: -5px;
  margin-bottom: 10px
}
#Contact .sub_section.contact_section .inner .input_confirm .item .radio,
#Contact .sub_section.contact_section .inner .sended .item .radio,
#Contact .sub_section.contact_section .inner form .item .radio {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  cursor: pointer
}
#Contact .sub_section.contact_section .inner .input_confirm .item .radio input,
#Contact .sub_section.contact_section .inner .sended .item .radio input,
#Contact .sub_section.contact_section .inner form .item .radio input {
  width: 20px;
  height: 20px;
  margin: 0;
  margin-right: 10px;
  cursor: pointer
}
#Contact .sub_section.contact_section .inner .input_confirm .item input,
#Contact .sub_section.contact_section .inner .sended .item input,
#Contact .sub_section.contact_section .inner form .item input {
  height: 45px;
  padding: 0 20px;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
  font-size: 1.6rem;
  border: none;
  border-radius: 5px
}
#Contact .sub_section.contact_section .inner .input_confirm .item input::-webkit-input-placeholder,
#Contact .sub_section.contact_section .inner .sended .item input::-webkit-input-placeholder,
#Contact .sub_section.contact_section .inner form .item input::-webkit-input-placeholder {
  color: #ccc
}
#Contact .sub_section.contact_section .inner .input_confirm .item input::-moz-placeholder,
#Contact .sub_section.contact_section .inner .sended .item input::-moz-placeholder,
#Contact .sub_section.contact_section .inner form .item input::-moz-placeholder {
  color: #ccc
}
#Contact .sub_section.contact_section .inner .input_confirm .item input:-ms-input-placeholder,
#Contact .sub_section.contact_section .inner .sended .item input:-ms-input-placeholder,
#Contact .sub_section.contact_section .inner form .item input:-ms-input-placeholder {
  color: #ccc
}
#Contact .sub_section.contact_section .inner .input_confirm .item input::-ms-input-placeholder,
#Contact .sub_section.contact_section .inner .sended .item input::-ms-input-placeholder,
#Contact .sub_section.contact_section .inner form .item input::-ms-input-placeholder {
  color: #ccc
}
#Contact .sub_section.contact_section .inner .input_confirm .item input::placeholder,
#Contact .sub_section.contact_section .inner .sended .item input::placeholder,
#Contact .sub_section.contact_section .inner form .item input::placeholder {
  color: #ccc
}
#Contact .sub_section.contact_section .inner .input_confirm .item textarea,
#Contact .sub_section.contact_section .inner .sended .item textarea,
#Contact .sub_section.contact_section .inner form .item textarea {
  height: 160px;
  padding: 20px;
  font-family: '游ゴシック体',YuGothic,'游ゴシック','Yu Gothic','メイリオ','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
  font-size: 1.6rem;
  border: none;
  border-radius: 5px
}
#Contact .sub_section.contact_section .inner .input_confirm a.top_link,
#Contact .sub_section.contact_section .inner .input_confirm button,
#Contact .sub_section.contact_section .inner .sended a.top_link,
#Contact .sub_section.contact_section .inner .sended button,
#Contact .sub_section.contact_section .inner form a.top_link,
#Contact .sub_section.contact_section .inner form button {
  padding: 20px 60px;
  margin-top: 40px;
  font-weight: 700;
  color: #fff;
  background-color: #000;
  border: none;
  border-radius: 3px;
  cursor: pointer
}
#Contact .sub_section.contact_section .inner .input_confirm a.top_link:hover,
#Contact .sub_section.contact_section .inner .input_confirm button:hover,
#Contact .sub_section.contact_section .inner .sended a.top_link:hover,
#Contact .sub_section.contact_section .inner .sended button:hover,
#Contact .sub_section.contact_section .inner form a.top_link:hover,
#Contact .sub_section.contact_section .inner form button:hover {
  opacity: .7
}
#Contact .sub_section.contact_section .inner .input_confirm a.top_link.send,
#Contact .sub_section.contact_section .inner .input_confirm button.send,
#Contact .sub_section.contact_section .inner .sended a.top_link.send,
#Contact .sub_section.contact_section .inner .sended button.send,
#Contact .sub_section.contact_section .inner form a.top_link.send,
#Contact .sub_section.contact_section .inner form button.send {
  margin-left: 20px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Contact .sub_section.contact_section {
    margin-top: calc(50vw / 12);
    margin-bottom: calc(200vw / 12)
  }
  #Contact .sub_section.contact_section .inner {
    max-width: calc(1000vw / 12)
  }
  #Contact .sub_section.contact_section .inner h3 {
    padding: calc(15vw / 12) 0
  }
  #Contact .sub_section.contact_section .inner .recaptcha {
    padding: calc(20vw / 12) calc(20vw / 12) calc(20vw / 12) calc(40vw / 12);
    margin-top: calc(50vw / 12)
  }
  #Contact .sub_section.contact_section .inner .recaptcha p {
    margin-right: calc(30vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm,
  #Contact .sub_section.contact_section .inner .sended,
  #Contact .sub_section.contact_section .inner form {
    padding: calc(50vw / 12) calc(110vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item,
  #Contact .sub_section.contact_section .inner .sended .item,
  #Contact .sub_section.contact_section .inner form .item {
    margin-top: calc(10vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .title,
  #Contact .sub_section.contact_section .inner .sended .item .title,
  #Contact .sub_section.contact_section .inner form .item .title {
    font-size: calc(15vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .email_input_confirm,
  #Contact .sub_section.contact_section .inner .sended .item .email_input_confirm,
  #Contact .sub_section.contact_section .inner form .item .email_input_confirm {
    margin-top: calc(10vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .note,
  #Contact .sub_section.contact_section .inner .sended .item .note,
  #Contact .sub_section.contact_section .inner form .item .note {
    margin: calc(10vw / 12) 0;
    margin-left: 34%;
    font-size: calc(14vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio_selection,
  #Contact .sub_section.contact_section .inner .sended .item .radio_selection,
  #Contact .sub_section.contact_section .inner form .item .radio_selection {
    margin-top: calc(-5vw / 12);
    margin-bottom: calc(10vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio,
  #Contact .sub_section.contact_section .inner .sended .item .radio,
  #Contact .sub_section.contact_section .inner form .item .radio {
    margin-bottom: calc(5vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio input,
  #Contact .sub_section.contact_section .inner .sended .item .radio input,
  #Contact .sub_section.contact_section .inner form .item .radio input {
    width: calc(20vw / 12);
    height: calc(20vw / 12);
    margin-right: calc(10vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item input,
  #Contact .sub_section.contact_section .inner .sended .item input,
  #Contact .sub_section.contact_section .inner form .item input {
    height: calc(45vw / 12);
    padding: 0 calc(20vw / 12);
    border-radius: calc(5vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item textarea,
  #Contact .sub_section.contact_section .inner .sended .item textarea,
  #Contact .sub_section.contact_section .inner form .item textarea {
    height: calc(160vw / 12);
    padding: calc(20vw / 12);
    border-radius: calc(5vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm a.top_link,
  #Contact .sub_section.contact_section .inner .input_confirm button,
  #Contact .sub_section.contact_section .inner .sended a.top_link,
  #Contact .sub_section.contact_section .inner .sended button,
  #Contact .sub_section.contact_section .inner form a.top_link,
  #Contact .sub_section.contact_section .inner form button {
    padding: calc(20vw / 12) calc(60vw / 12);
    margin-top: calc(40vw / 12);
    border-radius: calc(3vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm a.top_link.send,
  #Contact .sub_section.contact_section .inner .input_confirm button.send,
  #Contact .sub_section.contact_section .inner .sended a.top_link.send,
  #Contact .sub_section.contact_section .inner .sended button.send,
  #Contact .sub_section.contact_section .inner form a.top_link.send,
  #Contact .sub_section.contact_section .inner form button.send {
    margin-left: calc(20vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Contact .sub_section.contact_section {
    margin-top: calc(80vw / 12);
    margin-bottom: calc(150vw / 12)
  }
  #Contact .sub_section.contact_section .inner {
    max-width: 90vw
  }
  #Contact .sub_section.contact_section .inner h3 {
    padding: calc(max(40vw / 12,20px)) 0
  }
  #Contact .sub_section.contact_section .inner .recaptcha {
    flex-wrap: wrap;
    width: 70vw;
    padding: 20px
  }
  #Contact .sub_section.contact_section .inner .recaptcha p {
    width: 100%;
    margin: 0;
    margin-bottom: calc(30vw / 12);
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .recaptcha .g-recaptcha {
    margin: auto
  }
  #Contact .sub_section.contact_section .inner .sended {
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm,
  #Contact .sub_section.contact_section .inner .sended,
  #Contact .sub_section.contact_section .inner form {
    padding: 0 calc(80vw / 12) calc(100vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item,
  #Contact .sub_section.contact_section .inner .sended .item,
  #Contact .sub_section.contact_section .inner form .item {
    width: 100%;
    margin-top: calc(max(80vw / 12,30px));
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .title,
  #Contact .sub_section.contact_section .inner .sended .item .title,
  #Contact .sub_section.contact_section .inner form .item .title {
    width: 100%;
    margin-bottom: calc(max(20vw / 12,5px));
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .input,
  #Contact .sub_section.contact_section .inner .sended .item .input,
  #Contact .sub_section.contact_section .inner form .item .input {
    width: 100%
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .email_input_confirm,
  #Contact .sub_section.contact_section .inner .sended .item .email_input_confirm,
  #Contact .sub_section.contact_section .inner form .item .email_input_confirm {
    margin: calc(30vw / 12) 0 0
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .note,
  #Contact .sub_section.contact_section .inner .sended .item .note,
  #Contact .sub_section.contact_section .inner form .item .note {
    margin: 10px 0;
    font-size: calc(max(30vw / 12,12px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio_selection,
  #Contact .sub_section.contact_section .inner .sended .item .radio_selection,
  #Contact .sub_section.contact_section .inner form .item .radio_selection {
    margin: 0 0 calc(10vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio,
  #Contact .sub_section.contact_section .inner .sended .item .radio,
  #Contact .sub_section.contact_section .inner form .item .radio {
    margin-bottom: 5px;
    font-size: calc(max(40vw / 12,13px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item .radio input,
  #Contact .sub_section.contact_section .inner .sended .item .radio input,
  #Contact .sub_section.contact_section .inner form .item .radio input {
    width: calc(60vw / 12);
    height: calc(60vw / 12);
    margin-right: 10px;
    border-radius: calc(30vw / 12)
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item input,
  #Contact .sub_section.contact_section .inner .sended .item input,
  #Contact .sub_section.contact_section .inner form .item input {
    height: calc(max(100vw / 12,40px));
    padding: 0 calc(30vw / 12);
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm .item textarea,
  #Contact .sub_section.contact_section .inner .sended .item textarea,
  #Contact .sub_section.contact_section .inner form .item textarea {
    height: calc(300vw / 12);
    padding: calc(30vw / 12);
    font-size: calc(max(40vw / 12,14px))
  }
  #Contact .sub_section.contact_section .inner .input_confirm a.top_link,
  #Contact .sub_section.contact_section .inner .input_confirm button,
  #Contact .sub_section.contact_section .inner .sended a.top_link,
  #Contact .sub_section.contact_section .inner .sended button,
  #Contact .sub_section.contact_section .inner form a.top_link,
  #Contact .sub_section.contact_section .inner form button {
    padding: calc(50vw / 12) calc(120vw / 12);
    margin-top: calc(80vw / 12);
    font-size: calc(max(35vw / 12,14px))
  }
}
@media only screen and (max-width:479px) {
  #Contact .sub_section.contact_section .inner .recaptcha .g-recaptcha {
    -webkit-transform: scale(.85);
    transform: scale(.85);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }
}
#Plan .inner {
  position: relative;
  width: 100%;
  max-width: 1200px
}
#Plan .separation {
  display: none
}
@media only screen and (max-width:768px) {
  #Plan .separation {
    display: block;
    width: 100%;
    margin: calc(120vw / 12) 0 calc(60vw / 12);
    border-bottom: 1px solid #e3e3e3
  }
}
#Plan .main_visual {
  display: flex;
  justify-content: center
}
#Plan .main_visual .inner {
  position: relative;
  padding: 40px 40px 0
}
#Plan .main_visual .inner h1 {
  margin-top: 10px;
  color: #a99261
}
#Plan .main_visual .inner h2 {
  margin-top: 20px;
  color: #e83b40
}
#Plan .main_visual .inner .mitsumori {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 140px;
  height: 140px;
  transition: opacity .5s ease
}
#Plan .main_visual .inner .mitsumori:hover {
  opacity: .9
}
#Plan .main_visual .inner .top_link {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  overflow: hidden;
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #e00;
  text-align: center;
  border: 2px solid #e00;
  border-radius: 30px;
  transition: color .5s cubic-bezier(.17,.935,.305,1),background-color .5s cubic-bezier(.17,.935,.305,1)
}
#Plan .main_visual .inner .top_link div {
  padding: 8px 20px 8px 45px
}
#Plan .main_visual .inner .top_link div:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #e00;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s;
  -webkit-transform: scale(0,1);
  transform: scale(0,1);
  -webkit-transform-origin: right top;
  transform-origin: right top
}
#Plan .main_visual .inner .top_link div:hover {
  color: #fff
}
#Plan .main_visual .inner .top_link div:hover:before {
  -webkit-transform: scale(1,1);
  transform: scale(1,1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}
#Plan .main_visual .inner .top_link:before {
  position: absolute;
  top: 13px;
  left: 13px;
  display: inline-block;
  width: 18px;
  height: 18px;
  line-height: 55px;
  color: #7f878c;
  pointer-events: none;
  content: '';
  background-color: #e00;
  background-image: url(../../../assets/img/icon_arrow_left.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px;
  border-radius: 10px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Plan .main_visual .inner {
    padding: calc(40vw / 12) calc(40vw / 12) 0
  }
  #Plan .main_visual .inner h1 {
    margin-top: calc(10vw / 12)
  }
  #Plan .main_visual .inner h2 {
    margin-top: calc(20vw / 12)
  }
  #Plan .main_visual .inner .mitsumori {
    top: calc(10vw / 12);
    right: calc(10vw / 12);
    width: calc(140vw / 12);
    height: calc(140vw / 12)
  }
  #Plan .main_visual .inner .top_link {
    top: calc(20vw / 12);
    left: calc(20vw / 12);
    font-size: calc(15vw / 12);
    border-radius: calc(30vw / 12)
  }
  #Plan .main_visual .inner .top_link div {
    padding: calc(8vw / 12) calc(30vw / 12) calc(8vw / 12) calc(55vw / 12)
  }
  #Plan .main_visual .inner .top_link:before {
    top: calc(13vw / 12);
    left: calc(13vw / 12);
    width: calc(18vw / 12);
    height: calc(18vw / 12);
    line-height: calc(55vw / 12);
    background-size: calc(7vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Plan .main_visual .inner {
    padding: 0
  }
  #Plan .main_visual .inner h1 {
    margin-top: calc(250vw / 12)
  }
  #Plan .main_visual .inner h2 {
    margin-top: calc(35vw / 12)
  }
  #Plan .main_visual .inner .top_link {
    top: calc(50vw / 12);
    left: calc(50vw / 12);
    font-size: calc(max(30vw / 12,12px));
    border-radius: calc(100vw / 12)
  }
  #Plan .main_visual .inner .top_link div {
    padding: calc(24vw / 12) calc(50vw / 12) calc(24vw / 12) calc(100vw / 12)
  }
  #Plan .main_visual .inner .top_link:before {
    top: calc(max(32vw / 12,12px));
    left: calc(30vw / 12);
    width: calc(40vw / 12);
    height: calc(40vw / 12);
    background-size: calc(20vw / 12);
    border-radius: calc(100vw / 12)
  }
}
#Plan .sub_section {
  display: flex;
  justify-content: center;
  margin-top: 80px
}
#Plan .sub_section .article_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 60px
}
#Plan .sub_section .article_list .article_item {
  width: 46%
}
#Plan .sub_section .article_list .article_item .article_thumb {
  width: 300px;
  margin: auto
}
#Plan .sub_section .article_list .article_item .article_thumb img {
  width: 85%
}
#Plan .sub_section .article_list .article_item .article_thumb.right {
  display: flex;
  justify-content: flex-end;
  margin-right: 0
}
#Plan .sub_section .article_list .article_item .article_thumb.right img {
  align-self: flex-start;
  width: 100%;
  height: auto
}
#Plan .sub_section .article_list .article_item .article_thumb.left {
  display: flex;
  margin-left: 0
}
#Plan .sub_section .article_list .article_item .article_thumb.left img {
  align-self: flex-start;
  width: 100%;
  height: auto
}
#Plan .sub_section .article_list .article_item .sub_article_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}
#Plan .sub_section .article_list .article_item .sub_article_list .sub_article_item {
  width: 46%
}
#Plan .sub_section .article_list .article_item .sub_article_list .sub_article_item p {
  margin-top: 10px
}
#Plan .sub_section .article_list .note {
  font-size: 1.5rem
}
#Plan .sub_section .inner {
  margin: 0 100px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Plan .sub_section {
    margin-top: calc(80vw / 12)
  }
  #Plan .sub_section .article_list {
    padding: 0 calc(60vw / 12)
  }
  #Plan .sub_section .article_list .article_item .article_thumb {
    width: calc(300vw / 12)
  }
  #Plan .sub_section .article_list .note {
    font-size: calc(15vw / 12)
  }
  #Plan .sub_section .inner {
    margin: 0 calc(100vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Plan .sub_section {
    margin-top: calc(100vw / 12)
  }
  #Plan .sub_section .article_list {
    padding: 0 calc(50vw / 12)
  }
  #Plan .sub_section .article_list .article_item {
    width: 100%;
    font-size: calc(max(28vw / 12,15px))
  }
  #Plan .sub_section .article_list .article_item .article_thumb {
    width: calc(max(450vw / 12,180px))
  }
  #Plan .sub_section .article_list .article_item .article_thumb img {
    width: 100%
  }
  #Plan .sub_section .article_list .article_item .article_thumb.right {
    justify-content: center;
    margin: auto
  }
  #Plan .sub_section .article_list .article_item .article_thumb.left {
    justify-content: center;
    width: 60%;
    margin: auto
  }
  #Plan .sub_section .article_list .article_item .sub_article_list .sub_article_item {
    font-size: calc(max(28vw / 12,15px))
  }
  #Plan .sub_section .article_list .article_item .sub_article_list .sub_article_item p {
    margin-top: calc(10vw / 12)
  }
  #Plan .sub_section .article_list .note {
    font-size: calc(max(24vw / 12,14px))
  }
  #Plan .sub_section .inner {
    margin: 0 calc(60vw / 12)
  }
}
#Plan .sub_section.choice_plan_section {
  margin-top: 50px
}
#Plan .sub_section.choice_plan_section .inner {
  position: relative;
  max-width: 1000px;
  background-color: #f3f2ee
}
#Plan .sub_section.choice_plan_section .inner h3 {
  padding: 15px 0;
  color: #fff;
  background-color: #e83b40
}
#Plan .sub_section.choice_plan_section .inner h4 {
  margin-top: 50px;
  color: #e83b40
}
#Plan .sub_section.choice_plan_section .inner .article_item .article {
  padding: 0 20px
}
#Plan .sub_section.choice_plan_section .inner .article_item .article.p-0 {
  padding: 0
}
#Plan .sub_section.choice_plan_section .inner .article_item .article .row {
  margin-top: 50px
}
#Plan .sub_section.choice_plan_section .inner .balloon {
  position: absolute;
  top: -50px;
  left: 240px;
  width: 150px
}
#Plan .sub_section.choice_plan_section .inner .plan_footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 50px 70px 70px
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .footer_logo {
  width: calc(35% - 60px);
  padding: 30px
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text {
  width: calc(65% - 60px);
  padding: 30px 30px 40px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  line-height: 1.4;
  color: #fff
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price {
  font-size: 7rem;
  font-weight: 700
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price .price_text {
  margin-left: 20px;
  font-size: 1.8rem
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .note {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.2rem
}
#Plan .sub_section.choice_plan_section .inner .plan_footer .bg_red {
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 70%;
  background-color: #e83b40
}
@media only screen and (max-width:950px) and (min-width:768px) {
  #Plan .sub_section.choice_plan_section .inner .plan_footer .bg_red {
    height: 85%
  }
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Plan .sub_section.choice_plan_section .inner h3 {
    padding: calc(15vw / 12) 0
  }
  #Plan .sub_section.choice_plan_section .inner h4 {
    margin-top: calc(50vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .article_item .article {
    padding: 0 calc(20vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .article_item .article .row {
    margin-top: calc(50vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .balloon {
    top: calc(-50vw / 12);
    left: calc(240vw / 12);
    width: calc(150vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer {
    margin: calc(50vw / 12) calc(70vw / 12) calc(70vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_logo {
    width: calc(35% - 60vw / 12);
    padding: calc(30vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text {
    width: calc(65% - 60vw / 12);
    padding: calc(30vw / 12) calc(30vw / 12) calc(40vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price {
    font-size: calc(70vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(18vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(12vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Plan .sub_section.choice_plan_section {
    margin-top: calc(80vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner h3 {
    padding: calc(max(40vw / 12,20px)) 0
  }
  #Plan .sub_section.choice_plan_section .inner h4 {
    margin-top: calc(100vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .article_item .article {
    padding: 0
  }
  #Plan .sub_section.choice_plan_section .inner .article_item .article .row {
    margin-top: calc(80vw / 12)
  }
  #Plan .sub_section.choice_plan_section .inner .balloon {
    top: calc(-80vw / 12);
    left: calc(-50vw / 12);
    width: calc(max(250vw / 12,85px))
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer {
    display: block;
    margin: calc(50vw / 12) calc(70vw / 12) calc(70vw / 12);
    text-align: center;
    letter-spacing: 1.5px
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .bg_red {
    height: 95%
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_logo {
    width: 70%;
    padding: 0 0 calc(50vw / 12) 0
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text {
    width: inherit;
    padding: 0 calc(60vw / 12) calc(60vw / 12);
    font-size: calc(max(35vw / 12,16px));
    line-height: 1.6;
    text-align: left
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price {
    margin-bottom: calc(30vw / 12);
    font-size: calc(180vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(max(35vw / 12,16px));
    letter-spacing: 0
  }
  #Plan .sub_section.choice_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(max(24vw / 12,14px))
  }
}
#Plan .sub_section.original_label_plan_section .inner {
  position: relative;
  max-width: 1000px;
  background-color: #f3f2ee
}
#Plan .sub_section.original_label_plan_section .inner h3 {
  padding: 15px 0;
  color: #fff;
  background-color: #e83b40
}
#Plan .sub_section.original_label_plan_section .inner h4 {
  margin-top: 50px;
  color: #e83b40
}
#Plan .sub_section.original_label_plan_section .inner .article_item .article {
  padding: 0 20px
}
#Plan .sub_section.original_label_plan_section .inner .article_item .article .row {
  margin-top: 50px
}
#Plan .sub_section.original_label_plan_section .inner .balloon {
  position: absolute;
  top: -50px;
  left: 200px;
  width: 150px
}
#Plan .sub_section.original_label_plan_section .inner .step_midashi {
  padding: 60px 0 30px;
  text-align: center
}
#Plan .sub_section.original_label_plan_section .inner .step_midashi img {
  width: 500px
}
#Plan .sub_section.original_label_plan_section .inner .step {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 60px
}
#Plan .sub_section.original_label_plan_section .inner .step .flow {
  width: 4.4%;
  height: 19%;
  margin-right: 10px
}
#Plan .sub_section.original_label_plan_section .inner .step .step {
  width: 29%;
  height: 20.46%;
  padding: 0
}
#Plan .sub_section.original_label_plan_section .inner .step .step img {
  max-height: 181px
}
#Plan .sub_section.original_label_plan_section .inner .step .step .bold {
  margin-top: 20px
}
#Plan .sub_section.original_label_plan_section .inner .step .arrow {
  width: 1.7%;
  height: 1.462%;
  margin-top: 77px
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 10px 70px 70px
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_logo {
  width: calc(35% - 60px);
  padding: 30px
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text {
  width: calc(65% - 60px);
  padding: 30px 30px 40px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  line-height: 1.4;
  color: #fff
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price {
  font-size: 7rem;
  font-weight: 700
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price .price_text {
  margin-left: 20px;
  font-size: 1.8rem
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .note {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.2rem
}
#Plan .sub_section.original_label_plan_section .inner .plan_footer .bg_red {
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 70%;
  background-color: #e83b40
}
@media only screen and (max-width:950px) and (min-width:768px) {
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .bg_red {
    height: 85%
  }
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Plan .sub_section.original_label_plan_section .inner h3 {
    padding: calc(15vw / 12) 0
  }
  #Plan .sub_section.original_label_plan_section .inner h4 {
    margin-top: calc(50vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .article_item .article {
    padding: 0 calc(20vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .article_item .article .row {
    margin-top: calc(50vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .balloon {
    top: calc(-50vw / 12);
    left: calc(200vw / 12);
    width: calc(150vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step_midashi {
    padding: calc(60vw / 12) 0 calc(30vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step_midashi img {
    width: calc(500vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step {
    padding: 0 calc(60vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step .step img {
    max-height: calc(181vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step .step .bold {
    margin-top: calc(20vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step .arrow {
    margin-top: calc(77vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer {
    margin: calc(10vw / 12) calc(70vw / 12) calc(70vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_logo {
    width: calc(35% - 60vw / 12);
    padding: calc(30vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text {
    width: calc(65% - 60vw / 12);
    padding: calc(30vw / 12) calc(30vw / 12) calc(40vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price {
    font-size: calc(70vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(18vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(12vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Plan .sub_section.original_label_plan_section .inner h3 {
    padding: calc(max(40vw / 12,20px)) 0
  }
  #Plan .sub_section.original_label_plan_section .inner h4 {
    margin-top: calc(100vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .article_item .article {
    padding: 0
  }
  #Plan .sub_section.original_label_plan_section .inner .article_item .article .row {
    margin-top: calc(80vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .balloon {
    top: calc(-80vw / 12);
    left: calc(-50vw / 12);
    width: calc(max(250vw / 12,85px))
  }
  #Plan .sub_section.original_label_plan_section .inner .step_midashi {
    padding: calc(150vw / 12) 0 calc(30vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step_midashi img {
    width: 90%
  }
  #Plan .sub_section.original_label_plan_section .inner .step {
    display: block;
    padding: 0 calc(60vw / 12);
    font-size: calc(max(28vw / 12,15px));
    text-align: center
  }
  #Plan .sub_section.original_label_plan_section .inner .step .step {
    width: 100%;
    text-align: left
  }
  #Plan .sub_section.original_label_plan_section .inner .step .step .bold {
    margin-top: calc(40vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step .step img {
    max-height: inherit
  }
  #Plan .sub_section.original_label_plan_section .inner .step .flow {
    width: 100%;
    margin-bottom: calc(50vw / 12)
  }
  #Plan .sub_section.original_label_plan_section .inner .step .arrow {
    width: calc(max(40vw / 12,15px));
    margin: calc(60vw / 12) 0
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer {
    display: block;
    margin: calc(50vw / 12) calc(70vw / 12) calc(70vw / 12);
    text-align: center;
    letter-spacing: 1.5px
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .bg_red {
    height: 95%
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_logo {
    width: 70%;
    padding: 0 0 calc(50vw / 12) 0
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text {
    width: inherit;
    padding: 0 calc(60vw / 12) calc(60vw / 12);
    font-size: calc(max(35vw / 12,16px));
    line-height: 1.6;
    text-align: left
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price {
    margin-bottom: calc(30vw / 12);
    font-size: calc(180vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(max(35vw / 12,16px));
    letter-spacing: 0
  }
  #Plan .sub_section.original_label_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(max(24vw / 12,14px))
  }
}
#Plan .sub_section.original_beer_plan_section .inner {
  position: relative;
  max-width: 1000px;
  background-color: #f3f2ee
}
#Plan .sub_section.original_beer_plan_section .inner h3 {
  padding: 15px 0;
  color: #fff;
  background-color: #e83b40
}
#Plan .sub_section.original_beer_plan_section .inner .article_item .article {
  padding: 0 20px
}
#Plan .sub_section.original_beer_plan_section .inner .article_item .article .row {
  margin-top: 50px
}
#Plan .sub_section.original_beer_plan_section .inner .balloon {
  position: absolute;
  top: -50px;
  left: 200px;
  width: 150px
}
#Plan .sub_section.original_beer_plan_section .inner .step_midashi {
  padding: 60px 0 30px;
  text-align: center
}
#Plan .sub_section.original_beer_plan_section .inner .step_midashi .beer_midashi {
  width: 600px
}
#Plan .sub_section.original_beer_plan_section .inner .step_midashi img {
  width: 500px
}
#Plan .sub_section.original_beer_plan_section .inner .step {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 60px
}
#Plan .sub_section.original_beer_plan_section .inner .step .flow {
  width: 4.4%;
  height: 19%;
  margin-right: 10px
}
#Plan .sub_section.original_beer_plan_section .inner .step .step {
  width: 29%;
  height: 20.46%;
  padding: 0
}
#Plan .sub_section.original_beer_plan_section .inner .step .step img {
  max-height: 181px
}
#Plan .sub_section.original_beer_plan_section .inner .step .step .bold {
  margin-top: 20px
}
#Plan .sub_section.original_beer_plan_section .inner .step .step .highlight {
  background-color: #f7f6a0
}
#Plan .sub_section.original_beer_plan_section .inner .step .arrow {
  width: 1.7%;
  height: 1.462%;
  margin-top: 77px
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 10px 70px 70px
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_logo {
  width: calc(35% - 60px);
  padding: 30px
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text {
  width: calc(65% - 60px);
  padding: 30px 30px 40px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  line-height: 1.4;
  color: #fff
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price {
  font-size: 7rem;
  font-weight: 700
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price .price_text {
  margin-left: 20px;
  font-size: 1.8rem
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .note {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.2rem
}
#Plan .sub_section.original_beer_plan_section .inner .plan_footer .bg_red {
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 70%;
  background-color: #e83b40
}
@media only screen and (max-width:950px) and (min-width:768px) {
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .bg_red {
    height: 85%
  }
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Plan .sub_section.original_beer_plan_section .inner h3 {
    padding: calc(15vw / 12) 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .article_item .article {
    padding: 0 calc(20vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .article_item .article .row {
    margin-top: calc(50vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .balloon {
    top: calc(-50vw / 12);
    left: calc(200vw / 12);
    width: calc(150vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi {
    padding: calc(60vw / 12) 0 calc(30vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi .beer_midashi {
    width: calc(600vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi img {
    width: calc(500vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step {
    padding: 0 calc(60vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .step img {
    max-height: calc(181vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .step .bold {
    margin-top: calc(20vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .arrow {
    margin-top: calc(77vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer {
    margin: calc(10vw / 12) calc(70vw / 12) calc(70vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_logo {
    width: calc(35% - 60vw / 12);
    padding: calc(30vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text {
    width: calc(65% - 60vw / 12);
    padding: calc(30vw / 12) calc(30vw / 12) calc(40vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price {
    font-size: calc(70vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(18vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(12vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Plan .sub_section.original_beer_plan_section {
    margin-bottom: calc(max(100vw / 12,50px))
  }
  #Plan .sub_section.original_beer_plan_section .inner h3 {
    padding: calc(max(40vw / 12,20px)) 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .article_item .article {
    padding: 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .article_item .article .row {
    margin-top: calc(80vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .balloon {
    top: calc(-80vw / 12);
    left: calc(-50vw / 12);
    width: calc(max(250vw / 12,85px))
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi {
    padding: calc(150vw / 12) 0 calc(30vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi .beer_midashi {
    width: 90%
  }
  #Plan .sub_section.original_beer_plan_section .inner .step_midashi img {
    width: 90%
  }
  #Plan .sub_section.original_beer_plan_section .inner .step {
    display: block;
    padding: 0 calc(60vw / 12);
    text-align: center
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .step {
    width: 100%;
    font-size: calc(max(28vw / 12,15px));
    text-align: left
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .step .bold {
    margin-top: calc(40vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .step img {
    max-height: inherit
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .flow {
    width: 100%;
    margin-bottom: calc(50vw / 12)
  }
  #Plan .sub_section.original_beer_plan_section .inner .step .arrow {
    width: calc(max(40vw / 12,15px));
    margin: calc(60vw / 12) 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer {
    display: block;
    margin: calc(50vw / 12) calc(70vw / 12) calc(70vw / 12);
    text-align: center;
    letter-spacing: 1.5px
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .bg_red {
    height: 95%
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_logo {
    width: 70%;
    padding: 0 0 calc(50vw / 12) 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text {
    width: inherit;
    padding: 0 calc(60vw / 12) calc(60vw / 12);
    font-size: calc(max(35vw / 12,16px));
    line-height: 1.6;
    text-align: left
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price {
    margin-bottom: calc(30vw / 12);
    font-size: calc(180vw / 12);
    line-height: 1.3
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .price .price_text {
    margin-left: calc(20vw / 12);
    font-size: calc(max(35vw / 12,16px));
    letter-spacing: 0
  }
  #Plan .sub_section.original_beer_plan_section .inner .plan_footer .footer_text .note {
    font-size: calc(max(24vw / 12,14px))
  }
}
@media only screen and (max-width:768px) {
  #Top .main_contents {
    overflow: hidden
  }
}
#Top .inner {
  width: 100%;
  max-width: 1200px
}
#Top .partition_area {
  width: 100%
}
#Top .partition_area.one {
  position: absolute;
  bottom: 0
}
@media only screen and (min-width:1201px) {
  #Top .partition_area {
    display: flex
  }
  #Top .partition_area .partition_tail {
    width: calc(100% - 1200px);
    background-repeat: repeat;
    background-size: contain
  }
  #Top .partition_area.one {
    left: 0;
    height: 192px
  }
  #Top .partition_area.one img {
    height: 192px
  }
  #Top .partition_area.one .partition_tail {
    height: 192px;
    background-image: url(../../../assets/img/partition1_tail.png)
  }
  #Top .partition_area.two {
    height: 192px
  }
  #Top .partition_area.two img {
    height: 192px
  }
  #Top .partition_area.two .partition_tail {
    height: 192px;
    background-image: url(../../../assets/img/partition2_tail.png)
  }
  #Top .partition_area.three {
    height: 53px
  }
  #Top .partition_area.three img {
    height: 53px
  }
  #Top .partition_area.three .partition_tail {
    height: 53px;
    background-image: url(../../../assets/img/partition3_tail.png)
  }
}
#Top .main_visual {
  position: relative;
  display: flex;
  justify-content: center
}
#Top .main_visual .inner {
  height: 71.7vw;
  max-height: 863.5px;
  background-image: url(../../../assets/img/mv_bg.png);
  background-repeat: no-repeat;
  background-size: contain
}
#Top .main_visual .inner .main_description {
  margin-top: 90px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 3.6rem;
  line-height: 1.4;
  color: #e83b40;
  text-align: center
}
#Top .main_visual .inner .main_description span {
  padding: 10px;
  background-color: #fff
}
#Top .main_visual .inner .mitsumori {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 140px;
  height: 140px;
  transition: opacity .5s ease
}
#Top .main_visual .inner .mitsumori:hover {
  opacity: .9
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .main_visual .inner .main_description {
    margin-top: calc(90vw / 12);
    font-size: calc(36vw / 12)
  }
  #Top .main_visual .inner .main_description span {
    padding: calc(10vw / 12)
  }
  #Top .main_visual .inner .mitsumori {
    width: calc(140vw / 12);
    height: calc(140vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .main_visual .inner {
    height: 93.5vw;
    background-image: url(../../../assets/img/mv_bg_sp.png)
  }
  #Top .main_visual .inner .main_description {
    margin-top: calc(20vw / 12);
    font-size: calc(60vw / 12)
  }
  #Top .main_visual .inner .main_description span {
    padding: calc(15vw / 12) calc(10vw / 12);
    line-height: 1.65
  }
}
#Top .sub_section {
  display: flex;
  justify-content: center
}
#Top .sub_section .inner {
  position: relative
}
#Top .sub_section .step_no {
  position: absolute
}
#Top .sub_section .step_no img {
  width: 181px
}
#Top .sub_section .article_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 35px
}
#Top .sub_section .article_list .article_item {
  width: 31%
}
#Top .sub_section .article_list .article_item .article_thumb {
  width: 300px;
  margin: auto
}
#Top .sub_section .article_list .article_item .article_title {
  margin-top: 28px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  letter-spacing: .2rem
}
#Top .sub_section .article_list .article_item .article_text {
  margin-top: 10px;
  letter-spacing: .3rem
}
#Top .sub_section .article_list .article_item.half {
  width: 50%;
  margin-top: 0
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section .step_no img {
    width: calc(181vw / 12)
  }
  #Top .sub_section .article_list {
    padding: 0 calc(35vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_thumb {
    width: calc(300vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_title {
    margin-top: calc(28vw / 12);
    font-size: calc(19vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_text {
    margin-top: calc(10vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section .step_no img {
    width: calc(213vw / 12)
  }
  #Top .sub_section .article_list {
    padding: 0 calc(50vw / 12)
  }
  #Top .sub_section .article_list .article_item {
    width: 100%;
    margin-top: calc(100vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_thumb {
    width: calc(600vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_title {
    margin-top: calc(70vw / 12);
    font-size: calc(55vw / 12)
  }
  #Top .sub_section .article_list .article_item .article_text {
    margin: auto;
    margin-top: 10px;
    font-size: calc(max(25vw / 12,14px))
  }
  #Top .sub_section .article_list .article_item.half {
    width: 100%
  }
}
#Top .sub_section.point_section {
  padding-top: 45px
}
#Top .sub_section.point_section h1 {
  color: #a99261
}
#Top .sub_section.point_section h2 {
  margin-top: 21px;
  margin-bottom: 25px;
  color: #e83b40
}
#Top .sub_section.point_section .step_no {
  top: -240px;
  right: 65px
}
#Top .sub_section.point_section .note {
  font-size: 14px
}
#Top .sub_section.point_section .article_title {
  color: #e83b40
}
#Top .sub_section.point_section .partition {
  margin-top: -20px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section.point_section {
    padding-top: calc(45vw / 12)
  }
  #Top .sub_section.point_section h2 {
    margin-top: calc(21vw / 12);
    margin-bottom: calc(25vw / 12)
  }
  #Top .sub_section.point_section .step_no {
    top: calc(-240vw / 12);
    right: calc(65vw / 12)
  }
  #Top .sub_section.point_section .note {
    font-size: calc(14vw / 12)
  }
  #Top .sub_section.point_section .partition {
    margin-top: calc(-20vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section.point_section {
    padding-top: calc(80vw / 12);
    padding-bottom: calc(100vw / 12)
  }
  #Top .sub_section.point_section h2 {
    margin-top: calc(20vw / 12);
    margin-bottom: 0
  }
  #Top .sub_section.point_section .step_no {
    top: calc(-224vw / 12);
    right: calc(10vw / 12)
  }
  #Top .sub_section.point_section .note {
    font-size: 1.4rem
  }
  #Top .sub_section.point_section .article_text {
    max-width: 560px
  }
  #Top .sub_section.point_section .article_title {
    color: #e83b40
  }
  #Top .sub_section.point_section .partition {
    margin-top: -20px
  }
}
#Top .sub_section.scene_section {
  padding-top: 50px;
  padding-bottom: 110px
}
#Top .sub_section.scene_section h1 {
  color: #a99261
}
#Top .sub_section.scene_section h2 {
  margin-top: 21px;
  margin-bottom: 25px;
  color: #e83b40
}
#Top .sub_section.scene_section .step_no {
  top: -234px;
  left: 79px
}
#Top .sub_section.scene_section .article_title {
  color: #a99261
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section.scene_section {
    padding-top: calc(50vw / 12);
    padding-bottom: calc(110vw / 12)
  }
  #Top .sub_section.scene_section h2 {
    margin-top: calc(21vw / 12);
    margin-bottom: calc(25vw / 12)
  }
  #Top .sub_section.scene_section .step_no {
    top: calc(-234vw / 12);
    left: calc(79vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section.scene_section {
    padding-top: calc(80vw / 12);
    padding-bottom: calc(max(150vw / 12,60px))
  }
  #Top .sub_section.scene_section h2 {
    margin-top: calc(20vw / 12);
    margin-bottom: 0
  }
  #Top .sub_section.scene_section .step_no {
    top: calc(-313vw / 12);
    left: calc(116vw / 12)
  }
}
#Top .sub_section.plan_section {
  padding-top: 100px;
  padding-bottom: 120px
}
#Top .sub_section.plan_section h1 {
  color: #a99261
}
#Top .sub_section.plan_section h2 {
  margin-top: 24px;
  margin-bottom: 50px;
  color: #e83b40
}
#Top .sub_section.plan_section .step_no {
  top: -211px;
  right: 40px
}
#Top .sub_section.plan_section .article_list {
  padding: 0 100px
}
#Top .sub_section.plan_section .article_list .article_item {
  position: relative;
  width: 28.5%;
  padding-bottom: 50px;
  border: 3px solid #e83b40
}
#Top .sub_section.plan_section .article_list .article_item .article_title {
  padding: 14px 0;
  margin-top: 0;
  font-size: 16px;
  color: #fff;
  background-color: #e83b40
}
#Top .sub_section.plan_section .article_list .article_item .article_thumb {
  width: 250px;
  margin: auto;
  margin-top: 25px
}
#Top .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
  width: 230px
}
#Top .sub_section.plan_section .article_list .article_item .detail_link {
  position: absolute;
  bottom: 18px;
  width: 100%;
  text-align: center
}
#Top .sub_section.plan_section .article_list .article_item .detail_link a {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #e83b40;
  text-decoration: underline
}
#Top .sub_section.plan_section .article_list .article_item .detail_link a:hover {
  opacity: .7
}
#Top .sub_section.plan_section .article_list .article_item .badge {
  position: absolute;
  top: -60px;
  left: -60px;
  width: 110px
}
#Top .sub_section.plan_section .article_list .article_item.full {
  position: relative;
  width: 100%;
  margin-top: 30px;
  padding-bottom: 120px;
  background-color: #e83b40
}
#Top .sub_section.plan_section .article_list .article_item.full .article_title {
  padding: 40px 0 10px;
  margin-top: 0;
  font-size: 2.8rem;
  line-height: 1.3
}
#Top .sub_section.plan_section .article_list .article_item.full .article_title .note {
  font-size: 1.6rem;
  position: relative;
  top: -3px
}
#Top .sub_section.plan_section .article_list .article_item.full .article_description {
  text-align: center
}
#Top .sub_section.plan_section .article_list .article_item.full .article_description p {
  display: inline-block;
  text-align: left;
  width: 57%;
  font-size: 1.5rem;
  line-height: 1.8;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  color: #fff
}
#Top .sub_section.plan_section .article_list .article_item.full .article_thumb {
  position: absolute;
  top: 12%;
  right: 3%
}
#Top .sub_section.plan_section .article_list .article_item.full .article_thumb.beer_plan {
  width: 160px
}
#Top .sub_section.plan_section .article_list .article_item.full .detail_link {
  bottom: 50px
}
#Top .sub_section.plan_section .article_list .article_item.full .detail_link a {
  background-color: #fff;
  color: #e83b40;
  text-decoration: none;
  padding: 15px 25px;
  border-radius: 30px;
  transition: opacity .5s ease
}
#Top .sub_section.plan_section .article_list .article_item.full .badge {
  top: -35px;
  left: -40px;
  width: 140px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section.plan_section {
    padding-top: calc(100vw / 12);
    padding-bottom: calc(165vw / 12)
  }
  #Top .sub_section.plan_section h2 {
    margin-top: calc(24vw / 12);
    margin-bottom: calc(50vw / 12)
  }
  #Top .sub_section.plan_section .step_no {
    top: calc(-211vw / 12);
    right: calc(40vw / 12)
  }
  #Top .sub_section.plan_section .article_list {
    padding: 0 calc(100vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item {
    padding-bottom: calc(50vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .article_title {
    padding: calc(14vw / 12) 0;
    font-size: calc(16vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .article_thumb {
    width: calc(250vw / 12);
    margin-top: calc(25vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
    width: calc(230vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .detail_link {
    bottom: calc(18vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .detail_link a {
    font-size: calc(15vw / 12);
    text-decoration: underline
  }
  #Top .sub_section.plan_section .article_list .article_item .badge {
    top: calc(-60vw / 12);
    left: calc(-60vw / 12);
    width: calc(110vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full {
    margin-top: calc(30vw / 12);
    padding-bottom: calc(120vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_title {
    padding: calc(40vw / 12) 0 calc(10vw / 12);
    font-size: calc(28vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_title .note {
    font-size: calc(16vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_description p {
    font-size: calc(15vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_thumb.beer_plan {
    width: calc(160vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .detail_link {
    bottom: calc(50vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item.full .badge {
    top: calc(-35vw / 12);
    left: calc(-40vw / 12);
    width: calc(140vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section.plan_section {
    padding-top: calc(100vw / 12);
    padding-bottom: calc(max(200vw / 12,150px))
  }
  #Top .sub_section.plan_section h2 {
    margin-top: calc(20vw / 12);
    margin-bottom: 0
  }
  #Top .sub_section.plan_section .step_no {
    top: calc(-232vw / 12);
    right: calc(20vw / 12)
  }
  #Top .sub_section.plan_section .article_list {
    padding: 0 calc(50vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item {
    width: 100%;
    max-width: 560px;
    padding-bottom: calc(max(150vw / 12,70px));
    margin: auto;
    margin-top: calc(140vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .article_title {
    padding: calc(max(20vw / 12,15px)) 0;
    font-size: calc(max(40vw / 12,16px));
    letter-spacing: .01rem
  }
  #Top .sub_section.plan_section .article_list .article_item .article_thumb {
    width: calc(max(600vw / 12,250px));
    margin-top: calc(100vw / 12)
  }
  #Top .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
    width: calc(max(530vw / 12,220px))
  }
  #Top .sub_section.plan_section .article_list .article_item .detail_link {
    bottom: calc(max(50vw / 12,25px))
  }
  #Top .sub_section.plan_section .article_list .article_item .detail_link a {
    font-size: calc(max(30vw / 12,16px))
  }
  #Top .sub_section.plan_section .article_list .article_item .badge {
    top: calc(-91vw / 12);
    left: calc(-48vw / 12);
    width: calc(max(200vw / 12,86px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full {
    margin-top: calc(140vw / 12);
    padding-bottom: calc(max(150vw / 12,100px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_title {
    font-size: calc(max(55vw / 12,20px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_title .note {
    font-size: calc(max(40vw / 12,12px));
    top: -2px
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_description {
    margin-top: 5%
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_description p {
    width: 85%;
    font-size: calc(max(40vw / 12,12px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_thumb {
    position: static;
    margin-top: 5%
  }
  #Top .sub_section.plan_section .article_list .article_item.full .article_thumb.beer_plan {
    width: 60%
  }
  #Top .sub_section.plan_section .article_list .article_item.full .detail_link {
    bottom: calc(max(70vw / 12,35px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full .detail_link a {
    font-size: calc(max(30vw / 12,16px));
    padding: calc(max(35vw / 12,15px)) calc(max(60vw / 12,25px))
  }
  #Top .sub_section.plan_section .article_list .article_item.full .badge {
    top: calc(-130vw / 12);
    left: calc(-65vw / 12);
    width: calc(max(250vw / 12,100px))
  }
}
#Top .sub_section.brewery_section {
  padding-top: 70px;
  padding-bottom: 90px;
  background-color: #615853
}
#Top .sub_section.brewery_section h1 {
  color: #a99261
}
#Top .sub_section.brewery_section h4 {
  color: #fff
}
#Top .sub_section.brewery_section .article_list {
  margin-top: 70px
}
#Top .sub_section.brewery_section .article_list .article_item .article_thumb {
  width: 100%
}
#Top .sub_section.brewery_section .article_list .article_item .article_text {
  padding-left: 55px;
  margin-top: 0;
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 1px
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section.brewery_section {
    padding-top: calc(70vw / 12);
    padding-bottom: calc(90vw / 12)
  }
  #Top .sub_section.brewery_section .article_list {
    margin-top: calc(70vw / 12)
  }
  #Top .sub_section.brewery_section .article_list .article_item .article_text {
    padding-left: calc(55vw / 12);
    font-size: calc(max(15vw / 12,12px))
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section.brewery_section {
    padding-top: calc(100vw / 12);
    padding-bottom: calc(200vw / 12)
  }
  #Top .sub_section.brewery_section .article_list {
    margin-top: calc(90vw / 12)
  }
  #Top .sub_section.brewery_section .article_list .article_item .article_thumb {
    max-width: 560px
  }
  #Top .sub_section.brewery_section .article_list .article_item .article_text {
    max-width: 560px;
    padding-left: 0;
    margin-top: calc(60vw / 12);
    font-size: calc(max(25vw / 12,14px))
  }
}
#Top .sub_section.simulation_section {
  padding-top: 50px;
  padding-bottom: 100px;
  background-color: #e83b40
}
#Top .sub_section.simulation_section h2 {
  color: #fff
}
#Top .sub_section.simulation_section h2 span {
  padding-bottom: 10px;
  border-bottom: 5px solid
}
#Top .sub_section.simulation_section .article_item {
  padding-top: 80px
}
#Top .sub_section.simulation_section .article_item .article_text {
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-weight: 600;
  color: #fff
}
#Top .sub_section.simulation_section .article_item .article {
  margin-left: 25px
}
#Top .sub_section.simulation_section .simulation_logo {
  margin-top: 35px;
  margin-right: 15px;
  text-align: center
}
#Top .sub_section.simulation_section .simulation_logo img {
  width: 155px
}
#Top .sub_section.simulation_section .note {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px
}
#Top .sub_section.simulation_section .culc {
  height: 125px;
  padding-top: 35px;
  margin-top: 60px;
  margin-bottom: 5px;
  font-family: NotoSansCJKjp-Medium,sans-serif;
  color: #fff;
  background-color: #ec575a
}
#Top .sub_section.simulation_section .culc .title {
  font-size: 1.8rem
}
#Top .sub_section.simulation_section .culc .price {
  padding-bottom: 5px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1
}
#Top .sub_section.simulation_section .culc .en {
  margin-left: 13px;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1
}
#Top .sub_section.simulation_section .culc p {
  text-align: center
}
#Top .sub_section.simulation_section form[name=plan_form] {
  margin-top: -10px
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 74px
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options .plan_answer {
  box-sizing: border-box;
  display: inline-block;
  width: 48%;
  height: 110px;
  margin: 0 0 20px;
  text-align: center;
  vertical-align: top
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  color: #fff;
  cursor: pointer;
  border: 1px solid #b31d00;
  border-radius: 10px;
  opacity: .5;
  transition: all .1s ease-in-out
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.2rem
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options label:active,
#Top .sub_section.simulation_section form[name=plan_form] .plan_options label:focus,
#Top .sub_section.simulation_section form[name=plan_form] .plan_options label:hover {
  border: 1px solid rgba(255,255,255,.5)
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio] {
  width: 0;
  height: 0;
  margin: 0;
  opacity: 0
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio]:active ~ label {
  opacity: 1
}
#Top .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio]:checked ~ label {
  border: 3px solid #fff;
  opacity: 1
}
#Top .sub_section.simulation_section .select-wrap {
  position: relative;
  width: 225px;
  margin-top: 15px;
  margin-bottom: 20px
}
#Top .sub_section.simulation_section .select-wrap:before {
  position: absolute;
  top: 27px;
  right: 55px;
  z-index: 1;
  display: inline-block;
  width: 15px;
  height: 7px;
  line-height: 55px;
  color: #7f878c;
  vertical-align: middle;
  pointer-events: none;
  content: '';
  background-image: url(../../../assets/img/icon_arrow_under.png);
  background-repeat: no-repeat;
  background-size: contain
}
#Top .sub_section.simulation_section .select-wrap select {
  width: 225px;
  height: 60px;
  padding: 8px 12px;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: inherit;
  color: inherit;
  text-indent: 65px;
  vertical-align: middle;
  background: none transparent;
  border: 1px solid rgba(179,29,0,.5);
  border-radius: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
#Top .sub_section.simulation_section .select-wrap select option {
  color: #333;
  background-color: #fff
}
#Top .sub_section.simulation_section .select-wrap select:hover {
  border: 1px solid rgba(255,255,255,.5);
  cursor: pointer
}
#Top .sub_section.simulation_section .select-wrap select::-ms-expand {
  display: none
}
#Top .sub_section.simulation_section .select-wrap select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a
}
@media only screen and (max-width:1200px) and (min-width:769px) {
  #Top .sub_section.simulation_section {
    padding-top: calc(50vw / 12);
    padding-bottom: calc(100vw / 12)
  }
  #Top .sub_section.simulation_section h2 span {
    padding-bottom: calc(10vw / 12)
  }
  #Top .sub_section.simulation_section .article_item {
    padding-top: calc(80vw / 12)
  }
  #Top .sub_section.simulation_section .article_item .article {
    margin-left: calc(25vw / 12)
  }
  #Top .sub_section.simulation_section .simulation_logo {
    margin-top: calc(35vw / 12);
    margin-right: calc(15vw / 12)
  }
  #Top .sub_section.simulation_section .simulation_logo img {
    width: calc(155vw / 12)
  }
  #Top .sub_section.simulation_section .note {
    font-size: calc(12vw / 12)
  }
  #Top .sub_section.simulation_section .culc {
    height: calc(125vw / 12);
    padding-top: calc(35vw / 12);
    margin-top: calc(60vw / 12);
    margin-bottom: calc(5vw / 12)
  }
  #Top .sub_section.simulation_section .culc .title {
    font-size: calc(18vw / 12)
  }
  #Top .sub_section.simulation_section .culc .price {
    font-size: calc(50vw / 12)
  }
  #Top .sub_section.simulation_section .culc .en {
    margin-left: calc(13vw / 12);
    font-size: calc(48vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] {
    margin-top: calc(-10vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options {
    margin-bottom: calc(74vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options .plan_answer {
    height: calc(110vw / 12);
    margin: 0 0 calc(20vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label {
    border-radius: calc(10vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
    font-size: calc(12vw / 12)
  }
  #Top .sub_section.simulation_section .select-wrap {
    width: calc(225vw / 12);
    margin-top: calc(15vw / 12);
    margin-bottom: calc(20vw / 12)
  }
  #Top .sub_section.simulation_section .select-wrap:before {
    top: calc(27vw / 12);
    right: calc(55vw / 12);
    width: calc(15vw / 12);
    height: calc(7vw / 12);
    line-height: calc(55vw / 12)
  }
  #Top .sub_section.simulation_section .select-wrap select {
    width: calc(225vw / 12);
    height: calc(60vw / 12);
    padding: calc(8vw / 12) calc(12vw / 12);
    text-indent: calc(65vw / 12);
    border-radius: calc(10vw / 12)
  }
}
@media only screen and (max-width:768px) {
  #Top .sub_section.simulation_section {
    padding-top: calc(120vw / 12);
    padding-bottom: calc(160vw / 12)
  }
  #Top .sub_section.simulation_section h2 span {
    padding-bottom: 0;
    border-bottom: 3px solid
  }
  #Top .sub_section.simulation_section .article_item {
    padding-top: 0
  }
  #Top .sub_section.simulation_section .article_item .article {
    max-width: 560px;
    margin: auto
  }
  #Top .sub_section.simulation_section .article_item .article_text {
    margin-top: 0;
    margin-left: 0;
    font-size: calc(max(35vw / 12,14px))
  }
  #Top .sub_section.simulation_section .simulation_logo {
    margin: calc(150vw / 12) 0 calc(100vw / 12)
  }
  #Top .sub_section.simulation_section .simulation_logo img {
    width: calc(300vw / 12);
    max-width: 150px
  }
  #Top .sub_section.simulation_section .note {
    font-size: calc(max(25vw / 12,10px));
    text-align: left;
    letter-spacing: .01rem
  }
  #Top .sub_section.simulation_section .culc {
    height: calc(max(200vw / 12,110px));
    font-size: calc(max(28vw / 12,12px))
  }
  #Top .sub_section.simulation_section .culc .title {
    font-size: calc(max(35vw / 12,14px))
  }
  #Top .sub_section.simulation_section .culc .en {
    font-size: calc(max(75vw / 12,45px))
  }
  #Top .sub_section.simulation_section form[name=plan_form] {
    margin-top: calc(min(-20vw / 12,-20px))
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options {
    margin-bottom: calc(100vw / 12)
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label {
    font-size: calc(max(30vw / 12,12px))
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
    font-size: calc(max(25vw / 12,10px))
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label[for=choice] {
    line-height: 1.3
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options label[for=choice] .title {
    line-height: 2
  }
  #Top .sub_section.simulation_section form[name=plan_form] .plan_options .plan_answer {
    width: 47%;
    height: calc(max(200vw / 12,90px))
  }
  #Top .sub_section.simulation_section .select-wrap {
    width: calc(350vw / 12);
    margin-top: calc(max(15vw / 12,7px));
    margin-bottom: calc(20vw / 12)
  }
  #Top .sub_section.simulation_section .select-wrap:before {
    top: calc(max(45vw / 12,23px));
    right: inherit;
    left: calc(max(300vw / 12,110px));
    width: calc(max(30vw / 12,14px));
    height: calc(max(15vw / 12,7px));
    line-height: calc(55vw / 12)
  }
  #Top .sub_section.simulation_section .select-wrap select {
    width: calc(max(440vw / 12,160px));
    height: calc(max(100vw / 12,50px));
    padding: calc(8vw / 12) calc(max(10vw / 12,20px));
    font-size: calc(max(30vw / 12,12px));
    text-indent: calc(65vw / 12);
    border-radius: calc(10vw / 12)
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc2V0LnNjc3MiLCJhcHAuY3NzIiwiZm9udC5zY3NzIiwiYW5pbWF0aW9uLnNjc3MiLCJtaXhpbnMvX3V0aWxpdGllcy5zY3NzIiwic3R5bGUuc2NzcyIsImNvbW1vbi5zY3NzIiwicGFnZXMvY29udGFjdC5zY3NzIiwicGFnZXMvcGxhbi5zY3NzIiwicGFnZXMvdG9wLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0FDcUJBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QUF5REE7QUFDQTtBQWlCQTtBQXhDQTtBQW5CQTtBQU5BO0FBYkE7QUE4REE7QUFUQTtBQVpBO0FBckJBO0FBQ0E7QUF1QkE7QUF0QkE7QUF5Q0E7QUF4Q0E7QUF0QkE7QUF5Q0E7QUFDQTtBQW5CQTtBQXdDQTtBQWhCQTtBQWtCQTtBQURBO0FBRUE7QUFsQkE7QUEzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeURBO0FBQ0E7QUR0RUE7QUN5Q0E7QUFuQ0E7QUFvQkE7QUFDQTtBQUNBO0FBdUJBO0FBQ0E7QUFKQTtBQThCQTtBQVBBO0FBQ0E7QUFuRUE7QUF5Q0E7QUEyQkE7QUE1REE7QUFFQTtBQWNBO0FBNkNBO0FBNUNBO0FBQ0E7QUE0Q0E7QUEzQ0E7QUE3QkE7QUE4QkE7QUFDQTtBQUNBO0FBeUNBO0FBeENBO0FBaUJBO0FBRUE7QUFLQTtBQUpBO0FBR0E7QUFGQTtBQW9CQTtBQW5CQTtBQXJCQTtBQUdBO0FBT0E7QUFUQTtBQTBDQTtBRENJLFNBQUE7QUFDQSxRQUFBO0FBQ0EsV0FBQTtBQUNBLGdCQUFBO0FBQ0EsUUFBQTs7QUFHSjtBQ0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEQUksU0FBQTs7QUFFSjtBQUNJLGFBQUE7O0FBRUo7QUNJQTtBREZJLFlBQUE7O0FBRUo7QUNLQTtBREhJLFFBQUE7O0FDUUo7QUROQTtBQ1FBO0FBREE7QURISSxTQUFBO0FBQ0EsU0FBQTs7QUFFSjtBQUNJLGdCQUFBO0FB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QUFBO0FBQ0EsU0FBQSxlQUFBO0FBQ0EsYUFBQTtBQUNBLGVBQUE7OztBTDU2QmhCO0FLTFI7QUF3N0JnQixhQUFBO0FBQ0EsZ0JBQUE7O0FBejdCaEI7QUE0N0J3QixnQkFBQTtBQUNBLGVBQUEsSUFBQTs7QUE3N0J4QjtBQWk4Qm9CLGFBQUE7O0FBajhCcEI7QUFtOEJ3QixXQUFBO0FBQ0EsUUFBQTs7QUFwOEJ4QjtBQXU4QndCLFlBQUE7QUFDQSxhQUFBO0FBQ0EsV0FBQTs7QUF6OEJ4QjtBQTY4Qm9CLFFBQUEsaUJBQUEsRUFBQTs7QUE3OEJwQjtBQSs4QndCLE9BQUE7QUFDQSxXQUFBOztBQWg5QnhCO0FBbzlCb0IsV0FBQTtBQUNBLFlBQUE7QUFDQSxnQkFBQTs7QUF0OUJwQjtBQTA5Qm9CLFFBQUE7QUFDQSxXQUFBOztBQTM5QnBCO0FBNjlCd0IsV0FBQTs7QUE3OUJ4QjtBQWcrQndCLFdBQUE7O0FBaCtCeEI7QUFzK0JvQixZQUFBOztBQXQrQnBCO0FBdytCd0IsZUFBQTs7QUF4K0J4QjtBQTArQjRCLFdBQUE7O0FBMStCNUI7QUE0K0JnQyxXQUFBOztBQTUrQmhDO0FBZy9CNEIsYUFBQTs7QUFoL0I1QjtBQWsvQmdDLGFBQUE7O0FBbC9CaEM7QUFzL0I0QixPQUFBO0FBQ0EsUUFBQTs7QUF2L0I1QjtBQTgvQm9CLE9BQUE7QUFDQSxZQUFBO0FBQ0EsZUFBQTs7QUFoZ0NwQjtBQWtnQ3dCLEtBQUE7QUFDQSxPQUFBO0FBQ0EsTUFBQTtBQUNBLE9BQUE7QUFDQSxRQUFBO0FBQ0EsYUFBQTs7QUF2Z0N4QjtBQTBnQ3dCLE9BQUE7QUFDQSxRQUFBO0FBQ0EsU0FBQSxlQUFBO0FBQ0EsV0FBQTtBQUNBLGFBQUE7QUFDQSxlQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsXG5ib2R5LFxuZGl2LFxuc3BhbixcbmFwcGxldCxcbm9iamVjdCxcbmlmcmFtZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuYixcbnUsXG5pLFxuY2VudGVyLFxuZGwsXG5kdCxcbmRkLFxub2wsXG51bCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5hcnRpY2xlLFxuYXNpZGUsXG5jYW52YXMsXG5kZXRhaWxzLFxuZW1iZWQsXG5maWd1cmUsXG5maWdjYXB0aW9uLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbm91dHB1dCxcbnJ1YnksXG5zZWN0aW9uLFxuc3VtbWFyeSxcbnRpbWUsXG5tYXJrLFxuYXVkaW8sXG52aWRlbyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBib3JkZXI6IDA7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICBxdW90ZXM6IG5vbmU7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cbmh0bWwsXG5ib2R5LFxuZGl2LFxuc3BhbixcbmFwcGxldCxcbm9iamVjdCxcbmlmcmFtZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuYixcbnUsXG5pLFxuY2VudGVyLFxuZGwsXG5kdCxcbmRkLFxub2wsXG51bCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5hcnRpY2xlLFxuYXNpZGUsXG5jYW52YXMsXG5kZXRhaWxzLFxuZW1iZWQsXG5maWd1cmUsXG5maWdjYXB0aW9uLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbm91dHB1dCxcbnJ1YnksXG5zZWN0aW9uLFxuc3VtbWFyeSxcbnRpbWUsXG5tYXJrLFxuYXVkaW8sXG52aWRlbyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLFxucSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsXG5ibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTk5leHRSb3VuZGVkTFRQcm8tQm9sZCc7XG4gIHNyYzogdXJsKC4uL2ZvbnQvRElOTmV4dFJvdW5kZWRMVFByby1Cb2xkLm90ZikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dvdGhhbS1NZWRpdW0nO1xuICBzcmM6IHVybCguLi9mb250L0dvdGhhbS1NZWRpdW0ub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmlja3lMYWF0ei1XaGl0ZU9sZWFuZGVyJztcbiAgc3JjOiB1cmwoLi4vZm9udC9OaWNreUxhYXR6LVdoaXRlT2xlYW5kZXIub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1CbGFjayc7XG4gIHNyYzogdXJsKC4uL2ZvbnQvTm90b1NhbnNDSktqcC1CbGFjay5vdGYpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnO1xuICBzcmM6IHVybCguLi9mb250L05vdG9TYW5zQ0pLanAtQm9sZC5vdGYpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bSc7XG4gIHNyYzogdXJsKC4uL2ZvbnQvTm90b1NhbnNDSktqcC1NZWRpdW0ub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJztcbiAgc3JjOiB1cmwoLi4vZm9udC9Ob3RvU2Fuc0NKS2pwLVJlZ3VsYXIub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvQ29uZGVuc2VkLUJvbGQnO1xuICBzcmM6IHVybCguLi9mb250L1JvYm90b0NvbmRlbnNlZC1Cb2xkLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90b0NvbmRlbnNlZC1SZWd1bGFyJztcbiAgc3JjOiB1cmwoLi4vZm9udC9Sb2JvdG9Db25kZW5zZWQtUmVndWxhci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuXG4uZmFkZWluIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpLCBib3R0b20gMnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTtcbn1cblxuLmZhZGV1cCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKSwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG59XG5cbi5mYWRlZG93biB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKSwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xufVxuXG4uZmFkZWxlZnQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSksIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xufVxuXG4uZmFkZXJpZ2h0IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZhZGV1cCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG4gIC5mYWRlZG93biB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICAuZmFkZWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuICAuZmFkZXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNnZ3IC8gMTIpO1xuICB9XG59XG5cbmEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvQ29uZGVuc2VkLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogNS40cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjRyZW07XG59XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xufVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuaDQge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1NHZ3IC8gMTIpO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IGNhbGMoMjh2dyAvIDEyKTtcbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDI0dncgLyAxMik7XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygyMHZ3IC8gMTIpO1xuICB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IGNhbGMoMTZ2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTEwdncgLyAxMik7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1NXZ3IC8gMTIpO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IGNhbGMoNTIuNXZ3IC8gMTIpO1xuICB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDQ3LjV2dyAvIDEyKTtcbiAgfVxufVxuXG4uaW5pdF9oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYWN0aXZlLmluaXRfaGlkZGVuIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg63jg7zjg4fjgqPjg7PjgrAtLS0tLS0tLS0tLS0tLS0qL1xuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogI2VlMDAwMDtcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCUgMjAwJTtcbiAgbWFzay1zaXplOiAxMDAlIDIwMCU7XG4gIC13ZWJraXQtbWFzay1wb3NpdGlvbjogMCA1MCU7XG4gIG1hc2stcG9zaXRpb246IDAgNTAlO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSwgY29sb3Itc3RvcCgyMCUsIHdoaXRlKSwgY29sb3Itc3RvcCg4MCUsIHdoaXRlKSwgdG8ocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSkpO1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAsIHdoaXRlIDIwJSwgd2hpdGUgODAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xufVxuXG4ubG9hZGluZyAubG9hZGluZ19sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5sb2FkaW5nIC5sb2FkaW5nX3BlcmNlbnQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4yNXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg5jjg4Pjg4Djg7wtLS0tLS0tLS0tLS0tLS0qL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwMDAwO1xufVxuXG4uaGVhZGVyIC5kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDAgMzRweCA2cHg7XG4gIGZvbnQtZmFtaWx5OiAn5ri444K044K344OD44Kv5L2TJywgWXVHb3RoaWMsICfmuLjjgrTjgrfjg4Pjgq8gTWVkaXVtJywgJ1l1IEdvdGhpYyBNZWRpdW0nLCAn5ri444K044K344OD44KvJywgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGNvbG9yOiAjZmZmO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xufVxuXG4uaGVhZGVyIC5oZWFkZXJfbG9nbyB7XG4gIHdpZHRoOiAxMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGVhZGVyIC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYWRlciAubWVudSAuY29udGFjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTQ3cHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cblxuLmhlYWRlciAubWVudSAuY29udGFjdDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIC5oZWFkZXJfbG9nbyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5oZWFkZXIge1xuICAgIGhlaWdodDogNjVweDtcbiAgfVxuICAuaGVhZGVyIC5oZWFkZXJfbG9nbyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICB9XG4gIC5oZWFkZXIgLm1lbnUgLmNvbnRhY3Qge1xuICAgIG1hcmdpbi1yaWdodDogNzVweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLeODiuODk+OCsuODvOOCt+ODp+ODs+ODnOOCv+ODsy0tLS0tLS0tLS0tLS0tLSovXG4ubmF2X2J0biB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxOHB4O1xuICByaWdodDogMjBweDtcbiAgei1pbmRleDogMztcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cblxuLm5hdl9idG46aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5uYXZfYnRuIC5saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbn1cblxuLm5hdl9idG4gLmxpbmVfMDEge1xuICB0b3A6IDE2cHg7XG59XG5cbi5uYXZfYnRuIC5saW5lXzAyIHtcbiAgdG9wOiAyNHB4O1xufVxuXG4ubmF2X2J0biAubGluZV8wMyB7XG4gIHRvcDogMzJweDtcbn1cblxuLm5hdl9zaG93IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4ubmF2X3Nob3cgLm5hdl9idG4gLmxpbmVfMDEge1xuICB0b3A6IDI0cHg7XG4gIGxlZnQ6IDEzcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5uYXZfc2hvdyAubmF2X2J0biAubGluZV8wMiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5uYXZfc2hvdyAubmF2X2J0biAubGluZV8wMyB7XG4gIHRvcDogMjRweDtcbiAgbGVmdDogMTNweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5uYXZfYnRuIHtcbiAgICB0b3A6IDlweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gIH1cbiAgLm5hdl9idG4gLmxpbmUge1xuICAgIGxlZnQ6IDExcHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gIH1cbiAgLm5hdl9idG4gLmxpbmVfMDEge1xuICAgIHRvcDogMTNweDtcbiAgfVxuICAubmF2X2J0biAubGluZV8wMiB7XG4gICAgdG9wOiAyMXB4O1xuICB9XG4gIC5uYXZfYnRuIC5saW5lXzAzIHtcbiAgICB0b3A6IDI5cHg7XG4gIH1cbiAgLm5hdl9zaG93IC5uYXZfYnRuIC5saW5lXzAxIHtcbiAgICB0b3A6IDIycHg7XG4gICAgbGVmdDogMTFweDtcbiAgfVxuICAubmF2X3Nob3cgLm5hdl9idG4gLmxpbmVfMDMge1xuICAgIHRvcDogMjJweDtcbiAgICBsZWZ0OiAxMXB4O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44OK44OT44Ky44O844K344On44OzLS0tLS0tLS0tLS0tLS0tKi9cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEwZTE3O1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5sb2dvIHtcbiAgbWFyZ2luOiAzNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAubG9nbyBpbWcge1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAuYW5pbWUge1xuICBvcGFjaXR5OiAwO1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGVZKC0yNHB4KTtcbn1cblxuLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogOTBweDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAubGlzdCBhIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAubGlzdCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4ubmF2aWdhdGlvbiAubmF2X3dyYXBwZXIgLmxpc3QgLmNvbnRhY3Qge1xuICBwYWRkaW5nOiAxNXB4IDUwcHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICNlZTAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDM1cHg7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAubGlzdCAubWl0c3Vtb3JpIHtcbiAgcGFkZGluZzogMTVweCA2MHB4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2E2NjA7XG4gIGJvcmRlci1yYWRpdXM6IDM1cHg7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAubGlzdC5vbmUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuXG4ubmF2aWdhdGlvbiAubmF2X3dyYXBwZXIgLmxpc3QudHdvIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbn1cblxuLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0LnRocmVlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbn1cblxuLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0LmZvdXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xufVxuXG4ubmF2aWdhdGlvbiAubmF2X3dyYXBwZXIgLmxpc3QuZml2ZSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0IHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbiAgLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0IGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAubmF2aWdhdGlvbiAubmF2X3dyYXBwZXIgLmxpc3QgLmNvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLm5hdmlnYXRpb24gLm5hdl93cmFwcGVyIC5saXN0IC5taXRzdW1vcmkge1xuICAgIHBhZGRpbmc6IDEwcHggNTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLm5hdl9zaG93IC5uYXZpZ2F0aW9uIHtcbiAgei1pbmRleDogMjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm5hdl9zaG93IC5uYXZpZ2F0aW9uIC5uYXZfd3JhcHBlciAuYW5pbWUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44Kz44Oz44OG44Oz44OELS0tLS0tLS0tLS0tLS0tKi9cbi5tYWluX3NlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdWJfc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMmVlO1xufVxuXG4uc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiBoMiB7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4uc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiBoNSB7XG4gIG1hcmdpbjogNTBweCAwIDVweDtcbn1cblxuLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24gdWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24gdWwgbGk6OmJlZm9yZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiBBbHNvIG5lZWRlZCBmb3Igc3BhY2UgKHR3ZWFrIGlmIG5lZWRlZCkgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbnRlbnQ6ICfjg7snO1xufVxuXG4uc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiB1bCAucmVkIHtcbiAgY29sb3I6ICNlODNiNDA7XG59XG5cbi5zdWJfc2VjdGlvbi5jYXV0aW9uc19zZWN0aW9uIC5pbm5lciB7XG4gIG1heC13aWR0aDogOTAwcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNjB2dyAvIDEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiBoNSB7XG4gICAgbWFyZ2luOiBjYWxjKDUwdncgLyAxMikgMCA1cHg7XG4gIH1cbiAgLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24gdWwge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24gLmlubmVyIHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMTAwdncgLyAxMik7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMobWF4KDgwdncgLyAxMiwgNDBweCkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKG1heCgxMDB2dyAvIDEyLCA4MHB4KSk7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzMHZ3IC8gMTIsIDE1cHgpKTtcbiAgfVxuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiBoMiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLnN1Yl9zZWN0aW9uLmNhdXRpb25zX3NlY3Rpb24gaDUge1xuICAgIG1hcmdpbjogY2FsYyhtYXgoODB2dyAvIDEyLCAzNXB4KSkgMCA1cHg7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzMHZ3IC8gMTIsIDE1cHgpKTtcbiAgfVxuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiB1bCBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyNXZ3IC8gMTIsIDE0cHgpKTtcbiAgfVxuICAuc3ViX3NlY3Rpb24uY2F1dGlvbnNfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1heC13aWR0aDogNTYwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIGNhbGMobWF4KDUwdncgLyAxMiwgMTBweCkpIDAgY2FsYyhtYXgoNjB2dyAvIDEyLCAxNHB4KSk7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg5Xjg4Pjgr/jg7wtLS0tLS0tLS0tLS0tLS0qL1xuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNTBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjY5ZTZlO1xufVxuXG4uZm9vdGVyIC5wYWdlX3RvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDUwcHg7XG4gIGJvdHRvbTogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzYzdhYjtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSk7XG59XG5cbi5mb290ZXIgLnBhZ2VfdG9wIGltZyB7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4uZm9vdGVyIC5wYWdlX3RvcDpob3ZlciB7XG4gIGJvdHRvbTogNjBweDtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4uZm9vdGVyIC5mb290ZXJfbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvb3RlciAuZm9vdGVyX2xvZ28gLmZvb3Rlcl8yNmsge1xuICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cblxuLmZvb3RlciAuZm9vdGVyX2xvZ28gLmZvb3Rlcl8yNmsgaW1nIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLmZvb3RlciAuZm9vdGVyX2xvZ28gLmZvb3Rlcl8yNms6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi5mb290ZXIgLmZvb3Rlcl9sb2dvIC5mb290ZXJfeml6byB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuXG4uZm9vdGVyIC5mb290ZXJfbG9nbyAuZm9vdGVyX3ppem8gaW1nIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLmZvb3RlciAuZm9vdGVyX2xvZ28gLmZvb3Rlcl96aXpvOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uZm9vdGVyIC5zbnMge1xuICBwYWRkaW5nOiA1MHB4IDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIC5zbnMgLnNuc19saW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cblxuLmZvb3RlciAuc25zIC5zbnNfbGluayBpbWcge1xuICB3aWR0aDogNjBweDtcbn1cblxuLmZvb3RlciAuc25zIC5zbnNfbGluazpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bScsICdzYW5zLXNlcmlmJztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nOiBjYWxjKDEwMHZ3IC8gMTIpIGNhbGMoMTgwdncgLyAxMik7XG4gIH1cbiAgLmZvb3RlciAucGFnZV90b3Age1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLyAxMik7XG4gICAgYm90dG9tOiBjYWxjKDUwdncgLyAxMik7XG4gIH1cbiAgLmZvb3RlciAucGFnZV90b3A6aG92ZXIge1xuICAgIGJvdHRvbTogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAuZm9vdGVyIC5mb290ZXJfbG9nbyAuZm9vdGVyXzI2ayB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gIC5mb290ZXIgLmZvb3Rlcl9sb2dvIC5mb290ZXJfMjZrIGltZyB7XG4gICAgaGVpZ2h0OiBjYWxjKG1heCgyMDB2dyAvIDEyLCA4MHB4KSk7XG4gIH1cbiAgLmZvb3RlciAuZm9vdGVyX2xvZ28gLmZvb3Rlcl96aXpvIGltZyB7XG4gICAgaGVpZ2h0OiBjYWxjKG1heCgyMDB2dyAvIDEyLCA4MHB4KSk7XG4gIH1cbiAgLmZvb3RlciAuc25zIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMjBweDtcbiAgfVxuICAuZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTAwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDM1dncgLyAxMik7XG4gIH1cbn1cblxuLnNwX29ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcF9vbmx5IHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG4gIC5wY19vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLmJvbGQge1xuICBmb250LWZhbWlseTogTm90b1NhbnNDSktqcC1Cb2xkLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5tdC0xMCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5tdC01MCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5tYi00MCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbiNDb250YWN0IC5pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTIwMHB4O1xufVxuXG4jQ29udGFjdCAubWFuZGF0b3J5IHtcbiAgcGFkZGluZzogNHB4IDNweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZm9udC1mYW1pbHk6ICfmuLjjgrTjgrfjg4Pjgq/kvZMnLCBZdUdvdGhpYywgJ+a4uOOCtOOCt+ODg+OCrycsICdZdSBHb3RoaWMnLCAn44Oh44Kk44Oq44KqJywgJ0hpcmFnaW5vIEtha3UgR290aGljIFByb04nLCAnSGlyYWdpbm8gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNDb250YWN0IC5tYW5kYXRvcnkge1xuICAgIHBhZGRpbmc6IGNhbGMoNHZ3IC8gMTIpIGNhbGMoM3Z3IC8gMTIpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDV2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMoMTJ2dyAvIDEyKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDR2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNDb250YWN0IC5tYW5kYXRvcnkge1xuICAgIHBhZGRpbmc6IGNhbGMoOHZ3IC8gMTIpIGNhbGMoMTB2dyAvIDEyKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1dncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyNXZ3IC8gMTIsIDEwcHgpKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDR2dyAvIDEyKTtcbiAgfVxufVxuXG4jQ29udGFjdCAubWFpbl92aXN1YWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCA0MHB4IDA7XG59XG5cbiNDb250YWN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgaDEge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bScsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZWUwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlZTAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSksIGJhY2tncm91bmQtY29sb3IgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKTtcbn1cblxuI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsgZGl2IHtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDQ1cHg7XG59XG5cbiNDb250YWN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rIGRpdjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjZWUwMDAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuXG4jQ29udGFjdCAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayBkaXY6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsgZGl2OmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuXG4jQ29udGFjdCAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluazpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTNweDtcbiAgbGVmdDogMTNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogNTVweDtcbiAgY29sb3I6ICM3Zjg3OGM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvaWNvbl9hcnJvd19sZWZ0LnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciB7XG4gICAgcGFkZGluZzogY2FsYyg0MHZ3IC8gMTIpIGNhbGMoNDB2dyAvIDEyKSAwO1xuICB9XG4gICNDb250YWN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgaDEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTB2dyAvIDEyKTtcbiAgfVxuICAjQ29udGFjdCAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayB7XG4gICAgdG9wOiBjYWxjKDIwdncgLyAxMik7XG4gICAgbGVmdDogY2FsYygyMHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNXZ3IC8gMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMzB2dyAvIDEyKTtcbiAgfVxuICAjQ29udGFjdCAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayBkaXYge1xuICAgIHBhZGRpbmc6IGNhbGMoOHZ3IC8gMTIpIGNhbGMoMzB2dyAvIDEyKSBjYWxjKDh2dyAvIDEyKSBjYWxjKDU1dncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbms6YmVmb3JlIHtcbiAgICB0b3A6IGNhbGMoMTN2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKDEzdncgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMTh2dyAvIDEyKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTh2dyAvIDEyKTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1NXZ3IC8gMTIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYyg3dncgLyAxMik7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjQ29udGFjdCAubWFpbl92aXN1YWwgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICNDb250YWN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgaDEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjUwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsge1xuICAgIHRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICAgIGxlZnQ6IGNhbGMoNTB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDMwdncgLyAxMiwgMTJweCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsgZGl2IHtcbiAgICBwYWRkaW5nOiBjYWxjKDI0dncgLyAxMikgY2FsYyg1MHZ3IC8gMTIpIGNhbGMoMjR2dyAvIDEyKSBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rOmJlZm9yZSB7XG4gICAgdG9wOiBjYWxjKG1heCgzMnZ3IC8gMTIsIDEycHgpKTtcbiAgICBsZWZ0OiBjYWxjKDMwdncgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoNDB2dyAvIDEyKTtcbiAgICBoZWlnaHQ6IGNhbGMoNDB2dyAvIDEyKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24gLmlubmVyIHtcbiAgbWFyZ2luOiAwIDEwMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1hcmdpbjogMCBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1hcmdpbjogMCBjYWxjKDYwdncgLyAxMik7XG4gIH1cbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwMHB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZWU7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGgzIHtcbiAgcGFkZGluZzogMTVweCAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnJlY2FwdGNoYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDQwcHg7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5yZWNhcHRjaGEgcCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnJlY2FwdGNoYSBmb3JtIHtcbiAgcGFkZGluZzogMDtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDUwcHggMTEwcHg7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0sXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtLnZlcnRpY2FsX2NlbnRlcixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtLnZlcnRpY2FsX2NlbnRlcixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0udmVydGljYWxfY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAudGl0bGUsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAudGl0bGUsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC50aXRsZSB7XG4gIHdpZHRoOiAzNCU7XG4gIGZvbnQtZmFtaWx5OiAn5ri444K044K344OD44Kv5L2TJywgWXVHb3RoaWMsICfmuLjjgrTjgrfjg4Pjgq8nLCAnWXUgR290aGljJywgJ+ODoeOCpOODquOCqicsICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAuaW5wdXQsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAuaW5wdXQsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5pbnB1dCB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gLmVtYWlsX2lucHV0X2NvbmZpcm0sXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAuZW1haWxfaW5wdXRfY29uZmlybSxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLmVtYWlsX2lucHV0X2NvbmZpcm0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMzQlO1xuICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvJywgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICdIaXJhZ2lubyBTYW5zJywgc2Fucy1zZXJpZjtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAubm90ZSxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5ub3RlLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAubm90ZSB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBtYXJnaW4tbGVmdDogMzQlO1xuICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvJywgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICdIaXJhZ2lubyBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpb19zZWxlY3Rpb24sXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAucmFkaW9fc2VsZWN0aW9uLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAucmFkaW9fc2VsZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAucmFkaW8sXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAucmFkaW8sXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5yYWRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpbyBpbnB1dCxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5yYWRpbyBpbnB1dCxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLnJhZGlvIGlucHV0IHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSBpbnB1dCxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIGlucHV0LFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSBpbnB1dCB7XG4gIGhlaWdodDogNDVweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvJywgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICdIaXJhZ2lubyBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIGlucHV0OjpwbGFjZWhvbGRlcixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIGlucHV0OjpwbGFjZWhvbGRlcixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2NjY2M7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gdGV4dGFyZWEsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSB0ZXh0YXJlYSxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gdGV4dGFyZWEge1xuICBoZWlnaHQ6IDE2MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvJywgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICdIaXJhZ2lubyBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIGJ1dHRvbixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gYS50b3BfbGluayxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIGJ1dHRvbixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIGEudG9wX2xpbmssXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIGJ1dHRvbixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYS50b3BfbGluayB7XG4gIHBhZGRpbmc6IDIwcHggNjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gYnV0dG9uOmhvdmVyLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSBhLnRvcF9saW5rOmhvdmVyLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gYnV0dG9uOmhvdmVyLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gYS50b3BfbGluazpob3ZlcixcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYnV0dG9uOmhvdmVyLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCBhLnRvcF9saW5rOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIGJ1dHRvbi5zZW5kLFxuI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSBhLnRvcF9saW5rLnNlbmQsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSBidXR0b24uc2VuZCxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIGEudG9wX2xpbmsuc2VuZCxcbiNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYnV0dG9uLnNlbmQsXG4jQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIGEudG9wX2xpbmsuc2VuZCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNTB2dyAvIDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIwMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGgzIHtcbiAgICBwYWRkaW5nOiBjYWxjKDE1dncgLyAxMikgMDtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAucmVjYXB0Y2hhIHtcbiAgICBwYWRkaW5nOiBjYWxjKDIwdncgLyAxMikgY2FsYygyMHZ3IC8gMTIpIGNhbGMoMjB2dyAvIDEyKSBjYWxjKDQwdncgLyAxMik7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5yZWNhcHRjaGEgcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDMwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQge1xuICAgIHBhZGRpbmc6IGNhbGMoNTB2dyAvIDEyKSBjYWxjKDExMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAudGl0bGUsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC50aXRsZSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNXZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gLmVtYWlsX2lucHV0X2NvbmZpcm0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5lbWFpbF9pbnB1dF9jb25maXJtLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5lbWFpbF9pbnB1dF9jb25maXJtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAubm90ZSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gLm5vdGUsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLm5vdGUge1xuICAgIG1hcmdpbjogY2FsYygxMHZ3IC8gMTIpIDA7XG4gICAgbWFyZ2luLWxlZnQ6IDM0JTtcbiAgICBmb250LXNpemU6IGNhbGMoMTR2dyAvIDEyKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpb19zZWxlY3Rpb24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5yYWRpb19zZWxlY3Rpb24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLnJhZGlvX3NlbGVjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtNXZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTB2dyAvIDEyKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpbyxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gLnJhZGlvLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5yYWRpbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg1dncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAucmFkaW8gaW5wdXQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5yYWRpbyBpbnB1dCxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAucmFkaW8gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDIwdncgLyAxMik7XG4gICAgaGVpZ2h0OiBjYWxjKDIwdncgLyAxMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSBpbnB1dCxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gaW5wdXQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gaW5wdXQge1xuICAgIGhlaWdodDogY2FsYyg0NXZ3IC8gMTIpO1xuICAgIHBhZGRpbmc6IDAgY2FsYygyMHZ3IC8gMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoNXZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gdGV4dGFyZWEsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIHRleHRhcmVhLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYygyMHZ3IC8gMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoNXZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gYnV0dG9uLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIGEudG9wX2xpbmssXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIGJ1dHRvbixcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gYS50b3BfbGluayxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCBidXR0b24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYS50b3BfbGluayB7XG4gICAgcGFkZGluZzogY2FsYygyMHZ3IC8gMTIpIGNhbGMoNjB2dyAvIDEyKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwdncgLyAxMik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygzdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSBidXR0b24uc2VuZCxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSBhLnRvcF9saW5rLnNlbmQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIGJ1dHRvbi5zZW5kLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSBhLnRvcF9saW5rLnNlbmQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYnV0dG9uLnNlbmQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgYS50b3BfbGluay5zZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyMHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MHZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTUwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBoMyB7XG4gICAgcGFkZGluZzogY2FsYyhtYXgoNDB2dyAvIDEyLCAyMHB4KSkgMDtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAucmVjYXB0Y2hhIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDcwdnc7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAucmVjYXB0Y2hhIHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDMwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDE0cHgpKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAucmVjYXB0Y2hhIC5nLXJlY2FwdGNoYSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoNDB2dyAvIDEyLCAxNHB4KSk7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQge1xuICAgIHBhZGRpbmc6IDAgY2FsYyg4MHZ3IC8gMTIpIGNhbGMoMTAwdncgLyAxMik7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGNhbGMobWF4KDgwdncgLyAxMiwgMzBweCkpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoNDB2dyAvIDEyLCAxNHB4KSk7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAudGl0bGUsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC50aXRsZSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAudGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMobWF4KDIwdncgLyAxMiwgNXB4KSk7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDE0cHgpKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5pbnB1dCxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gLmlucHV0LFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSAuaXRlbSAuZW1haWxfaW5wdXRfY29uZmlybSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gLmVtYWlsX2lucHV0X2NvbmZpcm0sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLmVtYWlsX2lucHV0X2NvbmZpcm0ge1xuICAgIG1hcmdpbjogY2FsYygzMHZ3IC8gMTIpIDAgMDtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5ub3RlLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAubm90ZSxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCAuaXRlbSAubm90ZSB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzMHZ3IC8gMTIsIDEycHgpKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpb19zZWxlY3Rpb24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIC5yYWRpb19zZWxlY3Rpb24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLnJhZGlvX3NlbGVjdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgY2FsYygxMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gLnJhZGlvLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSAuaXRlbSAucmFkaW8sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5zZW5kZWQgLml0ZW0gLnJhZGlvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDEzcHgpKTtcbiAgfVxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciBmb3JtIC5pdGVtIC5yYWRpbyBpbnB1dCxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gLml0ZW0gLnJhZGlvIGlucHV0LFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIC5yYWRpbyBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoNjB2dyAvIDEyKTtcbiAgICBoZWlnaHQ6IGNhbGMoNjB2dyAvIDEyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygzMHZ3IC8gMTIpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gaW5wdXQsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIGlucHV0LFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIGlucHV0IHtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDEwMHZ3IC8gMTIsIDQwcHgpKTtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMzB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDQwdncgLyAxMiwgMTRweCkpO1xuICB9XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gLml0ZW0gdGV4dGFyZWEsXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5pbnB1dF9jb25maXJtIC5pdGVtIHRleHRhcmVhLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIC5pdGVtIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGNhbGMoMzAwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYygzMHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoNDB2dyAvIDEyLCAxNHB4KSk7XG4gIH1cbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgZm9ybSBidXR0b24sXG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIGZvcm0gYS50b3BfbGluayxcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLmlucHV0X2NvbmZpcm0gYnV0dG9uLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuaW5wdXRfY29uZmlybSBhLnRvcF9saW5rLFxuICAjQ29udGFjdCAuc3ViX3NlY3Rpb24uY29udGFjdF9zZWN0aW9uIC5pbm5lciAuc2VuZGVkIGJ1dHRvbixcbiAgI0NvbnRhY3QgLnN1Yl9zZWN0aW9uLmNvbnRhY3Rfc2VjdGlvbiAuaW5uZXIgLnNlbmRlZCBhLnRvcF9saW5rIHtcbiAgICBwYWRkaW5nOiBjYWxjKDUwdncgLyAxMikgY2FsYygxMjB2dyAvIDEyKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzNXZ3IC8gMTIsIDE0cHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICNDb250YWN0IC5zdWJfc2VjdGlvbi5jb250YWN0X3NlY3Rpb24gLmlubmVyIC5yZWNhcHRjaGEgLmctcmVjYXB0Y2hhIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgfVxufVxuXG4jUGxhbiAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cblxuI1BsYW4gLnNlcGFyYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNQbGFuIC5zZXBhcmF0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGNhbGMoMTIwdncgLyAxMikgMCBjYWxjKDYwdncgLyAxMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XG4gIH1cbn1cblxuI1BsYW4gLm1haW5fdmlzdWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDQwcHggNDBweCAwO1xufVxuXG4jUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIGgxIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICNhOTkyNjE7XG59XG5cbiNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgaDIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBjb2xvcjogI2U4M2I0MDtcbn1cblxuI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAubWl0c3Vtb3JpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTQwcHg7XG4gIGhlaWdodDogMTQwcHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuXG4jUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIC5taXRzdW1vcmk6aG92ZXIge1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbiNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2VlMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWUwMDAwO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSk7XG59XG5cbiNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rIGRpdiB7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCA0NXB4O1xufVxuXG4jUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayBkaXY6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogI2VlMDAwMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cblxuI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsgZGl2OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rIGRpdjpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cblxuI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbms6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEzcHg7XG4gIGxlZnQ6IDEzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gIGNvbG9yOiAjN2Y4NzhjO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL2ljb25fYXJyb3dfbGVmdC5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogN3B4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIge1xuICAgIHBhZGRpbmc6IGNhbGMoNDB2dyAvIDEyKSBjYWxjKDQwdncgLyAxMikgMDtcbiAgfVxuICAjUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIGgxIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1pdHN1bW9yaSB7XG4gICAgdG9wOiBjYWxjKDEwdncgLyAxMik7XG4gICAgcmlnaHQ6IGNhbGMoMTB2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYygxNDB2dyAvIDEyKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTQwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsge1xuICAgIHRvcDogY2FsYygyMHZ3IC8gMTIpO1xuICAgIGxlZnQ6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMoMTV2dyAvIDEyKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDMwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbmsgZGl2IHtcbiAgICBwYWRkaW5nOiBjYWxjKDh2dyAvIDEyKSBjYWxjKDMwdncgLyAxMikgY2FsYyg4dncgLyAxMikgY2FsYyg1NXZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgLnRvcF9saW5rOmJlZm9yZSB7XG4gICAgdG9wOiBjYWxjKDEzdncgLyAxMik7XG4gICAgbGVmdDogY2FsYygxM3Z3IC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDE4dncgLyAxMik7XG4gICAgaGVpZ2h0OiBjYWxjKDE4dncgLyAxMik7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoNTV2dyAvIDEyKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoN3Z3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAjUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIGgxIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI1MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5tYWluX3Zpc3VhbCAuaW5uZXIgaDIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzV2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayB7XG4gICAgdG9wOiBjYWxjKDUwdncgLyAxMik7XG4gICAgbGVmdDogY2FsYyg1MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzB2dyAvIDEyLCAxMnB4KSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAubWFpbl92aXN1YWwgLmlubmVyIC50b3BfbGluayBkaXYge1xuICAgIHBhZGRpbmc6IGNhbGMoMjR2dyAvIDEyKSBjYWxjKDUwdncgLyAxMikgY2FsYygyNHZ3IC8gMTIpIGNhbGMoMTAwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLm1haW5fdmlzdWFsIC5pbm5lciAudG9wX2xpbms6YmVmb3JlIHtcbiAgICB0b3A6IGNhbGMobWF4KDMydncgLyAxMiwgMTJweCkpO1xuICAgIGxlZnQ6IGNhbGMoMzB2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYyg0MHZ3IC8gMTIpO1xuICAgIGhlaWdodDogY2FsYyg0MHZ3IC8gMTIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygyMHZ3IC8gMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAwdncgLyAxMik7XG4gIH1cbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAgNjBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSB7XG4gIHdpZHRoOiA0NiU7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICB3aWR0aDogMzAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiBpbWcge1xuICB3aWR0aDogODUlO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iLnJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iLnJpZ2h0IGltZyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIubGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iLmxlZnQgaW1nIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuc3ViX2FydGljbGVfbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5zdWJfYXJ0aWNsZV9saXN0IC5zdWJfYXJ0aWNsZV9pdGVtIHtcbiAgd2lkdGg6IDQ2JTtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuc3ViX2FydGljbGVfbGlzdCAuc3ViX2FydGljbGVfaXRlbSBwIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLm5vdGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uIC5pbm5lciB7XG4gIG1hcmdpbjogMCAxMDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjUGxhbiAuc3ViX3NlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoODB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCB7XG4gICAgcGFkZGluZzogMCBjYWxjKDYwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgd2lkdGg6IGNhbGMoMzAwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNXZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1hcmdpbjogMCBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1BsYW4gLnN1Yl9zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI4dncgLyAxMiwgMTVweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICAgIHdpZHRoOiBjYWxjKG1heCg0NTB2dyAvIDEyLCAxODBweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iLnJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYi5sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5zdWJfYXJ0aWNsZV9saXN0IC5zdWJfYXJ0aWNsZV9pdGVtIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI4dncgLyAxMiwgMTVweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLnN1Yl9hcnRpY2xlX2xpc3QgLnN1Yl9hcnRpY2xlX2l0ZW0gcCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI0dncgLyAxMiwgMTRweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbiAuaW5uZXIge1xuICAgIG1hcmdpbjogMCBjYWxjKDYwdncgLyAxMik7XG4gIH1cbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMmVlO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDMge1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDQge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBjb2xvcjogI2U4M2I0MDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUge1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlLnAtMCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIC5yb3cge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmJhbGxvb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIGxlZnQ6IDI0MHB4O1xuICB3aWR0aDogMTUwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDUwcHggNzBweCA3MHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfbG9nbyB7XG4gIHdpZHRoOiBjYWxjKDM1JSAtIDYwcHgpO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCB7XG4gIHdpZHRoOiBjYWxjKDY1JSAtIDYwcHgpO1xuICBwYWRkaW5nOiAzMHB4IDMwcHggNDBweDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2Uge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2UgLnByaWNlX3RleHQge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5ub3RlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5iZ19yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmJnX3JlZCB7XG4gICAgaGVpZ2h0OiA4NSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDMge1xuICAgIHBhZGRpbmc6IGNhbGMoMTV2dyAvIDEyKSAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciBoNCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMjB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmFydGljbGVfaXRlbSAuYXJ0aWNsZSAucm93IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDUwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIC5iYWxsb29uIHtcbiAgICB0b3A6IGNhbGMoLTUwdncgLyAxMik7XG4gICAgbGVmdDogY2FsYygyNDB2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYygxNTB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIHtcbiAgICBtYXJnaW46IGNhbGMoNTB2dyAvIDEyKSBjYWxjKDcwdncgLyAxMikgY2FsYyg3MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl9sb2dvIHtcbiAgICB3aWR0aDogY2FsYygzNSUgLSA2MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmc6IGNhbGMoMzB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoNjUlIC0gNjB2dyAvIDEyKTtcbiAgICBwYWRkaW5nOiBjYWxjKDMwdncgLyAxMikgY2FsYygzMHZ3IC8gMTIpIGNhbGMoNDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg3MHZ3IC8gMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLnByaWNlIC5wcmljZV90ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyMHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTJ2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIGgzIHtcbiAgICBwYWRkaW5nOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDIwcHgpKSAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciBoNCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmFydGljbGVfaXRlbSAuYXJ0aWNsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmFydGljbGVfaXRlbSAuYXJ0aWNsZSAucm93IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIC5iYWxsb29uIHtcbiAgICB0b3A6IGNhbGMoLTgwdncgLyAxMik7XG4gICAgbGVmdDogY2FsYygtNTB2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYyhtYXgoMjUwdncgLyAxMiwgODVweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogY2FsYyg1MHZ3IC8gMTIpIGNhbGMoNzB2dyAvIDEyKSBjYWxjKDcwdncgLyAxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5iZ19yZWQge1xuICAgIGhlaWdodDogOTUlO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl9sb2dvIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKDUwdncgLyAxMikgMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24uY2hvaWNlX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMCBjYWxjKDYwdncgLyAxMikgY2FsYyg2MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzV2dyAvIDEyLCAxNnB4KSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5wcmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygzMHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxODB2dyAvIDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5wcmljZSAucHJpY2VfdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDM1dncgLyAxMiwgMTZweCkpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5jaG9pY2VfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI0dncgLyAxMiwgMTRweCkpO1xuICB9XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJlZTtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDMge1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciBoNCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIC5yb3cge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYmFsbG9vbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNTBweDtcbiAgbGVmdDogMjAwcHg7XG4gIHdpZHRoOiAxNTBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSB7XG4gIHBhZGRpbmc6IDYwcHggMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkgaW1nIHtcbiAgd2lkdGg6IDUwMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDYwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5mbG93IHtcbiAgd2lkdGg6IDQuNCU7XG4gIGhlaWdodDogMTklO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIHtcbiAgd2lkdGg6IDI5JTtcbiAgaGVpZ2h0OiAyMC40NiU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIGltZyB7XG4gIG1heC1oZWlnaHQ6IDE4MXB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCAuc3RlcCAuYm9sZCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5hcnJvdyB7XG4gIHdpZHRoOiAxLjclO1xuICBoZWlnaHQ6IDEuNDYyJTtcbiAgbWFyZ2luLXRvcDogNzdweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAxMHB4IDcwcHggNzBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfbG9nbyB7XG4gIHdpZHRoOiBjYWxjKDM1JSAtIDYwcHgpO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IHtcbiAgd2lkdGg6IGNhbGMoNjUlIC0gNjBweCk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLnByaWNlIHtcbiAgZm9udC1zaXplOiA3cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2UgLnByaWNlX3RleHQge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLm5vdGUge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcicsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuYmdfcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODNiNDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmJnX3JlZCB7XG4gICAgaGVpZ2h0OiA4NSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciBoMyB7XG4gICAgcGFkZGluZzogY2FsYygxNXZ3IC8gMTIpIDA7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMjB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIC5yb3cge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYmFsbG9vbiB7XG4gICAgdG9wOiBjYWxjKC01MHZ3IC8gMTIpO1xuICAgIGxlZnQ6IGNhbGMoMjAwdncgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMoMTUwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSB7XG4gICAgcGFkZGluZzogY2FsYyg2MHZ3IC8gMTIpIDAgY2FsYygzMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkgaW1nIHtcbiAgICB3aWR0aDogY2FsYyg1MDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCB7XG4gICAgcGFkZGluZzogMCBjYWxjKDYwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLnN0ZXAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDE4MXZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIC5ib2xkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDIwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLmFycm93IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDc3dncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIHtcbiAgICBtYXJnaW46IGNhbGMoMTB2dyAvIDEyKSBjYWxjKDcwdncgLyAxMikgY2FsYyg3MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX2xvZ28ge1xuICAgIHdpZHRoOiBjYWxjKDM1JSAtIDYwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYygzMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQge1xuICAgIHdpZHRoOiBjYWxjKDY1JSAtIDYwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYygzMHZ3IC8gMTIpIGNhbGMoMzB2dyAvIDEyKSBjYWxjKDQwdncgLyAxMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDcwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2UgLnByaWNlX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDE4dncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAubm90ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEydncgLyAxMik7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciBoMyB7XG4gICAgcGFkZGluZzogY2FsYyhtYXgoNDB2dyAvIDEyLCAyMHB4KSkgMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciBoNCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5iYWxsb29uIHtcbiAgICB0b3A6IGNhbGMoLTgwdncgLyAxMik7XG4gICAgbGVmdDogY2FsYygtNTB2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYyhtYXgoMjUwdncgLyAxMiwgODVweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkge1xuICAgIHBhZGRpbmc6IGNhbGMoMTUwdncgLyAxMikgMCBjYWxjKDMwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSBpbWcge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgY2FsYyg2MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjh2dyAvIDEyLCAxNXB4KSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIC5ib2xkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLnN0ZXAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5mbG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDUwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLmFycm93IHtcbiAgICB3aWR0aDogY2FsYyhtYXgoNDB2dyAvIDEyLCAxNXB4KSk7XG4gICAgbWFyZ2luOiBjYWxjKDYwdncgLyAxMikgMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogY2FsYyg1MHZ3IC8gMTIpIGNhbGMoNzB2dyAvIDEyKSBjYWxjKDcwdncgLyAxMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmJnX3JlZCB7XG4gICAgaGVpZ2h0OiA5NSU7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfbG9nbyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBwYWRkaW5nOiAwIDAgY2FsYyg1MHZ3IC8gMTIpIDA7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMCBjYWxjKDYwdncgLyAxMikgY2FsYyg2MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzV2dyAvIDEyLCAxNnB4KSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLnByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDMwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDE4MHZ3IC8gMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2xhYmVsX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2UgLnByaWNlX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzNXZ3IC8gMTIsIDE2cHgpKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI0dncgLyAxMiwgMTRweCkpO1xuICB9XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMmVlO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIGgzIHtcbiAgcGFkZGluZzogMTVweCAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUgLnJvdyB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmJhbGxvb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIGxlZnQ6IDIwMHB4O1xuICB3aWR0aDogMTUwcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSB7XG4gIHBhZGRpbmc6IDYwcHggMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSAuYmVlcl9taWRhc2hpIHtcbiAgd2lkdGg6IDYwMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkgaW1nIHtcbiAgd2lkdGg6IDUwMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAgNjBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCAuZmxvdyB7XG4gIHdpZHRoOiA0LjQlO1xuICBoZWlnaHQ6IDE5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIHtcbiAgd2lkdGg6IDI5JTtcbiAgaGVpZ2h0OiAyMC40NiU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLnN0ZXAgaW1nIHtcbiAgbWF4LWhlaWdodDogMTgxcHg7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLnN0ZXAgLmJvbGQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmNmEwO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5hcnJvdyB7XG4gIHdpZHRoOiAxLjclO1xuICBoZWlnaHQ6IDEuNDYyJTtcbiAgbWFyZ2luLXRvcDogNzdweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDEwcHggNzBweCA3MHB4O1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX2xvZ28ge1xuICB3aWR0aDogY2FsYygzNSUgLSA2MHB4KTtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IHtcbiAgd2lkdGg6IGNhbGMoNjUlIC0gNjBweCk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2Uge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLnByaWNlIC5wcmljZV90ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG4jUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLm5vdGUge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcicsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbiNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5iZ19yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5iZ19yZWQge1xuICAgIGhlaWdodDogODUlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciBoMyB7XG4gICAgcGFkZGluZzogY2FsYygxNXZ3IC8gMTIpIDA7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMjB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmJhbGxvb24ge1xuICAgIHRvcDogY2FsYygtNTB2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKDIwMHZ3IC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDE1MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSB7XG4gICAgcGFkZGluZzogY2FsYyg2MHZ3IC8gMTIpIDAgY2FsYygzMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXBfbWlkYXNoaSAuYmVlcl9taWRhc2hpIHtcbiAgICB3aWR0aDogY2FsYyg2MDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkgaW1nIHtcbiAgICB3aWR0aDogY2FsYyg1MDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoNjB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIGltZyB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxODF2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIC5ib2xkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDIwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCAuYXJyb3cge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNzd2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciB7XG4gICAgbWFyZ2luOiBjYWxjKDEwdncgLyAxMikgY2FsYyg3MHZ3IC8gMTIpIGNhbGMoNzB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX2xvZ28ge1xuICAgIHdpZHRoOiBjYWxjKDM1JSAtIDYwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYygzMHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoNjUlIC0gNjB2dyAvIDEyKTtcbiAgICBwYWRkaW5nOiBjYWxjKDMwdncgLyAxMikgY2FsYygzMHZ3IC8gMTIpIGNhbGMoNDB2dyAvIDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg3MHZ3IC8gMTIpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAucHJpY2UgLnByaWNlX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDE4dncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTJ2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyhtYXgoMTAwdncgLyAxMiwgNTBweCkpO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgaDMge1xuICAgIHBhZGRpbmc6IGNhbGMobWF4KDQwdncgLyAxMiwgMjBweCkpIDA7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLmFydGljbGVfaXRlbSAuYXJ0aWNsZSAucm93IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuYmFsbG9vbiB7XG4gICAgdG9wOiBjYWxjKC04MHZ3IC8gMTIpO1xuICAgIGxlZnQ6IGNhbGMoLTUwdncgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMobWF4KDI1MHZ3IC8gMTIsIDg1cHgpKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwX21pZGFzaGkge1xuICAgIHBhZGRpbmc6IGNhbGMoMTUwdncgLyAxMikgMCBjYWxjKDMwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcF9taWRhc2hpIC5iZWVyX21pZGFzaGkge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcF9taWRhc2hpIGltZyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIGNhbGMoNjB2dyAvIDEyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCAuc3RlcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyOHZ3IC8gMTIsIDE1cHgpKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnN0ZXAgLnN0ZXAgLmJvbGQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDB2dyAvIDEyKTtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5zdGVwIGltZyB7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5zdGVwIC5mbG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDUwdncgLyAxMik7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAuc3RlcCAuYXJyb3cge1xuICAgIHdpZHRoOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDE1cHgpKTtcbiAgICBtYXJnaW46IGNhbGMoNjB2dyAvIDEyKSAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGNhbGMoNTB2dyAvIDEyKSBjYWxjKDcwdncgLyAxMikgY2FsYyg3MHZ3IC8gMTIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmJnX3JlZCB7XG4gICAgaGVpZ2h0OiA5NSU7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl9sb2dvIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKDUwdncgLyAxMikgMDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAgY2FsYyg2MHZ3IC8gMTIpIGNhbGMoNjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDM1dncgLyAxMiwgMTZweCkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjUGxhbiAuc3ViX3NlY3Rpb24ub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuZm9vdGVyX3RleHQgLnByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDMwdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDE4MHZ3IC8gMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbiAgI1BsYW4gLnN1Yl9zZWN0aW9uLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmZvb3Rlcl90ZXh0IC5wcmljZSAucHJpY2VfdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDM1dncgLyAxMiwgMTZweCkpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG4gICNQbGFuIC5zdWJfc2VjdGlvbi5vcmlnaW5hbF9iZWVyX3BsYW5fc2VjdGlvbiAuaW5uZXIgLnBsYW5fZm9vdGVyIC5mb290ZXJfdGV4dCAubm90ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyNHZ3IC8gMTIsIDE0cHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLm1haW5fY29udGVudHMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuI1RvcCAuaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbiNUb3AgLnBhcnRpdGlvbl9hcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNUb3AgLnBhcnRpdGlvbl9hcmVhLm9uZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAjVG9wIC5wYXJ0aXRpb25fYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAjVG9wIC5wYXJ0aXRpb25fYXJlYSAucGFydGl0aW9uX3RhaWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjAwcHgpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gICNUb3AgLnBhcnRpdGlvbl9hcmVhLm9uZSB7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDE5MnB4O1xuICB9XG4gICNUb3AgLnBhcnRpdGlvbl9hcmVhLm9uZSBpbWcge1xuICAgIGhlaWdodDogMTkycHg7XG4gIH1cbiAgI1RvcCAucGFydGl0aW9uX2FyZWEub25lIC5wYXJ0aXRpb25fdGFpbCB7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24xX3RhaWwucG5nKTtcbiAgfVxuICAjVG9wIC5wYXJ0aXRpb25fYXJlYS50d28ge1xuICAgIGhlaWdodDogMTkycHg7XG4gIH1cbiAgI1RvcCAucGFydGl0aW9uX2FyZWEudHdvIGltZyB7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgfVxuICAjVG9wIC5wYXJ0aXRpb25fYXJlYS50d28gLnBhcnRpdGlvbl90YWlsIHtcbiAgICBoZWlnaHQ6IDE5MnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL3BhcnRpdGlvbjJfdGFpbC5wbmcpO1xuICB9XG4gICNUb3AgLnBhcnRpdGlvbl9hcmVhLnRocmVlIHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gIH1cbiAgI1RvcCAucGFydGl0aW9uX2FyZWEudGhyZWUgaW1nIHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gIH1cbiAgI1RvcCAucGFydGl0aW9uX2FyZWEudGhyZWUgLnBhcnRpdGlvbl90YWlsIHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvcGFydGl0aW9uM190YWlsLnBuZyk7XG4gIH1cbn1cblxuI1RvcCAubWFpbl92aXN1YWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIge1xuICBoZWlnaHQ6IDcxLjd2dztcbiAgbWF4LWhlaWdodDogODYzLjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvbXZfYmcucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4jVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiA5MHB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjZTgzYjQwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubWFpbl9kZXNjcmlwdGlvbiBzcGFuIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5taXRzdW1vcmkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAxNDBweDtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubWl0c3Vtb3JpOmhvdmVyIHtcbiAgb3BhY2l0eTogMC45O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubWFpbl9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg5MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygzNnZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubWFpbl9kZXNjcmlwdGlvbiBzcGFuIHtcbiAgICBwYWRkaW5nOiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5taXRzdW1vcmkge1xuICAgIHdpZHRoOiBjYWxjKDE0MHZ3IC8gMTIpO1xuICAgIGhlaWdodDogY2FsYygxNDB2dyAvIDEyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciB7XG4gICAgaGVpZ2h0OiA5My41dnc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvbXZfYmdfc3AucG5nKTtcbiAgfVxuICAjVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMoNjB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24gc3BhbiB7XG4gICAgcGFkZGluZzogY2FsYygxNXZ3IC8gMTIpIGNhbGMoMTB2dyAvIDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgfVxufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uIC5zdGVwX25vIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiAuc3RlcF9ubyBpbWcge1xuICB3aWR0aDogMTgxcHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAzNXB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0ge1xuICB3aWR0aDogMzElO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICB3aWR0aDogMzAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uaGFsZiB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24gLnN0ZXBfbm8gaW1nIHtcbiAgICB3aWR0aDogY2FsYygxODF2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMzV2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICAgIHdpZHRoOiBjYWxjKDMwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyOHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVG9wIC5zdWJfc2VjdGlvbiAuc3RlcF9ubyBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDIxM3Z3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICAgIHBhZGRpbmc6IDAgY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICAgIHdpZHRoOiBjYWxjKDYwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg3MHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1NXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI1dncgLyAxMiwgMTRweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5oYWxmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDQ1cHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gaDEge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiBoMiB7XG4gIG1hcmdpbi10b3A6IDIxcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5zdGVwX25vIHtcbiAgdG9wOiAtMjQwcHg7XG4gIHJpZ2h0OiA2NXB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5ub3RlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5hcnRpY2xlX3RpdGxlIHtcbiAgY29sb3I6ICNlODNiNDA7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLnBhcnRpdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDQ1dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMXZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjV2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5zdGVwX25vIHtcbiAgICB0b3A6IGNhbGMoLTI0MHZ3IC8gMTIpO1xuICAgIHJpZ2h0OiBjYWxjKDY1dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAubm90ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE0dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAucGFydGl0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0yMHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoODB2dyAvIDEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIGgyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDIwdncgLyAxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5zdGVwX25vIHtcbiAgICB0b3A6IGNhbGMoLTIyNHZ3IC8gMTIpO1xuICAgIHJpZ2h0OiBjYWxjKDEwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAubm90ZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAuYXJ0aWNsZV90ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLmFydGljbGVfdGl0bGUge1xuICAgIGNvbG9yOiAjZTgzYjQwO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLnBhcnRpdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIH1cbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNjZW5lX3NlY3Rpb24gaDEge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiBoMiB7XG4gIG1hcmdpbi10b3A6IDIxcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIC5zdGVwX25vIHtcbiAgdG9wOiAtMjM0cHg7XG4gIGxlZnQ6IDc5cHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNjZW5lX3NlY3Rpb24gLmFydGljbGVfdGl0bGUge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVG9wIC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDExMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNjZW5lX3NlY3Rpb24gaDIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjF2dyAvIDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDI1dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0yMzR2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKDc5dncgLyAxMik7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVG9wIC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKG1heCgxNTB2dyAvIDEyLCA2MHB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMHZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0zMTN2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKDExNnZ3IC8gMTIpO1xuICB9XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gaDEge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIGgyIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgY29sb3I6ICNlODNiNDA7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuc3RlcF9ubyB7XG4gIHRvcDogLTIxMXB4O1xuICByaWdodDogNDBweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICBwYWRkaW5nOiAwIDEwMHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjguNSU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjZTgzYjQwO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RpdGxlIHtcbiAgcGFkZGluZzogMTRweCAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iIHtcbiAgd2lkdGg6IDI1MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIuYmVlcl9wbGFuIHtcbiAgd2lkdGg6IDIzMHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayBhIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlODNiNDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNjBweDtcbiAgbGVmdDogLTYwcHg7XG4gIHdpZHRoOiAxMTBweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmFydGljbGVfdGl0bGUge1xuICBwYWRkaW5nOiA0MHB4IDAgMTBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV90aXRsZSAubm90ZSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIC5hcnRpY2xlX2Rlc2NyaXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmFydGljbGVfZGVzY3JpcHRpb24gcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDU3JTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIC5hcnRpY2xlX3RodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyJTtcbiAgcmlnaHQ6IDMlO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmFydGljbGVfdGh1bWIuYmVlcl9wbGFuIHtcbiAgd2lkdGg6IDE2MHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmRldGFpbF9saW5rIHtcbiAgYm90dG9tOiA1MHB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmRldGFpbF9saW5rIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2U4M2I0MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmJhZGdlIHtcbiAgdG9wOiAtMzVweDtcbiAgbGVmdDogLTQwcHg7XG4gIHdpZHRoOiAxNDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2NXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNHZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLnN0ZXBfbm8ge1xuICAgIHRvcDogY2FsYygtMjExdncgLyAxMik7XG4gICAgcmlnaHQ6IGNhbGMoNDB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCB7XG4gICAgcGFkZGluZzogMCBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDUwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gICAgcGFkZGluZzogY2FsYygxNHZ3IC8gMTIpIDA7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgd2lkdGg6IGNhbGMoMjUwdncgLyAxMik7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIuYmVlcl9wbGFuIHtcbiAgICB3aWR0aDogY2FsYygyMzB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayB7XG4gICAgYm90dG9tOiBjYWxjKDE4dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuZGV0YWlsX2xpbmsgYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE1dncgLyAxMik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYmFkZ2Uge1xuICAgIHRvcDogY2FsYygtNjB2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKC02MHZ3IC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDExMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEyMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV90aXRsZSB7XG4gICAgcGFkZGluZzogY2FsYyg0MHZ3IC8gMTIpIDAgY2FsYygxMHZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygyOHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV90aXRsZSAubm90ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIC5hcnRpY2xlX2Rlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV90aHVtYi5iZWVyX3BsYW4ge1xuICAgIHdpZHRoOiBjYWxjKDE2MHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuZGV0YWlsX2xpbmsge1xuICAgIGJvdHRvbTogY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYmFkZ2Uge1xuICAgIHRvcDogY2FsYygtMzV2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKC00MHZ3IC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKDE0MHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMDB2dyAvIDEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhtYXgoMjAwdncgLyAxMiwgMTUwcHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gaDIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjB2dyAvIDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0yMzJ2dyAvIDEyKTtcbiAgICByaWdodDogY2FsYygyMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoNTB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKG1heCgxNTB2dyAvIDEyLCA3MHB4KSk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTQwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gICAgcGFkZGluZzogY2FsYyhtYXgoMjB2dyAvIDEyLCAxNXB4KSkgMDtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDQwdncgLyAxMiwgMTZweCkpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxcmVtO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICAgIHdpZHRoOiBjYWxjKG1heCg2MDB2dyAvIDEyLCAyNTBweCkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYi5iZWVyX3BsYW4ge1xuICAgIHdpZHRoOiBjYWxjKG1heCg1MzB2dyAvIDEyLCAyMjBweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmRldGFpbF9saW5rIHtcbiAgICBib3R0b206IGNhbGMobWF4KDUwdncgLyAxMiwgMjVweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmRldGFpbF9saW5rIGEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzB2dyAvIDEyLCAxNnB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYmFkZ2Uge1xuICAgIHRvcDogY2FsYygtOTF2dyAvIDEyKTtcbiAgICBsZWZ0OiBjYWxjKC00OHZ3IC8gMTIpO1xuICAgIHdpZHRoOiBjYWxjKG1heCgyMDB2dyAvIDEyLCA4NnB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE0MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKG1heCgxNTB2dyAvIDEyLCAxMDBweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg1NXZ3IC8gMTIsIDIwcHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmFydGljbGVfdGl0bGUgLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoNDB2dyAvIDEyLCAxMnB4KSk7XG4gICAgdG9wOiAtMnB4O1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuYXJ0aWNsZV9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNSU7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIC5hcnRpY2xlX2Rlc2NyaXB0aW9uIHAge1xuICAgIHdpZHRoOiA4NSU7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg0MHZ3IC8gMTIsIDEycHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmFydGljbGVfdGh1bWIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogNSU7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5mdWxsIC5hcnRpY2xlX3RodW1iLmJlZXJfcGxhbiB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmRldGFpbF9saW5rIHtcbiAgICBib3R0b206IGNhbGMobWF4KDcwdncgLyAxMiwgMzVweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0uZnVsbCAuZGV0YWlsX2xpbmsgYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgzMHZ3IC8gMTIsIDE2cHgpKTtcbiAgICBwYWRkaW5nOiBjYWxjKG1heCgzNXZ3IC8gMTIsIDE1cHgpKSBjYWxjKG1heCg2MHZ3IC8gMTIsIDI1cHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmZ1bGwgLmJhZGdlIHtcbiAgICB0b3A6IGNhbGMoLTEzMHZ3IC8gMTIpO1xuICAgIGxlZnQ6IGNhbGMoLTY1dncgLyAxMik7XG4gICAgd2lkdGg6IGNhbGMobWF4KDI1MHZ3IC8gMTIsIDEwMHB4KSk7XG4gIH1cbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjE1ODUzO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gaDEge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIGg0IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLmJyZXdlcnlfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmY7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg3MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDkwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNzB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1NXZ3IC8gMTIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMTV2dyAvIDEyLCAxMnB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVG9wIC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDIwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLmJyZXdlcnlfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDkwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNjB2dyAvIDEyKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI1dncgLyAxMiwgMTRweCkpO1xuICB9XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlODNiNDA7XG4gIC8qIHJhZGlvIGJ1dHRvbiBzdHlsZSAqL1xuICAvKiBzZWxlY3Qgc3R5bGUgKi9cbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBoMiBzcGFuIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0ge1xuICBwYWRkaW5nLXRvcDogODBweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmFydGljbGVfaXRlbSAuYXJ0aWNsZSB7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNpbXVsYXRpb25fbG9nbyB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNpbXVsYXRpb25fbG9nbyBpbWcge1xuICB3aWR0aDogMTU1cHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAubm90ZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJywgJ3NhbnMtc2VyaWYnO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtTWVkaXVtJywgJ3NhbnMtc2VyaWYnO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTc1YTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMgLnByaWNlIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZm9udC1zaXplOiA1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAuZW4ge1xuICBtYXJnaW4tbGVmdDogMTNweDtcbiAgZm9udC1zaXplOiA0LjhyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNzRweDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyAucGxhbl9hbnN3ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OCU7XG4gIGhlaWdodDogMTEwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IzMWQwMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbCAuZGVzY3JpcHRpb24ge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcicsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWw6aG92ZXIsICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWw6Zm9jdXMsICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWw6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgaW5wdXRbdHlwZT0ncmFkaW8nXTphY3RpdmUgfiBsYWJlbCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkIH4gbGFiZWwge1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICBvcGFjaXR5OiAxO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjI1cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXA6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI3cHg7XG4gIHJpZ2h0OiA1NXB4O1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDdweDtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gIGNvbG9yOiAjN2Y4NzhjO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL2ljb25fYXJyb3dfdW5kZXIucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHNlbGVjdCB7XG4gIHdpZHRoOiAyMjVweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtaW5kZW50OiA2NXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3OSwgMjksIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHNlbGVjdCBvcHRpb24ge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zZWxlY3Qtd3JhcCBzZWxlY3Q6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zZWxlY3Qtd3JhcCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHNlbGVjdDotbW96LWZvY3VzcmluZyB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAwICM4MjhjOWE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1MHZ3IC8gMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICAgIC8qIHJhZGlvIGJ1dHRvbiBzdHlsZSAqL1xuICAgIC8qIHNlbGVjdCBzdHlsZSAqL1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBoMiBzcGFuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuYXJ0aWNsZV9pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2ltdWxhdGlvbl9sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDM1dncgLyAxMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDE1dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zaW11bGF0aW9uX2xvZ28gaW1nIHtcbiAgICB3aWR0aDogY2FsYygxNTV2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxMnZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyB7XG4gICAgaGVpZ2h0OiBjYWxjKDEyNXZ3IC8gMTIpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDM1dncgLyAxMik7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2MHZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1MHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAuZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEzdncgLyAxMik7XG4gICAgZm9udC1zaXplOiBjYWxjKDQ4dncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEwdncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg3NHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgLnBsYW5fYW5zd2VyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTEwdncgLyAxMik7XG4gICAgbWFyZ2luOiAwIDAgY2FsYygyMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWwge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGxhYmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEydncgLyAxMik7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zZWxlY3Qtd3JhcCB7XG4gICAgd2lkdGg6IGNhbGMoMjI1dncgLyAxMik7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNXZ3IC8gMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjB2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwOmJlZm9yZSB7XG4gICAgdG9wOiBjYWxjKDI3dncgLyAxMik7XG4gICAgcmlnaHQ6IGNhbGMoNTV2dyAvIDEyKTtcbiAgICB3aWR0aDogY2FsYygxNXZ3IC8gMTIpO1xuICAgIGhlaWdodDogY2FsYyg3dncgLyAxMik7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoNTV2dyAvIDEyKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHNlbGVjdCB7XG4gICAgd2lkdGg6IGNhbGMoMjI1dncgLyAxMik7XG4gICAgaGVpZ2h0OiBjYWxjKDYwdncgLyAxMik7XG4gICAgcGFkZGluZzogY2FsYyg4dncgLyAxMikgY2FsYygxMnZ3IC8gMTIpO1xuICAgIHRleHQtaW5kZW50OiBjYWxjKDY1dncgLyAxMik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMHZ3IC8gMTIpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMjB2dyAvIDEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNjB2dyAvIDEyKTtcbiAgICAvKiByYWRpbyBidXR0b24gc3R5bGUgKi9cbiAgICAvKiBzZWxlY3Qgc3R5bGUgKi9cbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gaDIgc3BhbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuYXJ0aWNsZV9pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmFydGljbGVfaXRlbSAuYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDM1dncgLyAxMiwgMTRweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2ltdWxhdGlvbl9sb2dvIHtcbiAgICBtYXJnaW46IGNhbGMoMTUwdncgLyAxMikgMCBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2ltdWxhdGlvbl9sb2dvIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMzAwdncgLyAxMik7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjV2dyAvIDEyLCAxMHB4KSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMge1xuICAgIGhlaWdodDogY2FsYyhtYXgoMjAwdncgLyAxMiwgMTEwcHgpKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI4dncgLyAxMiwgMTJweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzV2dyAvIDEyLCAxNHB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg3NXZ3IC8gMTIsIDQ1cHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyhtaW4oLTIwdncgLyAxMiwgLTIwcHgpKTtcbiAgfVxuICAjVG9wIC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEwMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzB2dyAvIDEyLCAxMnB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbCAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjV2dyAvIDEyLCAxMHB4KSk7XG4gIH1cbiAgI1RvcCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbFtmb3I9J2Nob2ljZSddIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWxbZm9yPSdjaG9pY2UnXSAudGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgLnBsYW5fYW5zd2VyIHtcbiAgICB3aWR0aDogNDclO1xuICAgIGhlaWdodDogY2FsYyhtYXgoMjAwdncgLyAxMiwgOTBweCkpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAge1xuICAgIHdpZHRoOiBjYWxjKDM1MHZ3IC8gMTIpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMobWF4KDE1dncgLyAxMiwgN3B4KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygyMHZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXA6YmVmb3JlIHtcbiAgICB0b3A6IGNhbGMobWF4KDQ1dncgLyAxMiwgMjNweCkpO1xuICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgIGxlZnQ6IGNhbGMobWF4KDMwMHZ3IC8gMTIsIDExMHB4KSk7XG4gICAgd2lkdGg6IGNhbGMobWF4KDMwdncgLyAxMiwgMTRweCkpO1xuICAgIGhlaWdodDogY2FsYyhtYXgoMTV2dyAvIDEyLCA3cHgpKTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1NXZ3IC8gMTIpO1xuICB9XG4gICNUb3AgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgICB3aWR0aDogY2FsYyhtYXgoNDQwdncgLyAxMiwgMTYwcHgpKTtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDEwMHZ3IC8gMTIsIDUwcHgpKTtcbiAgICBwYWRkaW5nOiBjYWxjKDh2dyAvIDEyKSBjYWxjKG1heCgxMHZ3IC8gMTIsIDIwcHgpKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDMwdncgLyAxMiwgMTJweCkpO1xuICAgIHRleHQtaW5kZW50OiBjYWxjKDY1dncgLyAxMik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMHZ3IC8gMTIpO1xuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0RJTk5leHRSb3VuZGVkTFRQcm8tQm9sZCc7XG4gICAgc3JjOiB1cmwoLi4vZm9udC9ESU5OZXh0Um91bmRlZExUUHJvLUJvbGQub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbS1NZWRpdW0nO1xuICAgIHNyYzogdXJsKC4uL2ZvbnQvR290aGFtLU1lZGl1bS5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTmlja3lMYWF0ei1XaGl0ZU9sZWFuZGVyJztcbiAgICBzcmM6IHVybCguLi9mb250L05pY2t5TGFhdHotV2hpdGVPbGVhbmRlci5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1CbGFjayc7XG4gICAgc3JjOiB1cmwoLi4vZm9udC9Ob3RvU2Fuc0NKS2pwLUJsYWNrLm90ZikgZm9ybWF0KCdvcGVudHlwZScpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnO1xuICAgIHNyYzogdXJsKC4uL2ZvbnQvTm90b1NhbnNDSktqcC1Cb2xkLm90ZikgZm9ybWF0KCdvcGVudHlwZScpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bSc7XG4gICAgc3JjOiB1cmwoLi4vZm9udC9Ob3RvU2Fuc0NKS2pwLU1lZGl1bS5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJztcbiAgICBzcmM6IHVybCguLi9mb250L05vdG9TYW5zQ0pLanAtUmVndWxhci5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvQ29uZGVuc2VkLUJvbGQnO1xuICAgIHNyYzogdXJsKC4uL2ZvbnQvUm9ib3RvQ29uZGVuc2VkLUJvbGQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90b0NvbmRlbnNlZC1SZWd1bGFyJztcbiAgICBzcmM6IHVybCguLi9mb250L1JvYm90b0NvbmRlbnNlZC1SZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuIiwiQGltcG9ydCAnbWl4aW5zL3V0aWxpdGllcyc7XG5cbi5mYWRlaW4ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSxcbiAgICAgICAgYm90dG9tIDJzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5mYWRldXAge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbn1cblxuLmZhZGVkb3duIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSksXG4gICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xufVxuXG4uZmFkZWxlZnQge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbn1cblxuLmZhZGVyaWdodCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpLFxuICAgICAgICB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbn1cblxuQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgLmZhZGV1cCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG5cbiAgICAuZmFkZWRvd24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cblxuICAgIC5mYWRlbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB9XG5cbiAgICAuZmFkZXJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB9XG59XG4iLCJAbWl4aW4gbWVkaWEoJHJlcykge1xuICAgIEBpZiBtb2JpbGUgPT0gJHJlcyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiB0YWJsZXQgPT0gJHJlcyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiBwY19uYXJyb3cgPT0gJHJlcyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiBwY193aWRlID09ICRyZXMge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzaXplRm9yRmxleGlibGUoJHNpemUsICRtaW5TaXplOiAnJykge1xuICAgIEBpZiAkbWluU2l6ZSAhPSAnJyB7XG4gICAgICAgIEByZXR1cm4gY2FsYyhtYXgoI3skc2l6ZX12dyAvIDEyLCAjeyRtaW5TaXplfXB4KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gY2FsYygjeyRzaXplfXZ3IC8gMTIpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ21peGlucy91dGlsaXRpZXMnO1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcicsICdzYW5zLXNlcmlmJztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNik7XG4gICAgfVxufVxuXG5hIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIkBpbXBvcnQgJ21peGlucy91dGlsaXRpZXMnO1xuXG5oMSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG9Db25kZW5zZWQtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICBmb250LXNpemU6IDUuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cmVtO1xufVxuaDIge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xufVxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmg0IHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuaDUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDU0KTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyOCk7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjQpO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNik7XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMTApO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDU1KTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1Mi41KTtcbiAgICB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoNDcuNSk7XG4gICAgfVxufVxuXG4uaW5pdF9oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5hY3RpdmUge1xuICAgICYuaW5pdF9oaWRkZW4ge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg63jg7zjg4fjgqPjg7PjgrAtLS0tLS0tLS0tLS0tLS0qL1xuLmxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNlZTAwMDA7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDEwMCUgMjAwJTtcbiAgICBtYXNrLXNpemU6IDEwMCUgMjAwJTtcbiAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IDAgNTAlO1xuICAgIG1hc2stcG9zaXRpb246IDAgNTAlO1xuICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICBsZWZ0IHRvcCxcbiAgICAgICAgbGVmdCBib3R0b20sXG4gICAgICAgIGNvbG9yLXN0b3AoMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSksXG4gICAgICAgIGNvbG9yLXN0b3AoMjAlLCB3aGl0ZSksXG4gICAgICAgIGNvbG9yLXN0b3AoODAlLCB3aGl0ZSksXG4gICAgICAgIHRvKHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpXG4gICAgKTtcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwLFxuICAgICAgICB3aGl0ZSAyMCUsXG4gICAgICAgIHdoaXRlIDgwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlXG4gICAgKTtcbiAgICAubG9hZGluZ19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5sb2FkaW5nX3BlcmNlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yNXJlbTtcbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44OY44OD44OA44O8LS0tLS0tLS0tLS0tLS0tKi9cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlMDAwMDtcbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwIDM0cHggNnB4O1xuICAgICAgICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvIE1lZGl1bScsXG4gICAgICAgICAgICAnWXUgR290aGljIE1lZGl1bScsICfmuLjjgrTjgrfjg4Pjgq8nLCAnWXUgR290aGljJywgJ+ODoeOCpOODquOCqicsXG4gICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICAgIH1cbiAgICAuaGVhZGVyX2xvZ28ge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDE0N3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjZTAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgICAuaGVhZGVyX2xvZ28ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKG1vYmlsZSkge1xuICAgIC5oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgIC5oZWFkZXJfbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgLmNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg4rjg5PjgrLjg7zjgrfjg6fjg7Pjg5zjgr/jg7MtLS0tLS0tLS0tLS0tLS0qL1xuLm5hdl9idG4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDE4cHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgICAubGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuICAgIC5saW5lXzAxIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgIH1cbiAgICAubGluZV8wMiB7XG4gICAgICAgIHRvcDogMjRweDtcbiAgICB9XG4gICAgLmxpbmVfMDMge1xuICAgICAgICB0b3A6IDMycHg7XG4gICAgfVxufVxuLm5hdl9zaG93IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLm5hdl9idG4ge1xuICAgICAgICAubGluZV8wMSB7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmVfMDIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAubGluZV8wMyB7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAubmF2X2J0biB7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5saW5lXzAxIHtcbiAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgfVxuICAgICAgICAubGluZV8wMiB7XG4gICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmVfMDMge1xuICAgICAgICAgICAgdG9wOiAyOXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZfc2hvdyB7XG4gICAgICAgIC5uYXZfYnRuIHtcbiAgICAgICAgICAgIC5saW5lXzAxIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5lXzAzIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg4rjg5PjgrLjg7zjgrfjg6fjg7MtLS0tLS0tLS0tLS0tLS0qL1xuLm5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLm5hdl93cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTBlMTc7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBtYXJnaW46IDM1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYW5pbWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSk7XG4gICAgICAgICAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgdHJhbnNsYXRlWSgtMjRweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZTAwMDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1pdHN1bW9yaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA2MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdhNjYwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm9uZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudHdvIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50aHJlZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZm91ciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZml2ZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC42cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWl0c3Vtb3JpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2X3Nob3cgLm5hdmlnYXRpb24ge1xuICAgIHotaW5kZXg6IDI7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC5uYXZfd3JhcHBlciB7XG4gICAgICAgIC5hbmltZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLeOCs+ODs+ODhuODs+ODhC0tLS0tLS0tLS0tLS0tLSovXG4ubWFpbl9jb250ZW50cyB7XG4gICAgc2VjdGlvbiB7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYShwY193aWRlKSB7XG59XG5AaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xufVxuQGluY2x1ZGUgbWVkaWEobW9iaWxlKSB7XG59XG5cbi5tYWluX3NlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN1Yl9zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0gY2F1dGlvbnMgc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAmLmNhdXRpb25zX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMmVlO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgfVxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgLyogQWxzbyBuZWVkZWQgZm9yIHNwYWNlICh0d2VhayBpZiBuZWVkZWQpICovXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ+ODuyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAmLmNhdXRpb25zX3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzaXplRm9yRmxleGlibGUoNTApIDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAmLmNhdXRpb25zX3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg4MCwgNDApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxMDAsIDgwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDMwLCAxNSk7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzaXplRm9yRmxleGlibGUoODAsIDM1KSAwIDVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDE0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg1MCwgMTApIDAgc2l6ZUZvckZsZXhpYmxlKDYwLCAxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44OV44OD44K/44O8LS0tLS0tLS0tLS0tLS0tKi9cbi5mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I2OWU2ZTtcbiAgICAucGFnZV90b3Age1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2M3YWI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjVzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3R0b206IDYwcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlcl9sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuZm9vdGVyXzI2ayB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlcl96aXpvIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zbnMge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuc25zX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtTWVkaXVtJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIC5mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTAwKSBzaXplRm9yRmxleGlibGUoMTgwKTtcbiAgICAgICAgLnBhZ2VfdG9wIHtcbiAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgYm90dG9tOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVyX2xvZ28ge1xuICAgICAgICAgICAgLmZvb3Rlcl8yNmsge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDIwMCwgODApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvb3Rlcl96aXpvIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgyMDAsIDgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3Bfb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIC5zcF9vbmx5IHtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICB9XG4gICAgLnBjX29ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5ib2xkIHtcbiAgICBmb250LWZhbWlseTogTm90b1NhbnNDSktqcC1Cb2xkLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxucGljdHVyZSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG4ubXQtMTAge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubXQtNTAge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG4ubWItNDAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4iLCJAaW1wb3J0ICcuLi9taXhpbnMvdXRpbGl0aWVzJztcblxuI0NvbnRhY3Qge1xuICAgIC5pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIH1cbiAgICAubWFuZGF0b3J5IHtcbiAgICAgICAgcGFkZGluZzogNHB4IDNweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICfmuLjjgrTjgrfjg4Pjgq/kvZMnLCBZdUdvdGhpYywgJ+a4uOOCtOOCt+ODg+OCrycsICdZdSBHb3RoaWMnLFxuICAgICAgICAgICAgJ+ODoeOCpOODquOCqicsICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlODNiNDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5tYW5kYXRvcnkge1xuICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDQpIHNpemVGb3JGbGV4aWJsZSgzKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzaXplRm9yRmxleGlibGUoNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoNCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5tYW5kYXRvcnkge1xuICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDgpIHNpemVGb3JGbGV4aWJsZSgxMCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDEwKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSg0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBtYWluIHZpc3VhbCAtLS0tLS0tLS0tLS0tLS1cbiAgICAubWFpbl92aXN1YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAwO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhOTkyNjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG9wX2xpbmsge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bScsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZWUwMDAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZWUwMDAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjVzIGN1YmljLWJlemllcigwLjE3LCAwLjkzNSwgMC4zMDUsIDEpO1xuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweCA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlMDAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3Zjg3OGM7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvaWNvbl9hcnJvd19sZWZ0LnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg0MCkgc2l6ZUZvckZsZXhpYmxlKDQwKSAwO1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRvcF9saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDMwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg4KSBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgxMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBzaXplRm9yRmxleGlibGUoNyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjUwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRvcF9saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgyNCkgc2l6ZUZvckZsZXhpYmxlKDUwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSgyNCkgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoMzIsIDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tIHN1YiBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgIC5zdWJfc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoODApO1xuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gY29udGFjdCBwbGFuIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICYuY29udGFjdF9zZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZWU7XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucmVjYXB0Y2hhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3JtLFxuICAgICAgICAgICAgICAgIC5pbnB1dF9jb25maXJtLFxuICAgICAgICAgICAgICAgIC5zZW5kZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDExMHB4O1xuICAgICAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJi52ZXJ0aWNhbF9jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICfmuLjjgrTjgrfjg4Pjgq/kvZMnLCBZdUdvdGhpYywgJ+a4uOOCtOOCt+ODg+OCrycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdZdSBHb3RoaWMnLCAn44Oh44Kk44Oq44KqJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hpcmFnaW5vIEtha3UgR290aGljIFByb04nLCAnSGlyYWdpbm8gU2FucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmVtYWlsX2lucHV0X2NvbmZpcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ+a4uOOCtOOCt+ODg+OCr+S9kycsIFl1R290aGljLCAn5ri444K044K344OD44KvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1l1IEdvdGhpYycsICfjg6HjgqTjg6rjgqonLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICdIaXJhZ2lubyBTYW5zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAn5ri444K044K344OD44Kv5L2TJywgWXVHb3RoaWMsICfmuLjjgrTjgrfjg4Pjgq8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnWXUgR290aGljJywgJ+ODoeOCpOODquOCqicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5yYWRpb19zZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAn5ri444K044K344OD44Kv5L2TJywgWXVHb3RoaWMsICfmuLjjgrTjgrfjg4Pjgq8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnWXUgR290aGljJywgJ+ODoeOCpOODquOCqicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAn5ri444K044K344OD44Kv5L2TJywgWXVHb3RoaWMsICfmuLjjgrTjgrfjg4Pjgq8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnWXUgR290aGljJywgJ+ODoeOCpOODquOCqicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ0hpcmFnaW5vIFNhbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgICAgICAgICBhLnRvcF9saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYuY29udGFjdF9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgyMDApO1xuICAgICAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogc2l6ZUZvckZsZXhpYmxlKDEwMDApO1xuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTUpIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnJlY2FwdGNoYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMjApIHNpemVGb3JGbGV4aWJsZSgyMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplRm9yRmxleGlibGUoMjApIHNpemVGb3JGbGV4aWJsZSg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dF9jb25maXJtLFxuICAgICAgICAgICAgICAgICAgICAuc2VuZGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg1MCkgc2l6ZUZvckZsZXhpYmxlKDExMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbWFpbF9pbnB1dF9jb25maXJtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSgxMCkgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFkaW9fc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKC01KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDQ1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc2l6ZUZvckZsZXhpYmxlKDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGEudG9wX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgyMCkgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnNlbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLmNvbnRhY3Rfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTUwKTtcbiAgICAgICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg0MCwgMjApIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnJlY2FwdGNoYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzB2dztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmctcmVjYXB0Y2hhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNlbmRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvcm0sXG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dF9jb25maXJtLFxuICAgICAgICAgICAgICAgICAgICAuc2VuZGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDgwKSBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoODAsIDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjAsIDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVtYWlsX2lucHV0X2NvbmZpcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSgzMCkgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFkaW9fc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxMDAsIDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDQwLCAxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgYS50b3BfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDUwKSBzaXplRm9yRmxleGlibGUoMTIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDM1LCAxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlKSB7XG4gICAgICAgICAgICAmLmNvbnRhY3Rfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLnJlY2FwdGNoYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZy1yZWNhcHRjaGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vbWl4aW5zL3V0aWxpdGllcyc7XG5cbiNQbGFuIHtcbiAgICAuaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XG4gICAgLnNlcGFyYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgLnNlcGFyYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogc2l6ZUZvckZsZXhpYmxlKDEyMCkgMCBzaXplRm9yRmxleGlibGUoNjApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2UzZTM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0gbWFpbiB2aXN1YWwgLS0tLS0tLS0tLS0tLS0tXG4gICAgLm1haW5fdmlzdWFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggMDtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYTk5MjYxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWl0c3Vtb3JpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRvcF9saW5rIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2VlMDAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2VlMDAwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTcsIDAuOTM1LCAwLjMwNSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMC41cyBjdWJpYy1iZXppZXIoMC4xNywgMC45MzUsIDAuMzA1LCAxKTtcbiAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggNDVweDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZTAwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjN2Y4NzhjO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL2ljb25fYXJyb3dfbGVmdC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAubWFpbl92aXN1YWwge1xuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoNDApIHNpemVGb3JGbGV4aWJsZSg0MCkgMDtcbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgxMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1pdHN1bW9yaSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxMCk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRvcF9saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDMwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg4KSBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgxMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBzaXplRm9yRmxleGlibGUoNyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjUwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMzUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudG9wX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDMwLCAxMik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDI0KSBzaXplRm9yRmxleGlibGUoNTApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZUZvckZsZXhpYmxlKDI0KSBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgzMiwgMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0gc3ViIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgLnN1Yl9zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NiU7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN1Yl9hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgLnN1Yl9hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzMDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyOCwgMTUpO1xuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDQ1MCwgMTgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdWJfYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJfYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyOCwgMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI0LCAxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBjaG9pY2UgcGxhbiBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLmNob2ljZV9wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZWU7XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5wLTAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5iYWxsb29uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyNDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDUwcHggNzBweCA3MHB4O1xuICAgICAgICAgICAgICAgICAgICAuZm9vdGVyX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzUlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mb290ZXJfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2VfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJnX3JlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAmLmNob2ljZV9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuYmdfcmVkIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYuY2hvaWNlX3BsYW5fc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDE1KSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYmFsbG9vbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKDI0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDE1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnBsYW5fZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc2l6ZUZvckZsZXhpYmxlKDUwKSBzaXplRm9yRmxleGlibGUoNzApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZUZvckZsZXhpYmxlKDcwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb290ZXJfbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzUlIC0gNjB2dyAvIDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSA2MHZ3IC8gMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgzMCkgc2l6ZUZvckZsZXhpYmxlKDMwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplRm9yRmxleGlibGUoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDcwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgJi5jaG9pY2VfcGxhbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoODApO1xuICAgICAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg0MCwgMjApIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJhbGxvb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgtNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgyNTAsIDg1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSg1MCkgc2l6ZUZvckZsZXhpYmxlKDcwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmdfcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb290ZXJfbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDUwKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg2MCkgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2VfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDM1LCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI0LCAxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tIG9yaWdpbmFsIGxhYmVsIHBsYW4gc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgJi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJlZTtcbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5iYWxsb29uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9taWRhc2hpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5mbG93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0LjQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI5JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAuNDYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTgxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNyU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNDYyJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDc3cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnBsYW5fZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDcwcHggNzBweDtcbiAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl9sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZm9vdGVyX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjUlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDdyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5iZ19yZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgJi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24gLmlubmVyIC5wbGFuX2Zvb3RlciAuYmdfcmVkIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYub3JpZ2luYWxfbGFiZWxfcGxhbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTUpIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5iYWxsb29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC01MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMjAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTUwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3RlcF9taWRhc2hpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg2MCkgMCBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDUwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxODEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNzcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wbGFuX2Zvb3RlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSgxMCkgc2l6ZUZvckZsZXhpYmxlKDcwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9vdGVyX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDYwdncgLyAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb290ZXJfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjUlIC0gNjB2dyAvIDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMzApIHNpemVGb3JGbGV4aWJsZSgzMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZUZvckZsZXhpYmxlKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDcwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgJi5vcmlnaW5hbF9sYWJlbF9wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg0MCwgMjApIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJhbGxvb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgtNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgyNTAsIDg1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3RlcF9taWRhc2hpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgxNTApIDAgc2l6ZUZvckZsZXhpYmxlKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI4LCAxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZsb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNDAsIDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSg2MCkgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSg1MCkgc2l6ZUZvckZsZXhpYmxlKDcwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmdfcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb290ZXJfbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDUwKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg2MCkgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2VfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDM1LCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI0LCAxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tIG9yaWdpbmFsIGJlZXIgcGxhbiBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIHtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZWU7XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYmFsbG9vbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtNTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0ZXBfbWlkYXNoaSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC5iZWVyX21pZGFzaGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuICAgICAgICAgICAgICAgICAgICAuZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNC40JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTklO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwLjQ2JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4MXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmJvbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmNmEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS43JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS40NjIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggNzBweCA3MHB4O1xuICAgICAgICAgICAgICAgICAgICAuZm9vdGVyX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzUlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5mb290ZXJfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2VfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJnX3JlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAmLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIC5pbm5lciAucGxhbl9mb290ZXIgLmJnX3JlZCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICAmLm9yaWdpbmFsX2JlZXJfcGxhbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTUpIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYmFsbG9vbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKDIwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDE1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN0ZXBfbWlkYXNoaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoNjApIDAgc2l6ZUZvckZsZXhpYmxlKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5iZWVyX21pZGFzaGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNjAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSg1MDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJvbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDc3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzaXplRm9yRmxleGlibGUoMTApIHNpemVGb3JGbGV4aWJsZSg3MClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplRm9yRmxleGlibGUoNzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl9sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzNSUgLSA2MHZ3IC8gMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9vdGVyX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDY1JSAtIDYwdncgLyAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDMwKSBzaXplRm9yRmxleGlibGUoMzApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICAgICYub3JpZ2luYWxfYmVlcl9wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxMDAsIDUwKTtcbiAgICAgICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoNDAsIDIwKSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg4MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5iYWxsb29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC04MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoLTUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjUwLCA4NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnN0ZXBfbWlkYXNoaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTUwKSAwIHNpemVGb3JGbGV4aWJsZSgzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmVlcl9taWRhc2hpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI4LCAxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZsb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNDAsIDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSg2MCkgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucGxhbl9mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSg1MCkgc2l6ZUZvckZsZXhpYmxlKDcwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmdfcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb290ZXJfbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDUwKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvb3Rlcl90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg2MCkgc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2VfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDM1LCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI0LCAxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vbWl4aW5zL3V0aWxpdGllcyc7XG5cbiNUb3Age1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAubWFpbl9jb250ZW50cyB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XG5cbiAgICAucGFydGl0aW9uX2FyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJi5vbmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX3dpZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjAwcHgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5vbmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOTJweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24xX3RhaWwucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnR3byB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOTJweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24yX3RhaWwucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRocmVlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL3BhcnRpdGlvbjNfdGFpbC5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBtYWluIHZpc3VhbCAtLS0tLS0tLS0tLS0tLS1cbiAgICAubWFpbl92aXN1YWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA3MS43dnc7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4NjMuNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvbXZfYmcucG5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAubWFpbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWl0c3Vtb3JpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC5tYWluX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzYpO1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgxMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1pdHN1bW9yaSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOTMuNXZ3O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL212X2JnX3NwLnBuZyk7XG4gICAgICAgICAgICAgICAgLm1haW5fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDE1KSBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0gc3ViIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgLnN1Yl9zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTgxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmhhbGYge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSgzNSk7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIxMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNjAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoNzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI1LCAxNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5oYWxmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tIHBvaW50IHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICYucG9pbnRfc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2E5OTI2MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjQwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnBhcnRpdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYucG9pbnRfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg0NSk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjEpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0yNDApO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogc2l6ZUZvckZsZXhpYmxlKDY1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wYXJ0aXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoLTIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLnBvaW50X3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoODApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTIyNCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnBhcnRpdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBzY2VuZSBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLnNjZW5lX3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhOTkyNjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgIHRvcDogLTIzNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDc5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhOTkyNjE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYuc2NlbmVfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxMTApO1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDIxKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtMjM0KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKDc5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLnNjZW5lX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoODApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTUwLCA2MCk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0zMTMpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMTE2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gcGxhbiBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLnBsYW5fc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhOTkyNjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgIHRvcDogLTIxMXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMDBweDtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjguNSU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZTgzYjQwO1xuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmJlZXJfcGxhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWxfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZTgzYjQwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC02MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU3JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZXJfcGxhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGV0YWlsX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAgICAgJi5wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDE2NSk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0yMTEpO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogc2l6ZUZvckZsZXhpYmxlKDQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDE0KSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDI1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZXJfcGxhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGV0YWlsX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC02MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKC02MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSg0MCkgMCBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWVyX3BsYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXRhaWxfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTM1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKC00MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLnBsYW5fc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjAwLCAxNTApO1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtMjMyKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxNTAsIDcwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgxNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgyMCwgMTUpIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoNDAsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDYwMCwgMjUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZXJfcGxhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNTMwLCAyMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXRhaWxfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBzaXplRm9yRmxleGlibGUoNTAsIDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzAsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC05MSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKC00OCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgyMDAsIDg2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZnVsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDE0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxNTAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1NSwgMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg0MCwgMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDQwLCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWVyX3BsYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXRhaWxfbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDcwLCAzNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzAsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNpemVGb3JGbGV4aWJsZSgzNSwxNSkgc2l6ZUZvckZsZXhpYmxlKDYwLCAyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTEzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgtNjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDI1MCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gYnJld2VyeSBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYxNTg1MztcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2E5OTI2MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg5MCk7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE1LCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjAwKTtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBzaW11bGF0aW9uIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bScsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpbXVsYXRpb25fbG9nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdWxjIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTc1YTtcbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICBmb3JtW25hbWU9J3BsYW5fZm9ybSddIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgICAucGxhbl9vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7XG4gICAgICAgICAgICAgICAgICAgIC5wbGFuX2Fuc3dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMzFkMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIHNlbGVjdCBzdHlsZSAqL1xuICAgICAgICAgICAgLnNlbGVjdC13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyN3B4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdmODc4YztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9pY29uX2Fycm93X3VuZGVyLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoI2IzMWQwMCwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCNmZmYsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICM4MjhjOWE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDUwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNpemVGb3JGbGV4aWJsZSgyNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNpbXVsYXRpb25fbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgzNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc2l6ZUZvckZsZXhpYmxlKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTU1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmN1bGMge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxMjUpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDM1KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDUpO1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzaXplRm9yRmxleGlibGUoMTMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoNDgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICAgICAgZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgtMTApO1xuICAgICAgICAgICAgICAgICAgICAucGxhbl9vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg3NCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAucGxhbl9hbnN3ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDExMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBzZWxlY3Qgc3R5bGUgKi9cbiAgICAgICAgICAgICAgICAuc2VsZWN0LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIyNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKDI3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiBzaXplRm9yRmxleGlibGUoNjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEyMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxNjApO1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaW11bGF0aW9uX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSgxNTApIDAgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmN1bGMge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgyMDAsIDExMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI4LCAxMik7XG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg3NSwgNDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICAgICAgZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMobWluKC0yMHZ3IC8gMTIsIC0yMHB4KSk7XG4gICAgICAgICAgICAgICAgICAgIC5wbGFuX29wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzAsIDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyNSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsW2Zvcj0nY2hvaWNlJ10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBsYW5fYW5zd2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDIwMCwgOTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogc2VsZWN0IHN0eWxlICovXG4gICAgICAgICAgICAgICAgLnNlbGVjdC13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzNTApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTUsIDcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSg0NSwgMjMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMzAwLCAxMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTUsIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg1NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNDQwLCAxNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTAwLCA1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDEwLCAyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IHNpemVGb3JGbGV4aWJsZSg2NSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 */