@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: NotoSansCJKjp-Black;
  src: url(../fonts/NotoSansCJKjp-Black.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Bold;
  src: url(../fonts/NotoSansCJKjp-Bold.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Medium;
  src: url(../fonts/NotoSansCJKjp-Medium.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Regular;
  src: url(../fonts/NotoSansCJKjp-Regular.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Thin;
  src: url(../fonts/NotoSansCJKjp-Thin.otf) format("opentype")
}
@font-face {
  font-family: NotoSansCJKjp-Light;
  src: url(../fonts/NotoSansCJKjp-Light.otf) format("opentype")
}
@font-face {
  font-family: NotoSerifJP-Regular;
  src: url(../fonts/NotoSerifJP-Regular.otf) format("opentype")
}
@font-face {
  font-family: Cinzel;
  src: url(../fonts/Cinzel-Regular.ttf)
}
@font-face {
  font-family: Cinzel-Bold;
  src: url(../fonts/Cinzel-Bold.ttf)
}
@font-face {
  font-family: Cinzel-SemiBold;
  src: url(../fonts/Cinzel-SemiBold.ttf)
}
.fadein {
  transition: opacity .6s ease-in,bottom 1s ease-in
}
.fadeup {
  transition: opacity .6s ease-in,-webkit-transform .8s ease-in;
  transition: opacity .6s ease-in,transform .8s ease-in;
  transition: opacity .6s ease-in,transform .8s ease-in,-webkit-transform .8s ease-in;
  -webkit-transform: translateY(20px);
  transform: translateY(20px)
}
.fadedown {
  transition: opacity .6s ease-in,-webkit-transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in,-webkit-transform 1s ease-in;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px)
}
.fadeleft {
  transition: opacity .6s ease-in,-webkit-transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in,-webkit-transform 1s ease-in;
  -webkit-transform: translateX(20px);
  transform: translateX(20px)
}
.faderight {
  transition: opacity .6s ease-in,-webkit-transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in;
  transition: opacity .6s ease-in,transform 1s ease-in,-webkit-transform 1s ease-in;
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px)
}
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;
}
@media only screen and (min-width:1441px) {
  body {
    overflow-x: hidden;
  }
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  body {
    font-size: calc(max(16vw / 14.4,13px))
  }
}
@media only screen and (max-width:768px) {
  body {
    font-size: 4vw
  }
}
a {
  color: #000;
  text-decoration: none
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
main {
  display: block
}
h1 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  text-align: center
}
h2 {
  font-family: NotoSansCJKjp-Light,sans-serif;
  font-size: 3.6rem;
  line-height: 1.7;
  text-align: center;
  letter-spacing: .2rem
}
h3 {
  font-family: NotoSansCJKjp-Light,sans-serif;
  font-weight: 400;
  text-align: center
}
h4 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  text-align: center
}
h5 {
  font-family: NotoSansCJKjp-Bold,sans-serif;
  text-align: center
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  h2 {
    font-size: calc(36vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  h2 {
    font-family: NotoSansCJKjp-Regular,sans-serif;
    font-size: 6.3vw
  }
}
.init_hidden {
  opacity: 0
}
.active.init_hidden {
  opacity: 1!important;
  -webkit-transform: translate(0,0);
  transform: translate(0,0)
}
a:hover {
  opacity: .7
}
.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 145px;
  background-color: #fff;
  transition: height .4s
}
.header.mini {
  height: 70px
}
.header .logo {
  width: 200px;
  margin-left: 40px
}
.header .header_info {
  display: flex
}
.header .header_info .tel {
  margin-right: 30px;
  text-align: center
}
.header .header_info .tel .number {
  font-family: Cinzel-SemiBold,sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .15rem
}
.header .header_info .tel .time {
  font-size: 1.4rem;
  letter-spacing: .05rem
}
.header .header_info .contact {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  margin-right: 20px;
  font-size: 1.4rem;
  color: #fff;
  background-color: #005aaa
}
.header .header_info .lecture {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  margin-right: 40px;
  font-size: 1.4rem;
  background-color: #fcee2b
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  .header .logo {
    width: calc(max(200vw / 14.4,150px))
  }
  .header .header_info .tel .number {
    font-size: calc(max(24vw / 14.4,18px))
  }
  .header .header_info .tel .time {
    font-size: calc(max(13vw / 14.4,12px))
  }
  .header .header_info .contact {
    height: calc(max(40vw / 14.4,34px));
    font-size: calc(max(14vw / 14.4,11px))
  }
  .header .header_info .lecture {
    height: calc(max(40vw / 14.4,34px));
    font-size: calc(max(14vw / 14.4,11px))
  }
}
@media only screen and (max-width:768px) {
  .header {
    align-items: flex-start;
    height: inherit;
    margin: 5.5% 0 6.2%;
    position: inherit
  }
  .header.mini {
    height: inherit
  }
  .header .logo {
    width: 33vw;
    margin-left: 5vw
  }
  .header .header_info {
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 60vw;
    text-align: right;
    flex-flow: wrap-reverse
  }
  .header .header_info .tel {
    margin-top: 5.1vw;
    margin-right: 4.5vw;
    white-space: nowrap
  }
  .header .header_info .tel .number {
    font-size: 5.1vw;
    letter-spacing: .82vw;
    text-decoration: underline
  }
  .header .header_info .tel .time {
    margin-top: .8vw;
    font-size: 3.2vw;
    letter-spacing: .2vw
  }
  .header .header_info .contact {
    padding: 2vw 2.5vw;
    margin-top: 2.7vw;
    margin-right: 5.2vw;
    font-size: 4.1vw
  }
  .header .header_info .lecture {
    padding: 2vw 2.5vw;
    margin-right: 5.2vw;
    font-size: 4.1vw
  }
}
.main_section {
  position: relative
}
.footer {
  position: relative
}
.footer .message {
  padding: 8% 0 8.3%;
  text-align: center
}
.footer .message img {
  width: 60%
}
.footer .link_area {
  display: flex;
  flex-wrap: wrap
}
.footer .link_area > a,
.footer .link_area > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.333333%;
  height: 150px
}
.footer .link_area > a.tel,
.footer .link_area > div.tel {
  border-top: 1px solid #dcdddd;
  text-align: center;
  height: 149px
}
.footer .link_area > a.tel .number,
.footer .link_area > div.tel .number {
  font-family: Cinzel-Bold,sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .35rem
}
.footer .link_area > a.tel .time,
.footer .link_area > div.tel .time {
  font-size: 1.8rem;
  letter-spacing: .03rem
}
.footer .link_area > a.contact,
.footer .link_area > a.lecture,
.footer .link_area > div.contact,
.footer .link_area > div.lecture {
  font-size: 2rem
}
.footer .link_area > a.contact > div,
.footer .link_area > a.lecture > div,
.footer .link_area > div.contact > div,
.footer .link_area > div.lecture > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%
}
.footer .link_area > a.contact > div img,
.footer .link_area > a.lecture > div img,
.footer .link_area > div.contact > div img,
.footer .link_area > div.lecture > div img {
  width: 18px;
  margin-left: 15px
}
.footer .link_area > a.contact,
.footer .link_area > div.contact {
  color: #fff;
  background-color: #0c5ca8
}
.footer .link_area > a.lecture,
.footer .link_area > div.lecture {
  background-color: #fbec44
}
.footer .foot_bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding: 0 38px;
  background-color: #ebebeb
}
.footer .foot_bar .logo {
  width: 15%;
  -o-object-fit: contain;
  object-fit: contain
}
.footer .foot_bar .footer_link .separate {
  margin: 0 17px;
  border-left: 1px solid #666
}
.footer .foot_bar .footer_link a {
  font-size: 1.2rem;
  color: #666
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  .footer .link_area > a,
  .footer .link_area > div {
    height: calc(max(150vw / 14.4,100px))
  }
  .footer .link_area > a.tel,
  .footer .link_area > div.tel {
    height: calc(max(149vw / 14.4,99px))
  }
  .footer .link_area > a.tel .number,
  .footer .link_area > div.tel .number {
    font-size: calc(max(28vw / 14.4,20px))
  }
  .footer .link_area > a.tel .time,
  .footer .link_area > div.tel .time {
    font-size: calc(max(18vw / 14.4,13px))
  }
  .footer .link_area > a.contact,
  .footer .link_area > a.lecture,
  .footer .link_area > div.contact,
  .footer .link_area > div.lecture {
    font-size: calc(max(20vw / 14.4,14px))
  }
  .footer .link_area > a.contact > div img,
  .footer .link_area > a.lecture > div img,
  .footer .link_area > div.contact > div img,
  .footer .link_area > div.lecture > div img {
    width: calc(max(18vw / 14.4,13px));
    margin-left: calc(max(15vw / 14.4,8px))
  }
  .footer .foot_bar {
    height: calc(max(100vw / 14.4,80px))
  }
}
@media only screen and (max-width:768px) {
  .footer .message {
    padding: 15% 0 15%
  }
  .footer .message img {
    width: 80%
  }
  .footer .link_area > a,
  .footer .link_area > div {
    width: 100%;
    height: 22.7vw
  }
  .footer .link_area > a.tel,
  .footer .link_area > div.tel {
    border-top: 1px solid #dcdddd;
    height: calc(22.7vw - 1px);
    text-align: center
  }
  .footer .link_area > a.tel .number,
  .footer .link_area > div.tel .number {
    font-size: 4.5vw;
    line-height: 1.4;
    letter-spacing: .85vw;
    text-decoration: underline
  }
  .footer .link_area > a.tel .time,
  .footer .link_area > div.tel .time {
    font-size: 3.4vw;
    letter-spacing: .15vw
  }
  .footer .link_area > a.contact,
  .footer .link_area > a.lecture,
  .footer .link_area > div.contact,
  .footer .link_area > div.lecture {
    font-size: 4.5vw
  }
  .footer .link_area > a.contact > div,
  .footer .link_area > a.lecture > div,
  .footer .link_area > div.contact > div,
  .footer .link_area > div.lecture > div {
    width: 100%
  }
  .footer .link_area > a.contact > div img,
  .footer .link_area > a.lecture > div img,
  .footer .link_area > div.contact > div img,
  .footer .link_area > div.lecture > div img {
    width: 3vw;
    margin-left: 1vw
  }
  .footer .foot_bar {
    flex-flow: column-reverse;
    height: inherit;
    padding: 0 38px
  }
  .footer .foot_bar .logo {
    width: 45%;
    padding: 2vw 0 9vw
  }
  .footer .foot_bar .footer_link {
    padding: 6vw 0
  }
  .footer .foot_bar .footer_link .separate {
    margin: 0 6vw
  }
  .footer .foot_bar .footer_link a {
    font-size: 3.4vw
  }
}
.sp_only {
  display: none
}
@media only screen and (max-width:768px) {
  .sp_only {
    display: initial
  }
  .pc_only {
    display: none
  }
}
.fixed {
  position: fixed
}
.bold {
  font-weight: 700
}
.text-center {
  text-align: center
}
picture {
  display: contents
}
.disabled {
  pointer-events: none;
  opacity: .2
}
.relative {
  position: relative
}
.flex {
  display: flex
}
.align-center {
  align-items: center
}
.justify-center {
  justify-content: center
}
.justify-between {
  justify-content: space-between
}
.text-center {
  text-align: center
}
.text-right {
  text-align: right
}
.text-left {
  text-align: left
}
.mr-10 {
  margin-right: 10px
}
.mr-20 {
  margin-right: 20px
}
.mr-30 {
  margin-right: 30px
}
.mr-40 {
  margin-right: 40px
}
.ml-10 {
  margin-left: 10px
}
.ml-20 {
  margin-left: 20px
}
.ml-30 {
  margin-left: 30px
}
.ml-40 {
  margin-left: 40px
}
.mt-10 {
  margin-top: 10px
}
.mt-20 {
  margin-top: 20px
}
.mt-30 {
  margin-top: 30px
}
.mt-40 {
  margin-top: 40px
}
.mb-10 {
  margin-bottom: 10px
}
.mb-20 {
  margin-bottom: 20px
}
.mb-30 {
  margin-bottom: 30px
}
.mb-40 {
  margin-bottom: 40px
}
@media only screen and (max-width:768px) {
  #Test .main_contents {
    overflow: hidden
  }
}
#Test .inner {
  width: 100%;
  max-width: 1440px
}
#Test .partition_area {
  width: 100%
}
#Test .partition_area.one {
  position: absolute;
  bottom: 0
}
@media only screen and (min-width:1441px) {
  #Test .partition_area {
    display: flex
  }
  #Test .partition_area .partition_tail {
    width: calc(100% - 1440px);
    background-repeat: repeat;
    background-size: contain
  }
  #Test .partition_area.one {
    left: 0;
    height: 192px
  }
  #Test .partition_area.one img {
    height: 192px
  }
  #Test .partition_area.one .partition_tail {
    height: 192px;
    background-image: url(../../../assets/img/partition1_tail.png)
  }
  #Test .partition_area.two {
    height: 192px
  }
  #Test .partition_area.two img {
    height: 192px
  }
  #Test .partition_area.two .partition_tail {
    height: 192px;
    background-image: url(../../../assets/img/partition2_tail.png)
  }
  #Test .partition_area.three {
    height: 53px
  }
  #Test .partition_area.three img {
    height: 53px
  }
  #Test .partition_area.three .partition_tail {
    height: 53px;
    background-image: url(../../../assets/img/partition3_tail.png)
  }
}
#Test .main_visual {
  position: relative;
  display: flex;
  justify-content: center
}
#Test .main_visual .inner {
  height: 64.7vw;
  max-height: 776.375px;
  background-image: url(../../../assets/img/mv_bg.png);
  background-repeat: no-repeat;
  background-size: contain
}
#Test .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
}
#Test .main_visual .inner .main_description span {
  padding: 10px;
  background-color: #fff
}
#Test .main_visual .inner .mitsumori {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 140px;
  height: 140px;
  transition: opacity .5s ease
}
#Test .main_visual .inner .mitsumori:hover {
  opacity: .9
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .main_visual .inner .main_description {
    margin-top: calc(90vw / 14.4);
    font-size: calc(36vw / 14.4)
  }
  #Test .main_visual .inner .main_description span {
    padding: calc(10vw / 14.4)
  }
  #Test .main_visual .inner .mitsumori {
    width: calc(140vw / 14.4);
    height: calc(140vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .main_visual .inner {
    height: 96.5vw;
    background-image: url(../../../assets/img/mv_bg_sp.png)
  }
  #Test .main_visual .inner .main_description {
    margin-top: calc(20vw / 14.4);
    font-size: calc(60vw / 14.4)
  }
  #Test .main_visual .inner .main_description span {
    padding: calc(15vw / 14.4) calc(10vw / 14.4);
    line-height: 1.65
  }
}
#Test .sub_section {
  display: flex;
  justify-content: center
}
#Test .sub_section .inner {
  position: relative
}
#Test .sub_section .step_no {
  position: absolute
}
#Test .sub_section .step_no img {
  width: 181px
}
#Test .sub_section .article_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 90px
}
#Test .sub_section .article_list .article_item {
  width: 31%
}
#Test .sub_section .article_list .article_item .article_thumb {
  width: 300px;
  margin: auto
}
#Test .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
}
#Test .sub_section .article_list .article_item .article_text {
  margin-top: 10px;
  letter-spacing: .3rem
}
#Test .sub_section .article_list .article_item.half {
  width: 50%;
  margin-top: 0
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .sub_section .step_no img {
    width: calc(181vw / 14.4)
  }
  #Test .sub_section .article_list {
    padding: 0 calc(90vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_thumb {
    width: calc(300vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_title {
    margin-top: calc(28vw / 14.4);
    font-size: calc(20vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_text {
    margin-top: calc(10vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section .step_no img {
    width: calc(213vw / 14.4)
  }
  #Test .sub_section .article_list {
    padding: 0 calc(50vw / 14.4)
  }
  #Test .sub_section .article_list .article_item {
    width: 100%;
    margin-top: calc(100vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_thumb {
    width: calc(600vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_title {
    margin-top: calc(70vw / 14.4);
    font-size: calc(55vw / 14.4)
  }
  #Test .sub_section .article_list .article_item .article_text {
    margin: auto;
    margin-top: 10px;
    font-size: calc(max(25vw / 14.4,14px))
  }
  #Test .sub_section .article_list .article_item.half {
    width: 100%
  }
}
#Test .sub_section.point_section {
  padding-top: 45px
}
#Test .sub_section.point_section h1 {
  color: #a99261
}
#Test .sub_section.point_section h2 {
  margin-top: 21px;
  margin-bottom: 25px;
  color: #e83b40
}
#Test .sub_section.point_section .step_no {
  top: -165px;
  right: 65px
}
#Test .sub_section.point_section .note {
  font-size: 14px
}
#Test .sub_section.point_section .article_title {
  color: #e83b40
}
#Test .sub_section.point_section .partition {
  margin-top: -20px
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .sub_section {
    padding-top: calc(45vw / 14.4)
  }
  #Test .sub_section h2 {
    margin-top: calc(21vw / 14.4);
    margin-bottom: calc(25vw / 14.4)
  }
  #Test .sub_section .step_no {
    top: calc(-165vw / 14.4);
    right: calc(65vw / 14.4)
  }
  #Test .sub_section .note {
    font-size: calc(14vw / 14.4)
  }
  #Test .sub_section .partition {
    margin-top: calc(-20vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section.point_section {
    padding-top: calc(80vw / 14.4);
    padding-bottom: calc(100vw / 14.4)
  }
  #Test .sub_section.point_section h2 {
    margin-top: calc(20vw / 14.4);
    margin-bottom: 0
  }
  #Test .sub_section.point_section .step_no {
    top: calc(-224vw / 14.4);
    right: calc(10vw / 14.4)
  }
  #Test .sub_section.point_section .note {
    font-size: 1.4rem
  }
  #Test .sub_section.point_section .article_text {
    max-width: 560px
  }
  #Test .sub_section.point_section .article_title {
    color: #e83b40
  }
  #Test .sub_section.point_section .partition {
    margin-top: -20px
  }
}
#Test .sub_section.scene_section {
  padding-top: 50px;
  padding-bottom: 110px
}
#Test .sub_section.scene_section h1 {
  color: #a99261
}
#Test .sub_section.scene_section h2 {
  margin-top: 21px;
  margin-bottom: 25px;
  color: #e83b40
}
#Test .sub_section.scene_section .step_no {
  top: -234px;
  left: 79px
}
#Test .sub_section.scene_section .article_title {
  color: #a99261
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .sub_section.scene_section {
    padding-top: calc(50vw / 14.4);
    padding-bottom: calc(110vw / 14.4)
  }
  #Test .sub_section.scene_section h2 {
    margin-top: calc(21vw / 14.4);
    margin-bottom: calc(25vw / 14.4)
  }
  #Test .sub_section.scene_section .step_no {
    top: calc(-234vw / 14.4);
    left: calc(79vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section.scene_section {
    padding-top: calc(80vw / 14.4);
    padding-bottom: calc(max(150vw / 14.4,60px))
  }
  #Test .sub_section.scene_section h2 {
    margin-top: calc(20vw / 14.4);
    margin-bottom: 0
  }
  #Test .sub_section.scene_section .step_no {
    top: calc(-313vw / 14.4);
    left: calc(116vw / 14.4)
  }
}
#Test .sub_section.plan_section {
  padding-top: 100px;
  padding-bottom: 165px
}
#Test .sub_section.plan_section h1 {
  color: #a99261
}
#Test .sub_section.plan_section h2 {
  margin-top: 24px;
  margin-bottom: 50px;
  color: #e83b40
}
#Test .sub_section.plan_section .step_no {
  top: -211px;
  right: 40px
}
#Test .sub_section.plan_section .article_list {
  padding: 0 100px
}
#Test .sub_section.plan_section .article_list .article_item {
  position: relative;
  width: 28.5%;
  padding-bottom: 50px;
  border: 3px solid #e83b40
}
#Test .sub_section.plan_section .article_list .article_item .article_title {
  padding: 14px 0;
  margin-top: 0;
  font-size: 16px;
  color: #fff;
  background-color: #e83b40
}
#Test .sub_section.plan_section .article_list .article_item .article_thumb {
  width: 250px;
  margin: auto;
  margin-top: 25px
}
#Test .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
  width: 230px
}
#Test .sub_section.plan_section .article_list .article_item .detail_link {
  position: absolute;
  bottom: 18px;
  width: 100%;
  text-align: center
}
#Test .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
}
#Test .sub_section.plan_section .article_list .article_item .badge {
  position: absolute;
  top: -60px;
  left: -60px;
  width: 110px
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .sub_section.plan_section {
    padding-top: calc(100vw / 14.4);
    padding-bottom: calc(165vw / 14.4)
  }
  #Test .sub_section.plan_section h2 {
    margin-top: calc(24vw / 14.4);
    margin-bottom: calc(50vw / 14.4)
  }
  #Test .sub_section.plan_section .step_no {
    top: calc(-211vw / 14.4);
    right: calc(40vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list {
    padding: 0 calc(100vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item {
    padding-bottom: calc(50vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .article_title {
    padding: calc(14vw / 14.4) 0;
    font-size: calc(16vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .article_thumb {
    width: calc(250vw / 14.4);
    margin-top: calc(25vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
    width: calc(230vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .detail_link {
    bottom: calc(18vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .detail_link a {
    font-size: calc(15vw / 14.4);
    text-decoration: underline
  }
  #Test .sub_section.plan_section .article_list .article_item .badge {
    top: calc(-60vw / 14.4);
    left: calc(-60vw / 14.4);
    width: calc(110vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section.plan_section {
    padding-top: calc(100vw / 14.4);
    padding-bottom: calc(max(200vw / 14.4,150px))
  }
  #Test .sub_section.plan_section h2 {
    margin-top: calc(20vw / 14.4);
    margin-bottom: 0
  }
  #Test .sub_section.plan_section .step_no {
    top: calc(-232vw / 14.4);
    right: calc(20vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list {
    padding: 0 calc(50vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item {
    width: 100%;
    max-width: 560px;
    padding-bottom: calc(max(150vw / 14.4,70px));
    margin: auto;
    margin-top: calc(140vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .article_title {
    padding: calc(max(20vw / 14.4,15px)) 0;
    font-size: calc(max(40vw / 14.4,16px));
    letter-spacing: .01rem
  }
  #Test .sub_section.plan_section .article_list .article_item .article_thumb {
    width: calc(max(600vw / 14.4,250px));
    margin-top: calc(100vw / 14.4)
  }
  #Test .sub_section.plan_section .article_list .article_item .article_thumb.beer_plan {
    width: calc(max(530vw / 14.4,220px))
  }
  #Test .sub_section.plan_section .article_list .article_item .detail_link {
    bottom: calc(max(50vw / 14.4,25px))
  }
  #Test .sub_section.plan_section .article_list .article_item .detail_link a {
    font-size: calc(max(30vw / 14.4,16px))
  }
  #Test .sub_section.plan_section .article_list .article_item .badge {
    top: calc(-91vw / 14.4);
    left: calc(-48vw / 14.4);
    width: calc(max(200vw / 14.4,86px))
  }
}
#Test .sub_section.brewery_section {
  padding-top: 70px;
  padding-bottom: 90px;
  background-color: #615853
}
#Test .sub_section.brewery_section h1 {
  color: #a99261
}
#Test .sub_section.brewery_section h4 {
  color: #fff
}
#Test .sub_section.brewery_section .article_list {
  margin-top: 70px
}
#Test .sub_section.brewery_section .article_list .article_item .article_thumb {
  width: 100%
}
#Test .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:1440px) and (min-width:769px) {
  #Test .sub_section.brewery_section {
    padding-top: calc(70vw / 14.4);
    padding-bottom: calc(90vw / 14.4)
  }
  #Test .sub_section.brewery_section .article_list {
    margin-top: calc(70vw / 14.4)
  }
  #Test .sub_section.brewery_section .article_list .article_item .article_text {
    padding-left: calc(55vw / 14.4);
    font-size: calc(max(15vw / 14.4,12px))
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section.brewery_section {
    padding-top: calc(100vw / 14.4);
    padding-bottom: calc(200vw / 14.4)
  }
  #Test .sub_section.brewery_section .article_list {
    margin-top: calc(90vw / 14.4)
  }
  #Test .sub_section.brewery_section .article_list .article_item .article_thumb {
    max-width: 560px
  }
  #Test .sub_section.brewery_section .article_list .article_item .article_text {
    max-width: 560px;
    padding-left: 0;
    margin-top: calc(60vw / 14.4);
    font-size: calc(max(25vw / 14.4,14px))
  }
}
#Test .sub_section.simulation_section {
  padding-top: 50px;
  padding-bottom: 100px;
  background-color: #e83b40
}
#Test .sub_section.simulation_section h2 {
  color: #fff
}
#Test .sub_section.simulation_section h2 span {
  padding-bottom: 10px;
  border-bottom: 5px solid
}
#Test .sub_section.simulation_section .article_item {
  padding-top: 80px
}
#Test .sub_section.simulation_section .article_item .article_text {
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-weight: 600;
  color: #fff
}
#Test .sub_section.simulation_section .article_item .article {
  margin-left: 25px
}
#Test .sub_section.simulation_section .simulation_logo {
  margin-top: 35px;
  margin-right: 15px;
  text-align: center
}
#Test .sub_section.simulation_section .simulation_logo img {
  width: 155px
}
#Test .sub_section.simulation_section .note {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px
}
#Test .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
}
#Test .sub_section.simulation_section .culc .title {
  font-size: 1.8rem
}
#Test .sub_section.simulation_section .culc .price {
  padding-bottom: 5px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1
}
#Test .sub_section.simulation_section .culc .en {
  margin-left: 13px;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1
}
#Test .sub_section.simulation_section .culc p {
  text-align: center
}
#Test .sub_section.simulation_section form[name=plan_form] {
  margin-top: -10px
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 74px
}
#Test .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
}
#Test .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
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.2rem
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options label:active,
#Test .sub_section.simulation_section form[name=plan_form] .plan_options label:focus,
#Test .sub_section.simulation_section form[name=plan_form] .plan_options label:hover {
  border: 1px solid rgba(255,255,255,.5)
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio] {
  width: 0;
  height: 0;
  margin: 0;
  opacity: 0
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio]:active ~ label {
  opacity: 1
}
#Test .sub_section.simulation_section form[name=plan_form] .plan_options input[type=radio]:checked ~ label {
  border: 3px solid #fff;
  opacity: 1
}
#Test .sub_section.simulation_section .select-wrap {
  position: relative;
  width: 225px;
  margin-top: 15px;
  margin-bottom: 20px
}
#Test .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
}
#Test .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
}
#Test .sub_section.simulation_section .select-wrap select option {
  color: #333;
  background-color: #fff
}
#Test .sub_section.simulation_section .select-wrap select::-ms-expand {
  display: none
}
#Test .sub_section.simulation_section .select-wrap select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Test .sub_section.simulation_section {
    padding-top: calc(50vw / 14.4);
    padding-bottom: calc(100vw / 14.4)
  }
  #Test .sub_section.simulation_section h2 span {
    padding-bottom: calc(10vw / 14.4)
  }
  #Test .sub_section.simulation_section .article_item {
    padding-top: calc(80vw / 14.4)
  }
  #Test .sub_section.simulation_section .article_item .article {
    margin-left: calc(25vw / 14.4)
  }
  #Test .sub_section.simulation_section .simulation_logo {
    margin-top: calc(35vw / 14.4);
    margin-right: calc(15vw / 14.4)
  }
  #Test .sub_section.simulation_section .simulation_logo img {
    width: calc(155vw / 14.4)
  }
  #Test .sub_section.simulation_section .note {
    font-size: calc(12vw / 14.4)
  }
  #Test .sub_section.simulation_section .culc {
    height: calc(125vw / 14.4);
    padding-top: calc(35vw / 14.4);
    margin-top: calc(60vw / 14.4);
    margin-bottom: calc(5vw / 14.4)
  }
  #Test .sub_section.simulation_section .culc .title {
    font-size: calc(18vw / 14.4)
  }
  #Test .sub_section.simulation_section .culc .price {
    font-size: calc(50vw / 14.4)
  }
  #Test .sub_section.simulation_section .culc .en {
    margin-left: calc(13vw / 14.4);
    font-size: calc(48vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] {
    margin-top: calc(-10vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options {
    margin-bottom: calc(74vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options .plan_answer {
    height: calc(110vw / 14.4);
    margin: 0 0 calc(20vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label {
    border-radius: calc(10vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
    font-size: calc(12vw / 14.4)
  }
  #Test .sub_section.simulation_section .select-wrap {
    width: calc(225vw / 14.4);
    margin-top: calc(15vw / 14.4);
    margin-bottom: calc(20vw / 14.4)
  }
  #Test .sub_section.simulation_section .select-wrap:before {
    top: calc(27vw / 14.4);
    right: calc(55vw / 14.4);
    width: calc(15vw / 14.4);
    height: calc(7vw / 14.4);
    line-height: calc(55vw / 14.4)
  }
  #Test .sub_section.simulation_section .select-wrap select {
    width: calc(225vw / 14.4);
    height: calc(60vw / 14.4);
    padding: calc(8vw / 14.4) calc(12vw / 14.4);
    text-indent: calc(65vw / 14.4);
    border-radius: calc(10vw / 14.4)
  }
}
@media only screen and (max-width:768px) {
  #Test .sub_section.simulation_section {
    padding-top: calc(120vw / 14.4);
    padding-bottom: calc(160vw / 14.4)
  }
  #Test .sub_section.simulation_section h2 span {
    padding-bottom: 0;
    border-bottom: 3px solid
  }
  #Test .sub_section.simulation_section .article_item {
    padding-top: 0
  }
  #Test .sub_section.simulation_section .article_item .article {
    max-width: 560px;
    margin: auto
  }
  #Test .sub_section.simulation_section .article_item .article_text {
    margin-top: 0;
    margin-left: 0;
    font-size: calc(max(35vw / 14.4,14px))
  }
  #Test .sub_section.simulation_section .simulation_logo {
    margin: calc(150vw / 14.4) 0 calc(100vw / 14.4)
  }
  #Test .sub_section.simulation_section .simulation_logo img {
    width: calc(300vw / 14.4);
    max-width: 150px
  }
  #Test .sub_section.simulation_section .note {
    font-size: calc(max(25vw / 14.4,10px));
    text-align: left;
    letter-spacing: .01rem
  }
  #Test .sub_section.simulation_section .culc {
    height: calc(max(200vw / 14.4,110px));
    font-size: calc(max(28vw / 14.4,12px))
  }
  #Test .sub_section.simulation_section .culc .title {
    font-size: calc(max(35vw / 14.4,14px))
  }
  #Test .sub_section.simulation_section .culc .en {
    font-size: calc(max(75vw / 14.4,45px))
  }
  #Test .sub_section.simulation_section form[name=plan_form] {
    margin-top: calc(min(-20vw / 12,-20px))
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options {
    margin-bottom: calc(100vw / 14.4)
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label {
    font-size: calc(max(30vw / 14.4,12px))
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label .description {
    font-size: calc(max(25vw / 14.4,10px))
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label[for=choice] {
    line-height: 1.3
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options label[for=choice] .title {
    line-height: 2
  }
  #Test .sub_section.simulation_section form[name=plan_form] .plan_options .plan_answer {
    width: 47%;
    height: calc(max(200vw / 14.4,90px))
  }
  #Test .sub_section.simulation_section .select-wrap {
    width: calc(350vw / 14.4);
    margin-top: calc(max(15vw / 14.4,7px));
    margin-bottom: calc(20vw / 14.4)
  }
  #Test .sub_section.simulation_section .select-wrap:before {
    top: calc(max(45vw / 14.4,23px));
    right: inherit;
    left: calc(max(300vw / 14.4,110px));
    width: calc(max(30vw / 14.4,14px));
    height: calc(max(15vw / 14.4,7px));
    line-height: calc(55vw / 14.4)
  }
  #Test .sub_section.simulation_section .select-wrap select {
    width: calc(max(440vw / 14.4,160px));
    height: calc(max(100vw / 14.4,50px));
    padding: calc(8vw / 14.4) calc(max(10vw / 14.4,20px));
    font-size: calc(max(30vw / 14.4,12px));
    text-indent: calc(65vw / 14.4);
    border-radius: calc(10vw / 14.4)
  }
}
#Top .inner {
  width: 100%;
  max-width: 1440px
}
#Top .sub_title {
  font-weight: 600;
  text-align: center;
  letter-spacing: .2rem
}
@media only screen and (max-width:768px) {
  #Top .sub_title {
    text-align: center;
    letter-spacing: .5vw
  }
}
#Top .main_visual {
  position: relative;
  display: flex;
  justify-content: center;
  overflow: hidden
}
#Top .main_visual .inner {
  position: relative
}
#Top .main_visual .inner .mv_img img {
  width: 74%
}
#Top .main_visual .inner .mv_title {
  position: absolute;
  top: 16.5%;
  left: 7%;
  padding-right: 62%
}
#Top .main_visual .inner .mv_title img {
  width: 31vw;
  max-width: 441px
}
#Top .main_visual .inner .mv_description {
  position: absolute;
  top: 33%;
  left: 7%;
  line-height: 2.8
}
#Top .main_visual .inner .mv_signature_img {
  width: 80%;
  margin-top: 2%
}
@media only screen and (max-width:1000px) and (min-width:769px) {
  #Top .main_visual .inner .mv_description {
    line-height: 2.1
  }
}
@media only screen and (max-width:768px) {
  #Top .main_visual {
    position: relative;
    display: block
  }
  #Top .main_visual .inner .mv_img {
    margin-bottom: 24.5%
  }
  #Top .main_visual .inner .mv_img img {
    width: 81%
  }
  #Top .main_visual .inner .mv_title {
    top: 65vw;
    left: 5.4%;
    width: 66vw
  }
  #Top .main_visual .inner .mv_title img {
    width: 68vw
  }
  #Top .main_visual .inner .mv_description {
    position: inherit;
    left: 0;
    margin: 7vw 4.5vw 0 6vw;
    font-size: 4vw;
    line-height: 2.35
  }
  #Top .main_visual .inner .mv_signature_img {
    width: 100%;
    margin-top: -11%;
    margin-bottom: 6%
  }
}
#Top .about {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -3%;
  overflow: hidden;
  color: #fff;
  background-color: #0c5ca8
}
#Top .about .inner {
  position: relative;
  padding: 4% 0 4.5%
}
#Top .about .inner .description {
  display: flex;
  justify-content: center;
  margin-top: 1.5%;
  line-height: 2.2
}
#Top .about .inner .description p {
  width: 59%
}
#Top .about .inner .white_bg {
  position: absolute;
  top: 0;
  right: calc((1440px - 100vw)/ 2);
  width: calc((100vw - 1440px)/ 2 + 9.2%);
  height: 100%;
  background-color: #fff
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .about .inner .white_bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 9.2%;
    height: 100%;
    background-color: #fff
  }
}
@media only screen and (max-width:768px) {
  #Top .about .inner {
    padding: 11.7% 0 12.5%
  }
  #Top .about .inner .description {
    display: flex;
    justify-content: center;
    margin-top: 4%;
    line-height: 2.05
  }
  #Top .about .inner .description p {
    width: 89%
  }
  #Top .about .inner .white_bg {
    display: none
  }
}
#Top .features {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 5.3% 0 4%;
  overflow: hidden
}
#Top .features .blue {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #eaf1f9
}
#Top .features .inner {
  position: relative;
  text-align: center
}
#Top .features .inner .sub_title {
  color: #0c5ca8
}
#Top .features .inner .white_bg {
  position: absolute;
  top: 0;
  width: calc((100vw - 1440px)/ 2 + 9.2%);
  height: 100%;
  background-color: #fff
}
#Top .features .inner .white_bg.position_right {
  right: calc((1440px - 100vw)/ 2)
}
#Top .features .inner .white_bg.position_left {
  left: calc((1440px - 100vw)/ 2)
}
#Top .features .inner .description {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  width: 76%;
  padding: 3.5% 0 3.1%;
  text-align: left
}
#Top .features .inner .description .description_img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}
#Top .features .inner .description .description_copy {
  width: 54%;
  padding: 4% 4.5%
}
#Top .features .inner .description .description_copy .description_title {
  margin-bottom: 4%;
  font-family: NotoSansCJKjp-Medium,sans-serif;
  font-size: 2rem;
  font-weight: 600
}
#Top .features .inner .description .description_copy .description_title span {
  padding-bottom: 1%;
  border-bottom: 1px solid #000
}
#Top .features .inner .description .description_copy .description_content {
  line-height: 2.2;
  color: #666
}
#Top .features .inner .description.description1 .description_img {
  width: 35%
}
#Top .features .inner .description.description1 .description_copy {
  width: 54%;
  padding: 4% 4.5%
}
#Top .features .inner .description.description2 {
  justify-content: flex-end;
  padding-right: 3%
}
#Top .features .inner .description.description2 .description_img {
  width: 31%
}
#Top .features .inner .description.description2 .description_copy {
  width: 54%;
  padding: 6.6% 4.5% 7.2%
}
#Top .features .inner .description.description3 {
  justify-content: flex-end;
  padding-right: 3%
}
#Top .features .inner .description.description3 .description_img {
  width: 30%;
  margin-right: 3.5%;
  margin-bottom: 2.5%
}
#Top .features .inner .description.description3 .description_copy {
  width: 54%;
  padding: 10% 4.5% 14%
}
#Top .features .inner .description.description4 {
  justify-content: flex-end;
  padding-right: 3%
}
#Top .features .inner .description.description4 .description_img {
  width: 31%
}
#Top .features .inner .description.description4 .description_copy {
  width: 54%;
  padding: 6.6% 4.5% 7.8%
}
#Top .features .inner .description.description5 {
  justify-content: flex-start;
  width: 92%
}
#Top .features .inner .description.description5 .description_img {
  width: 37%
}
#Top .features .inner .description.description5 .description_copy {
  width: 45%;
  padding: 4.7% 4% 0
}
#Top .features .inner .description.description5 .case > div {
  background-color: #f2f2f2
}
#Top .features .inner .description .case {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5%;
  margin-right: 4%
}
#Top .features .inner .description .case .case_header {
  position: relative;
  width: 9%;
  background-color: #fbec44
}
#Top .features .inner .description .case .case_header img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 25%;
  margin: auto
}
#Top .features .inner .description .case > div {
  width: 79%;
  padding: 6%;
  background-color: #fff
}
#Top .features .inner .description .case > div .case_title {
  margin-bottom: 2%;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  color: #0c5ca8
}
#Top .features .inner .description .case > div .case_content {
  color: #666
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .features .inner .white_bg {
    width: 9.2%
  }
  #Top .features .inner .white_bg.position_right {
    right: 0
  }
  #Top .features .inner .white_bg.position_left {
    left: 0
  }
  #Top .features .inner .description .description_copy .description_title {
    font-size: calc(max(20vw / 14.4,15px))
  }
}
@media only screen and (max-width:768px) {
  #Top .features {
    display: block;
    padding: 13.2% 0 5%
  }
  #Top .features .blue {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #eaf1f9
  }
  #Top .features .inner {
    position: relative;
    text-align: center
  }
  #Top .features .inner .white_bg {
    display: none
  }
  #Top .features .inner .description {
    width: 90%;
    text-align: left
  }
  #Top .features .inner .description .description_copy {
    width: 100%!important;
    padding: 0 0 2%!important
  }
  #Top .features .inner .description .description_copy .description_title {
    margin-bottom: 4%;
    font-size: 4.8vw;
    line-height: 2.3
  }
  #Top .features .inner .description .description_copy .description_title span {
    padding-bottom: 1.5%
  }
  #Top .features .inner .description .description_copy .description_content {
    line-height: 2.05;
    color: #666
  }
  #Top .features .inner .description.description1 {
    flex-flow: column-reverse;
    padding: 8% 0 13%
  }
  #Top .features .inner .description.description1 .description_img {
    width: 85%;
    margin-top: 1%;
    margin-left: 7.5%
  }
  #Top .features .inner .description.description2 {
    padding: 12% 0 13%
  }
  #Top .features .inner .description.description2 .description_img {
    width: 75%;
    height: 100%;
    margin-top: 9.5%;
    margin-right: 9%
  }
  #Top .features .inner .description.description3 {
    flex-flow: column-reverse;
    padding: 10% 0 12%
  }
  #Top .features .inner .description.description3 .description_copy .description_title {
    margin-bottom: 5.6%
  }
  #Top .features .inner .description.description3 .description_img {
    width: 78%;
    margin-top: 7.2%;
    margin-left: 11%
  }
  #Top .features .inner .description.description4 {
    padding: 12% 0 16%
  }
  #Top .features .inner .description.description4 .case .case_title {
    white-space: nowrap
  }
  #Top .features .inner .description.description4 .description_copy .description_title {
    margin-bottom: 5.6%
  }
  #Top .features .inner .description.description4 .description_copy .description_content {
    margin-bottom: 8%
  }
  #Top .features .inner .description.description4 .description_img {
    width: 80.4%;
    height: 100%;
    margin-top: 7%;
    margin-right: 8%
  }
  #Top .features .inner .description.description5 {
    flex-flow: column-reverse;
    width: 89%;
    padding: 11% 0 12%
  }
  #Top .features .inner .description.description5 .description_copy .description_title {
    margin-bottom: 5.6%
  }
  #Top .features .inner .description.description5 .description_copy .description_content {
    margin-bottom: 8%
  }
  #Top .features .inner .description.description5 .description_img {
    width: 100%;
    margin-top: 8%;
    margin-left: 0
  }
  #Top .features .inner .description .case {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5%;
    margin-right: 0
  }
  #Top .features .inner .description .case .case_header {
    width: 8%;
    background-color: #fbec44
  }
  #Top .features .inner .description .case .case_header img {
    height: 20%
  }
  #Top .features .inner .description .case > div {
    width: 79%;
    padding: 6.2% 6.5% 6.2%;
    background-color: #fff
  }
  #Top .features .inner .description .case > div .case_title {
    margin-bottom: 2%;
    font-weight: 700;
    font-size: 3.7vw
  }
  #Top .features .inner .description .case > div .case_content {
    line-height: 2;
    font-size: 3.7vw
  }
}
#Top .voices {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 5.6% 0;
  background-color: #eaf1f9
}
#Top .voices .inner {
  text-align: center
}
#Top .voices .inner .sub_title {
  color: #0c5ca8
}
#Top .voices .inner .voice {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  width: 62%;
  padding: 2.5% 0;
  text-align: left;
  border-bottom: 1px solid #ebebeb
}
#Top .voices .inner .voice.voice4 {
  border-bottom: none
}
#Top .voices .inner .voice .icon {
  width: 17%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}
#Top .voices .inner .voice .voice_copy {
  width: 77%;
  padding: 0 0 0 5.5%
}
#Top .voices .inner .voice .voice_copy .annotation {
  font-size: 1.2rem;
  color: #666
}
#Top .voices .inner .voice .voice_copy .voice_university {
  font-family: NotoSansCJKjp-Regular,sans-serif;
  font-size: 1.4rem
}
#Top .voices .inner .voice .voice_copy .voice_user {
  margin-bottom: 1%;
  font-family: NotoSansCJKjp-Bold,sans-serif;
  font-size: 1.8rem
}
#Top .voices .inner .voice .voice_copy .voice_user .annotation {
  color: #000;
  vertical-align: top;
  line-height: 2.7;
  margin-left: 5px
}
#Top .voices .inner .voice .voice_copy .voice_content {
  line-height: 2.2;
  color: #666
}
@media only screen and (max-width:1440px) and (min-width:769px) and (max-width:1000px) {
  #Top .voices .inner .voice {
    width: 75%
  }
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .voices .inner .voice .voice_copy .annotation {
    font-size: calc(max(12vw / 14.4,11px))
  }
  #Top .voices .inner .voice .voice_copy .voice_university {
    font-size: calc(max(14vw / 14.4,12px))
  }
  #Top .voices .inner .voice .voice_copy .voice_user {
    font-size: calc(max(18vw / 14.4,16px))
  }
}
@media only screen and (max-width:768px) {
  #Top .voices {
    padding: 12% 0 10%
  }
  #Top .voices .inner .voice {
    width: 89%;
    padding: 7% 0
  }
  #Top .voices .inner .voice .sp_only {
    margin-top: 1.6vw;
    margin-left: 3.5vw
  }
  #Top .voices .inner .voice .sp_only .voice_university {
    font-family: NotoSansCJKjp-Medium,sans-serif;
    font-size: 3.4vw
  }
  #Top .voices .inner .voice .sp_only .voice_user {
    margin-bottom: 1%;
    font-family: NotoSansCJKjp-Bold,sans-serif;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.4
  }
  #Top .voices .inner .voice .sp_only .voice_user .annotation {
    margin-left: 5px;
    vertical-align: top;
    line-height: 2
  }
  #Top .voices .inner .voice .icon {
    width: 22.5%;
    height: 100%
  }
  #Top .voices .inner .voice .annotation {
    font-size: 3.1vw!important
  }
  #Top .voices .inner .voice .voice_copy {
    width: 100%;
    padding: 0;
    margin-top: 4vw
  }
  #Top .voices .inner .voice .voice_copy .voice_content {
    line-height: 2.1
  }
}
#Top .courses {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 7% 0 8%
}
#Top .courses .inner .sub_title {
  margin-bottom: 3%;
  color: #005aaa
}
#Top .courses .inner .description {
  display: flex;
  justify-content: center;
  margin-bottom: 3.5%;
  line-height: 2.3;
  color: #666;
  text-align: center;
  letter-spacing: .2rem
}
#Top .courses .inner .description > div {
  width: 65%
}
#Top .courses .inner .course_types {
  text-align: center
}
#Top .courses .inner .course_types > div {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 81%;
  text-align: left
}
#Top .courses .inner .course_types > div .course_type {
  width: 42.5%;
  padding: 2% 3%;
  margin-bottom: 6.8%;
  text-align: center
}
#Top .courses .inner .course_types > div .course_type .course_img {
  width: 17%;
  margin: auto
}
#Top .courses .inner .course_types > div .course_type .course_copy .course_title {
  margin-top: 2%;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5
}
#Top .courses .inner .course_types > div .course_type .course_copy .course_content {
  text-align: left
}
#Top .courses .inner .course_types > div .course_type.yellow_bg {
  background-color: #fdef00
}
#Top .courses .inner .course_types > div .course_type.yellow_bg .course_img img {
  width: 88%
}
#Top .courses .inner .course_types > div .course_type.blue_bg {
  color: #fff;
  background-color: #0059b0
}
#Top .courses .inner .course_types > div .course_type.blue_bg .course_img img {
  width: 70%
}
#Top .courses .inner .school_expenses {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}
#Top .courses .inner .school_expenses > div {
  width: 64.7%
}
#Top .courses .inner .school_expenses > div .title {
  margin-bottom: 2.3%;
  font-size: 2.3rem;
  font-weight: 700
}
#Top .courses .inner .school_expenses > div .table {
  margin-bottom: 3%
}
#Top .courses .inner .school_expenses > div .table .rows {
  display: flex;
  flex-wrap: wrap
}
#Top .courses .inner .school_expenses > div .table .rows > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(33.33333% - 2px);
  border: 1px solid #fff
}
#Top .courses .inner .school_expenses > div .table .rows > div .annotation_number {
  padding: 0 0 1% 1%;
  font-size: .9rem
}
#Top .courses .inner .school_expenses > div .table .rows > div.header_row {
  height: 68px;
  color: #fff;
  background-color: #0059b0
}
#Top .courses .inner .school_expenses > div .table .rows > div.column_row {
  height: 58px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #666;
  background-color: #ebebeb
}
#Top .courses .inner .school_expenses > div .table .rows > div.record_row {
  font-size: 1.4rem;
  color: #666;
  background-color: #f8f8f8
}
#Top .courses .inner .school_expenses > div .table .rows > div.record_row img {
  width: 5%
}
#Top .courses .inner .school_expenses > div .annotation {
  font-size: 1.3rem;
  color: #666
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .courses .inner .course_types > div .course_type .course_copy .course_title {
    font-size: calc(max(3vw / 14.4,18px))
  }
}
@media only screen and (max-width:1440px) and (min-width:769px) and (max-width:1000px) {
  #Top .courses .inner .school_expenses > div {
    width: 75%
  }
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .courses .inner .school_expenses > div .title {
    font-size: calc(max(23vw / 14.4,15px))
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.column_row {
    font-size: calc(max(14vw / 14.4,12px))
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.record_row {
    font-size: calc(max(14vw / 14.4,12px))
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.record_row img {
    width: 6%
  }
  #Top .courses .inner .school_expenses > div .annotation {
    font-size: calc(max(13vw / 14.4,10px))
  }
}
@media only screen and (max-width:768px) {
  #Top .courses {
    padding: 10% 0 16%
  }
  #Top .courses .inner .sub_title {
    margin-bottom: 6%
  }
  #Top .courses .inner .description {
    margin-bottom: 8%;
    font-size: 3.5vw;
    line-height: 2.13;
    text-align: left
  }
  #Top .courses .inner .description > div {
    width: 91%
  }
  #Top .courses .inner .course_types > div {
    width: 90%
  }
  #Top .courses .inner .course_types > div .course_type {
    width: 100%;
    padding: 5% 3%;
    margin-bottom: 6%
  }
  #Top .courses .inner .course_types > div .course_type .course_img {
    width: 20%
  }
  #Top .courses .inner .course_types > div .course_type .course_img img {
    width: 100%
  }
  #Top .courses .inner .course_types > div .course_type .course_copy .course_title {
    font-family: NotoSansCJKjp-Medium,sans-serif;
    font-size: 4.4vw
  }
  #Top .courses .inner .school_expenses > div {
    width: 90%;
    margin-top: 8%
  }
  #Top .courses .inner .school_expenses > div .title {
    margin-bottom: 5%;
    font-size: 4.5vw
  }
  #Top .courses .inner .school_expenses > div .table {
    margin-bottom: 6%
  }
  #Top .courses .inner .school_expenses > div .table .rows > div {
    text-align: center
  }
  #Top .courses .inner .school_expenses > div .table .rows > div .annotation_number {
    padding: 0 0 1% 1%;
    font-size: 2.5vw
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.header_row {
    height: 16.2vw;
    line-height: 1.4;
    color: #fff;
    background-color: #0059b0
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.column_row {
    height: 16vw;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.2;
    color: #666;
    background-color: #ebebeb
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.column_row.higher {
    height: 21.3vw
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.record_row {
    font-size: 4vw;
    line-height: 1.3;
    color: #666;
    background-color: #f8f8f8
  }
  #Top .courses .inner .school_expenses > div .table .rows > div.record_row img {
    width: 13%
  }
  #Top .courses .inner .school_expenses > div .annotation {
    font-size: 3.5vw;
    line-height: 1.9
  }
}
#Top .process {
  background-color: #0059b0
}
#Top .process .inner {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 4.5% 0 5%;
  color: #fff
}
#Top .process .inner > div {
  width: 70%
}
#Top .process .inner > div .sub_title {
  margin-bottom: 6.2%
}
#Top .process .inner > div .flow {
  display: flex;
  flex-wrap: wrap
}
#Top .process .inner > div .flow .number {
  width: 28.5%;
  text-align: center;
  background-image: url(../img/process_line.png);
  background-repeat: repeat-y;
  background-position: center top
}
#Top .process .inner > div .flow .number img {
  width: 31%
}
#Top .process .inner > div .flow .flow_copy {
  width: 62%;
  padding: 3% 0 5.5%;
  margin-left: 1.5%
}
#Top .process .inner > div .flow .flow_copy .flow_title {
  margin-bottom: 3%
}
#Top .process .inner > div .flow .flow_copy .flow_title span {
  padding: 2.1% 3%;
  font-size: 1.8rem;
  font-weight: 700;
  color: #0059b0;
  background-color: #fff
}
#Top .process .inner > div .flow .flow_copy .flow_content {
  line-height: 2.2
}
#Top .process .inner > div .flow .flow_copy .tel {
  margin-top: 3%
}
#Top .process .inner > div .flow .flow_copy .tel > div {
  display: inline-block;
  padding: 2.5% 7% 3%;
  text-align: center;
  border: 1px solid #fff
}
#Top .process .inner > div .flow .flow_copy .tel > div .tel_number {
  font-family: Cinzel-SemiBold,sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .2rem
}
#Top .process .inner > div .flow .flow_copy .tel > div .time {
  font-size: 1.3rem;
  letter-spacing: 0
}
#Top .process .inner > div .flow.last .number {
  background-image: none
}
#Top .process .inner > div .flow.last .flow_copy .flow_title span {
  color: #000;
  background-color: #fbec44
}
#Top .process .inner .white_bg {
  position: absolute;
  top: 0;
  right: calc((1440px - 100vw)/ 2);
  width: calc((100vw - 1440px)/ 2 + 9.2%);
  height: 100%;
  background-color: #fff
}
@media only screen and (max-width:1440px) and (min-width:769px) and (max-width:1000px) {
  #Top .process .inner > div {
    width: 85%
  }
}
@media only screen and (max-width:1440px) and (min-width:769px) {
  #Top .process .inner > div .flow .flow_copy .flow_title span {
    font-size: calc(max(18vw / 14.4,15px))
  }
  #Top .process .inner > div .flow .flow_copy .tel > div .tel_number {
    font-size: calc(max(22vw / 14.4,16px))
  }
  #Top .process .inner > div .flow .flow_copy .tel > div .time {
    font-size: calc(max(13vw / 14.4,11px))
  }
  #Top .process .inner .white_bg {
    right: 0;
    width: 9.2%
  }
}
@media only screen and (max-width:768px) {
  #Top .process .inner {
    padding: 11% 0 5%
  }
  #Top .process .inner > div {
    width: 100%
  }
  #Top .process .inner > div .sub_title {
    margin-bottom: 6.5%
  }
  #Top .process .inner > div .flow .number {
    width: 26%
  }
  #Top .process .inner > div .flow .number img {
    width: 58%
  }
  #Top .process .inner > div .flow .flow_copy {
    width: 71%;
    padding: 3% 0 15.5%;
    margin-left: 0
  }
  #Top .process .inner > div .flow .flow_copy .flow_title {
    margin-top: 1%;
    margin-bottom: 4.5%
  }
  #Top .process .inner > div .flow .flow_copy .flow_title span {
    padding: 3.8% 4% 3.5%;
    font-family: NotoSansCJKjp-Medium,sans-serif;
    font-size: 4.6vw;
    font-weight: 700;
    color: #0059b0;
    background-color: #fff
  }
  #Top .process .inner > div .flow .flow_copy .flow_title.higher {
    display: inline-block;
    margin-top: -5%;
    line-height: 1.4
  }
  #Top .process .inner > div .flow .flow_copy .flow_title.higher span {
    display: block;
    width: 48vw
  }
  #Top .process .inner > div .flow .flow_copy .flow_content {
    line-height: 2.05
  }
  #Top .process .inner > div .flow .flow_copy .tel > div {
    width: 67.5vw;
    padding: 5% 0;
    text-align: center
  }
  #Top .process .inner > div .flow .flow_copy .tel > div .tel_number {
    text-decoration: underline;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .7vw
  }
  #Top .process .inner > div .flow .flow_copy .tel > div .tel_number a {
    color: #fff
  }
  #Top .process .inner > div .flow .flow_copy .tel > div .time {
    font-size: 3.4vw;
    letter-spacing: 0
  }
  #Top .process .inner > div .flow.last .number {
    background-image: none
  }
  #Top .process .inner > div .flow.last .flow_copy .flow_title span {
    color: #000;
    background-color: #fbec44
  }
  #Top .process .inner .white_bg {
    position: absolute;
    top: 0;
    right: calc((1440px - 100vw)/ 2);
    width: calc((100vw - 1440px)/ 2 + 9.2%);
    height: 100%;
    background-color: #fff
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc2V0LnNjc3MiLCJhcHAuY3NzIiwiZm9udC5zY3NzIiwiYW5pbWF0aW9uLnNjc3MiLCJzdHlsZS5zY3NzIiwibWl4aW5zL191dGlsaXRpZXMuc2NzcyIsImNvbW1vbi5zY3NzIiwicGFnZXMvdG9wX2JrLnNjc3MiLCJwYWdlcy90b3Auc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7QUNxQkE7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQXlEQTtBQUNBO0FBaUJBO0FBeENBO0FBbkJBO0FBTkE7QUFiQTtBQThEQTtBQVRBO0FBWkE7QUFyQkE7QUFDQTtBQXVCQTtBQXRCQTtBQXlDQTtBQXhDQTtBQXRCQTtBQXlDQTtBQUNBO0FBbkJBO0FBd0NBO0FBaEJBO0FBa0JBO0FBREE7QUFFQTtBQWxCQTtBQTNDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF5REE7QUFDQTtBRHRFQTtBQ3lDQTtBQW5DQTtBQW9CQTtBQUNBO0FBQ0E7QUF1QkE7QUFDQTtBQUpBO0FBOEJBO0FBUEE7QUFDQTtBQW5FQTtBQXlDQTtBQTJCQTtBQTVEQTtBQUVBO0FBY0E7QUE2Q0E7QUE1Q0E7QUFDQTtBQTRDQTtBQTNDQTtBQTdCQTtBQThCQTtBQUNBO0FBQ0E7QUF5Q0E7QUF4Q0E7QUFpQkE7QUFFQTtBQUtBO0FBSkE7QUFHQTtBQUZBO0FBb0JBO0FBbkJBO0FBckJBO0FBR0E7QUFPQTtBQVRBO0FBMENBO0FEQ0ksU0FBQTtBQUNBLFFBQUE7QUFDQSxXQUFBO0FBQ0EsZ0JBQUE7QUFDQSxRQUFBOztBQUdKO0FDRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURBSSxTQUFBOztBQUVKO0FBQ0ksYUFBQTs7QUFFSjtBQ0lBO0FERkksWUFBQTs7QUFFSjtBQ0tBO0FESEksUUFBQTs7QUNRSjtBRE5BO0FDUUE7QUFEQTtBREhJLFNBQUE7QUFDQSxTQUFBOztBQUVKO0FBQ0ksZ0JBQUE7QUFDQSxpQkFBQTs7QUU5SEo7QUFD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O0FBZy9CZ0MsT0FBQTs7QUFoL0JoQztBQW8vQjRCLE9BQUE7QUFDQSxTQUFBLEdBQUEsRUFBQTtBQUNBLGFBQUE7O0FBdC9CNUI7QUF3L0JnQyxZQUFBO0FBQ0EsZUFBQTs7QUF6L0JoQztBQTIvQm9DLFNBQUEsS0FBQSxHQUFBO0FBQ0EsYUFBQSxvQkFBQSxDQUFBO0FBRUEsV0FBQTtBQUNBLGFBQUE7QUFDQSxPQUFBO0FBQ0Esa0JBQUE7O0FBamdDcEM7QUFvZ0NvQyxTQUFBO0FBQ0EsWUFBQTtBQUNBLGFBQUE7O0FBdGdDcEM7QUF3Z0N3QyxTQUFBO0FBQ0EsT0FBQTs7QUF6Z0N4QztBQThnQ2dDLGFBQUE7O0FBOWdDaEM7QUFraENvQyxPQUFBO0FBQ0EsU0FBQSxHQUFBO0FBQ0EsWUFBQTs7QUFwaENwQztBQXNoQ3dDLGlCQUFBO0FBQ0EsV0FBQTtBQUNBLGFBQUE7QUFDQSxhQUFBO0FBQ0EsZ0JBQUE7O0FBMWhDeEM7QUE0aEM0QyxPQUFBOztBQTVoQzVDO0FBZ2lDd0MsV0FBQTtBQUNBLGdCQUFBOztBQWppQ3hDO0FBd2lDZ0Msa0JBQUE7O0FBeGlDaEM7QUEyaUNnQyxPQUFBO0FBQ0Esa0JBQUE7O0FBNWlDaEM7QUFrakNvQixVQUFBO0FBQ0EsS0FBQTtBQUNBLE9BQUE7QUFDQSxPQUFBO0FBQ0EsUUFBQTtBQUNBLGtCQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsXG5ib2R5LFxuZGl2LFxuc3BhbixcbmFwcGxldCxcbm9iamVjdCxcbmlmcmFtZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuYixcbnUsXG5pLFxuY2VudGVyLFxuZGwsXG5kdCxcbmRkLFxub2wsXG51bCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5hcnRpY2xlLFxuYXNpZGUsXG5jYW52YXMsXG5kZXRhaWxzLFxuZW1iZWQsXG5maWd1cmUsXG5maWdjYXB0aW9uLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbm91dHB1dCxcbnJ1YnksXG5zZWN0aW9uLFxuc3VtbWFyeSxcbnRpbWUsXG5tYXJrLFxuYXVkaW8sXG52aWRlbyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBib3JkZXI6IDA7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICBxdW90ZXM6IG5vbmU7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cbmh0bWwsXG5ib2R5LFxuZGl2LFxuc3BhbixcbmFwcGxldCxcbm9iamVjdCxcbmlmcmFtZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnAsXG5ibG9ja3F1b3RlLFxucHJlLFxuYSxcbmFiYnIsXG5hY3JvbnltLFxuYWRkcmVzcyxcbmJpZyxcbmNpdGUsXG5jb2RlLFxuZGVsLFxuZGZuLFxuZW0sXG5pbWcsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuYixcbnUsXG5pLFxuY2VudGVyLFxuZGwsXG5kdCxcbmRkLFxub2wsXG51bCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5hcnRpY2xlLFxuYXNpZGUsXG5jYW52YXMsXG5kZXRhaWxzLFxuZW1iZWQsXG5maWd1cmUsXG5maWdjYXB0aW9uLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbm91dHB1dCxcbnJ1YnksXG5zZWN0aW9uLFxuc3VtbWFyeSxcbnRpbWUsXG5tYXJrLFxuYXVkaW8sXG52aWRlbyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLFxucSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsXG5ibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8qXG5cbjQwMHB4XG5cbjF2dyA9IDRweFxuXG42MDBweFxuXG4xLjVcblxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQmxhY2snO1xuICBzcmM6IHVybCguLi9mb250cy9Ob3RvU2Fuc0NKS2pwLUJsYWNrLm90ZikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCc7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtQm9sZC5vdGYpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bSc7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtTWVkaXVtLm90ZikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcic7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtUmVndWxhci5vdGYpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVRoaW4nO1xuICBzcmM6IHVybCguLi9mb250cy9Ob3RvU2Fuc0NKS2pwLVRoaW4ub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1MaWdodCc7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtTGlnaHQub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NlcmlmSlAtUmVndWxhcic7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TZXJpZkpQLVJlZ3VsYXIub3RmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2luemVsJztcbiAgc3JjOiB1cmwoLi4vZm9udHMvQ2luemVsLVJlZ3VsYXIudHRmKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2luemVsLUJvbGQnO1xuICBzcmM6IHVybCguLi9mb250cy9DaW56ZWwtQm9sZC50dGYpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDaW56ZWwtU2VtaUJvbGQnO1xuICBzcmM6IHVybCguLi9mb250cy9DaW56ZWwtU2VtaUJvbGQudHRmKTtcbn1cblxuLypcblxuNDAwcHhcblxuMXZ3ID0gNHB4XG5cbjYwMHB4XG5cbjEuNVxuXG4qL1xuLmZhZGVpbiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLCBib3R0b20gMXMgZWFzZS1pbjtcbn1cblxuLmZhZGV1cCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC44cyBlYXNlLWluO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG59XG5cbi5mYWRlZG93biB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLCB0cmFuc2Zvcm0gMXMgZWFzZS1pbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbn1cblxuLmZhZGVsZWZ0IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4sIHRyYW5zZm9ybSAxcyBlYXNlLWluO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG59XG5cbi5mYWRlcmlnaHQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1pbiwgdHJhbnNmb3JtIDFzIGVhc2UtaW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG59XG5cbi8qXG5cbjQwMHB4XG5cbjF2dyA9IDRweFxuXG42MDBweFxuXG4xLjVcblxuKi9cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDE2dncgLyAxNC40LCAxM3B4KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDR2dztcbiAgfVxufVxuXG5hIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcblxuNDAwcHhcblxuMXZ3ID0gNHB4XG5cbjYwMHB4XG5cbjEuNVxuXG4qL1xuaDEge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1MaWdodCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbn1cblxuaDMge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtTGlnaHQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuaDQge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYygzNnZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgZm9udC1zaXplOiA2LjN2dztcbiAgfVxufVxuXG4uaW5pdF9oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYWN0aXZlLmluaXRfaGlkZGVuIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg5jjg4Pjg4Djg7wtLS0tLS0tLS0tLS0tLS0qL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHM7XG59XG5cbi5oZWFkZXIubWluaSB7XG4gIGhlaWdodDogNzBweDtcbn1cblxuLmhlYWRlciAubG9nbyB7XG4gIHdpZHRoOiAyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5cbi5oZWFkZXIgLmhlYWRlcl9pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmhlYWRlciAuaGVhZGVyX2luZm8gLnRlbCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGVhZGVyIC5oZWFkZXJfaW5mbyAudGVsIC5udW1iZXIge1xuICBmb250LWZhbWlseTogJ0NpbnplbC1TZW1pQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNXJlbTtcbn1cblxuLmhlYWRlciAuaGVhZGVyX2luZm8gLnRlbCAudGltZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbn1cblxuLmhlYWRlciAuaGVhZGVyX2luZm8gLmNvbnRhY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVhYWE7XG59XG5cbi5oZWFkZXIgLmhlYWRlcl9pbmZvIC5sZWN0dXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2VlMmI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmhlYWRlciAubG9nbyB7XG4gICAgd2lkdGg6IGNhbGMobWF4KDIwMHZ3IC8gMTQuNCwgMTUwcHgpKTtcbiAgfVxuICAuaGVhZGVyIC5oZWFkZXJfaW5mbyAudGVsIC5udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjR2dyAvIDE0LjQsIDE4cHgpKTtcbiAgfVxuICAuaGVhZGVyIC5oZWFkZXJfaW5mbyAudGVsIC50aW1lIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDEzdncgLyAxNC40LCAxMnB4KSk7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLmNvbnRhY3Qge1xuICAgIGhlaWdodDogY2FsYyhtYXgoNDB2dyAvIDE0LjQsIDM0cHgpKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDE0dncgLyAxNC40LCAxMXB4KSk7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLmxlY3R1cmUge1xuICAgIGhlaWdodDogY2FsYyhtYXgoNDB2dyAvIDE0LjQsIDM0cHgpKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDE0dncgLyAxNC40LCAxMXB4KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiA1LjUlIDAgNi4yJTtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxuICAuaGVhZGVyLm1pbmkge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAuaGVhZGVyIC5sb2dvIHtcbiAgICB3aWR0aDogMzN2dztcbiAgICBtYXJnaW4tbGVmdDogNXZ3O1xuICB9XG4gIC5oZWFkZXIgLmhlYWRlcl9pbmZvIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB3aWR0aDogNjB2dztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmbGV4LWZsb3c6IHdyYXAtcmV2ZXJzZTtcbiAgfVxuICAuaGVhZGVyIC5oZWFkZXJfaW5mbyAudGVsIHtcbiAgICBtYXJnaW4tdG9wOiA1LjF2dztcbiAgICBtYXJnaW4tcmlnaHQ6IDQuNXZ3O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLnRlbCAubnVtYmVyIHtcbiAgICBmb250LXNpemU6IDUuMXZ3O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjgydnc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLnRlbCAudGltZSB7XG4gICAgbWFyZ2luLXRvcDogMC44dnc7XG4gICAgZm9udC1zaXplOiAzLjJ2dztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ydnc7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLmNvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDJ2dyAyLjV2dztcbiAgICBtYXJnaW4tdG9wOiAyLjd2dztcbiAgICBtYXJnaW4tcmlnaHQ6IDUuMnZ3O1xuICAgIGZvbnQtc2l6ZTogNC4xdnc7XG4gIH1cbiAgLmhlYWRlciAuaGVhZGVyX2luZm8gLmxlY3R1cmUge1xuICAgIHBhZGRpbmc6IDJ2dyAyLjV2dztcbiAgICBtYXJnaW4tcmlnaHQ6IDUuMnZ3O1xuICAgIGZvbnQtc2l6ZTogNC4xdnc7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jgrPjg7Pjg4bjg7Pjg4QtLS0tLS0tLS0tLS0tLS0qL1xuLm1haW5fc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg5Xjg4Pjgr/jg7wtLS0tLS0tLS0tLS0tLS0qL1xuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZvb3RlciAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IDglIDAgOC4zJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIC5tZXNzYWdlIGltZyB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvb3RlciAubGlua19hcmVhID4gZGl2LCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzMy4zMzMzMzMlO1xuICBoZWlnaHQ6IDE1MHB4O1xufVxuXG4uZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYudGVsLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLnRlbCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkZGRkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMTQ5cHg7XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi50ZWwgLm51bWJlciwgLmZvb3RlciAubGlua19hcmVhID4gYS50ZWwgLm51bWJlciB7XG4gIGZvbnQtZmFtaWx5OiAnQ2luemVsLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMC4zNXJlbTtcbn1cblxuLmZvb3RlciAubGlua19hcmVhID4gZGl2LnRlbCAudGltZSwgLmZvb3RlciAubGlua19hcmVhID4gYS50ZWwgLnRpbWUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNyZW07XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5jb250YWN0LCAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYubGVjdHVyZSwgLmZvb3RlciAubGlua19hcmVhID4gYS5jb250YWN0LCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmxlY3R1cmUge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5jb250YWN0ID4gZGl2LCAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYubGVjdHVyZSA+IGRpdiwgLmZvb3RlciAubGlua19hcmVhID4gYS5jb250YWN0ID4gZGl2LCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmxlY3R1cmUgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5jb250YWN0ID4gZGl2IGltZywgLmZvb3RlciAubGlua19hcmVhID4gZGl2LmxlY3R1cmUgPiBkaXYgaW1nLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmNvbnRhY3QgPiBkaXYgaW1nLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmxlY3R1cmUgPiBkaXYgaW1nIHtcbiAgd2lkdGg6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYuY29udGFjdCwgLmZvb3RlciAubGlua19hcmVhID4gYS5jb250YWN0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYzVjYTg7XG59XG5cbi5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5sZWN0dXJlLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmxlY3R1cmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xufVxuXG4uZm9vdGVyIC5mb290X2JhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogMCAzOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xufVxuXG4uZm9vdGVyIC5mb290X2JhciAubG9nbyB7XG4gIHdpZHRoOiAxNSU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5mb290ZXIgLmZvb3RfYmFyIC5mb290ZXJfbGluayAuc2VwYXJhdGUge1xuICBtYXJnaW46IDAgMTdweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjY2NjY2O1xufVxuXG4uZm9vdGVyIC5mb290X2JhciAuZm9vdGVyX2xpbmsgYSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEge1xuICAgIGhlaWdodDogY2FsYyhtYXgoMTUwdncgLyAxNC40LCAxMDBweCkpO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi50ZWwsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEudGVsIHtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDE0OXZ3IC8gMTQuNCwgOTlweCkpO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi50ZWwgLm51bWJlciwgLmZvb3RlciAubGlua19hcmVhID4gYS50ZWwgLm51bWJlciB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyOHZ3IC8gMTQuNCwgMjBweCkpO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi50ZWwgLnRpbWUsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEudGVsIC50aW1lIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDE4dncgLyAxNC40LCAxM3B4KSk7XG4gIH1cbiAgLmZvb3RlciAubGlua19hcmVhID4gZGl2LmNvbnRhY3QsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5sZWN0dXJlLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmNvbnRhY3QsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEubGVjdHVyZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgyMHZ3IC8gMTQuNCwgMTRweCkpO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5jb250YWN0ID4gZGl2IGltZywgLmZvb3RlciAubGlua19hcmVhID4gZGl2LmxlY3R1cmUgPiBkaXYgaW1nLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmNvbnRhY3QgPiBkaXYgaW1nLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmxlY3R1cmUgPiBkaXYgaW1nIHtcbiAgICB3aWR0aDogY2FsYyhtYXgoMTh2dyAvIDE0LjQsIDEzcHgpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyhtYXgoMTV2dyAvIDE0LjQsIDhweCkpO1xuICB9XG4gIC5mb290ZXIgLmZvb3RfYmFyIHtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDEwMHZ3IC8gMTQuNCwgODBweCkpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciAubWVzc2FnZSB7XG4gICAgcGFkZGluZzogMTUlIDAgMTUlO1xuICB9XG4gIC5mb290ZXIgLm1lc3NhZ2UgaW1nIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdiwgLmZvb3RlciAubGlua19hcmVhID4gYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMi43dnc7XG4gIH1cbiAgLmZvb3RlciAubGlua19hcmVhID4gZGl2LnRlbCwgLmZvb3RlciAubGlua19hcmVhID4gYS50ZWwge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkZGRkO1xuICAgIGhlaWdodDogY2FsYygyMi43dncgLSAxcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYudGVsIC5udW1iZXIsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEudGVsIC5udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogNC41dnc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44NXZ3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi50ZWwgLnRpbWUsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEudGVsIC50aW1lIHtcbiAgICBmb250LXNpemU6IDMuNHZ3O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE1dnc7XG4gIH1cbiAgLmZvb3RlciAubGlua19hcmVhID4gZGl2LmNvbnRhY3QsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5sZWN0dXJlLCAuZm9vdGVyIC5saW5rX2FyZWEgPiBhLmNvbnRhY3QsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEubGVjdHVyZSB7XG4gICAgZm9udC1zaXplOiA0LjV2dztcbiAgfVxuICAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYuY29udGFjdCA+IGRpdiwgLmZvb3RlciAubGlua19hcmVhID4gZGl2LmxlY3R1cmUgPiBkaXYsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGEuY29udGFjdCA+IGRpdiwgLmZvb3RlciAubGlua19hcmVhID4gYS5sZWN0dXJlID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZm9vdGVyIC5saW5rX2FyZWEgPiBkaXYuY29udGFjdCA+IGRpdiBpbWcsIC5mb290ZXIgLmxpbmtfYXJlYSA+IGRpdi5sZWN0dXJlID4gZGl2IGltZywgLmZvb3RlciAubGlua19hcmVhID4gYS5jb250YWN0ID4gZGl2IGltZywgLmZvb3RlciAubGlua19hcmVhID4gYS5sZWN0dXJlID4gZGl2IGltZyB7XG4gICAgd2lkdGg6IDN2dztcbiAgICBtYXJnaW4tbGVmdDogMXZ3O1xuICB9XG4gIC5mb290ZXIgLmZvb3RfYmFyIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwIDM4cHg7XG4gIH1cbiAgLmZvb3RlciAuZm9vdF9iYXIgLmxvZ28ge1xuICAgIHdpZHRoOiA0NSU7XG4gICAgcGFkZGluZzogMnZ3IDAgOXZ3O1xuICB9XG4gIC5mb290ZXIgLmZvb3RfYmFyIC5mb290ZXJfbGluayB7XG4gICAgcGFkZGluZzogNnZ3IDA7XG4gIH1cbiAgLmZvb3RlciAuZm9vdF9iYXIgLmZvb3Rlcl9saW5rIC5zZXBhcmF0ZSB7XG4gICAgbWFyZ2luOiAwIDZ2dztcbiAgfVxuICAuZm9vdGVyIC5mb290X2JhciAuZm9vdGVyX2xpbmsgYSB7XG4gICAgZm9udC1zaXplOiAzLjR2dztcbiAgfVxufVxuXG4uc3Bfb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNwX29ubHkge1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gIH1cbiAgLnBjX29ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnBpY3R1cmUge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMjtcbn1cblxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm1yLTEwIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ubXItMjAge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5tci0zMCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLm1yLTQwIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4ubWwtMTAge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLm1sLTIwIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5tbC0zMCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4ubWwtNDAge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLm10LTEwIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm10LTIwIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm10LTMwIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLm10LTQwIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm1iLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1iLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1iLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLypcblxuNDAwcHhcblxuMXZ3ID0gNHB4XG5cbjYwMHB4XG5cbjEuNVxuXG4qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVGVzdCAubWFpbl9jb250ZW50cyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4jVGVzdCAuaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG59XG5cbiNUZXN0IC5wYXJ0aXRpb25fYXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jVGVzdCAucGFydGl0aW9uX2FyZWEub25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICNUZXN0IC5wYXJ0aXRpb25fYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEgLnBhcnRpdGlvbl90YWlsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQ0MHB4KTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEub25lIHtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTkycHg7XG4gIH1cbiAgI1Rlc3QgLnBhcnRpdGlvbl9hcmVhLm9uZSBpbWcge1xuICAgIGhlaWdodDogMTkycHg7XG4gIH1cbiAgI1Rlc3QgLnBhcnRpdGlvbl9hcmVhLm9uZSAucGFydGl0aW9uX3RhaWwge1xuICAgIGhlaWdodDogMTkycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvcGFydGl0aW9uMV90YWlsLnBuZyk7XG4gIH1cbiAgI1Rlc3QgLnBhcnRpdGlvbl9hcmVhLnR3byB7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEudHdvIGltZyB7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEudHdvIC5wYXJ0aXRpb25fdGFpbCB7XG4gICAgaGVpZ2h0OiAxOTJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24yX3RhaWwucG5nKTtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEudGhyZWUge1xuICAgIGhlaWdodDogNTNweDtcbiAgfVxuICAjVGVzdCAucGFydGl0aW9uX2FyZWEudGhyZWUgaW1nIHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gIH1cbiAgI1Rlc3QgLnBhcnRpdGlvbl9hcmVhLnRocmVlIC5wYXJ0aXRpb25fdGFpbCB7XG4gICAgaGVpZ2h0OiA1M3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL3BhcnRpdGlvbjNfdGFpbC5wbmcpO1xuICB9XG59XG5cbiNUZXN0IC5tYWluX3Zpc3VhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIge1xuICBoZWlnaHQ6IDY0Ljd2dztcbiAgbWF4LWhlaWdodDogNzc2LjM3NXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9tdl9iZy5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbiNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiA5MHB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjZTgzYjQwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24gc3BhbiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbiNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1pdHN1bW9yaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDE0MHB4O1xuICBoZWlnaHQ6IDE0MHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbn1cblxuI1Rlc3QgLm1haW5fdmlzdWFsIC5pbm5lciAubWl0c3Vtb3JpOmhvdmVyIHtcbiAgb3BhY2l0eTogMC45O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoOTB2dyAvIDE0LjQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygzNnZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLm1haW5fdmlzdWFsIC5pbm5lciAubWFpbl9kZXNjcmlwdGlvbiBzcGFuIHtcbiAgICBwYWRkaW5nOiBjYWxjKDEwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAubWFpbl92aXN1YWwgLmlubmVyIC5taXRzdW1vcmkge1xuICAgIHdpZHRoOiBjYWxjKDE0MHZ3IC8gMTQuNCk7XG4gICAgaGVpZ2h0OiBjYWxjKDE0MHZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVGVzdCAubWFpbl92aXN1YWwgLmlubmVyIHtcbiAgICBoZWlnaHQ6IDk2LjV2dztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9tdl9iZ19zcC5wbmcpO1xuICB9XG4gICNUZXN0IC5tYWluX3Zpc3VhbCAuaW5uZXIgLm1haW5fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjB2dyAvIDE0LjQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyg2MHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLm1haW5fdmlzdWFsIC5pbm5lciAubWFpbl9kZXNjcmlwdGlvbiBzcGFuIHtcbiAgICBwYWRkaW5nOiBjYWxjKDE1dncgLyAxNC40KSBjYWxjKDEwdncgLyAxNC40KTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgfVxufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uIC5pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uIC5zdGVwX25vIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24gLnN0ZXBfbm8gaW1nIHtcbiAgd2lkdGg6IDE4MXB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDkwcHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0ge1xuICB3aWR0aDogMzElO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtLmhhbGYge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuc3RlcF9ubyBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDE4MXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICAgIHBhZGRpbmc6IDAgY2FsYyg5MHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgd2lkdGg6IGNhbGMoMzAwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI4dncgLyAxNC40KTtcbiAgICBmb250LXNpemU6IGNhbGMoMjB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMHZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24gLnN0ZXBfbm8gaW1nIHtcbiAgICB3aWR0aDogY2FsYygyMTN2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBwYWRkaW5nOiAwIGNhbGMoNTB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iIHtcbiAgICB3aWR0aDogY2FsYyg2MDB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNzB2dyAvIDE0LjQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1NXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI1dncgLyAxNC40LCAxNHB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbS5oYWxmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA0NXB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiBoMSB7XG4gIGNvbG9yOiAjYTk5MjYxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiBoMiB7XG4gIG1hcmdpbi10b3A6IDIxcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAuc3RlcF9ubyB7XG4gIHRvcDogLTE2NXB4O1xuICByaWdodDogNjVweDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLm5vdGUge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5hcnRpY2xlX3RpdGxlIHtcbiAgY29sb3I6ICNlODNiNDA7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIC5wYXJ0aXRpb24ge1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDQ1dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24gaDIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjF2dyAvIDE0LjQpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjV2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0xNjV2dyAvIDE0LjQpO1xuICAgIHJpZ2h0OiBjYWxjKDY1dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24gLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uIC5wYXJ0aXRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTIwdncgLyAxNC40KTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wb2ludF9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMHZ3IC8gMTQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0yMjR2dyAvIDE0LjQpO1xuICAgIHJpZ2h0OiBjYWxjKDEwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAubm90ZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLmFydGljbGVfdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucG9pbnRfc2VjdGlvbiAuYXJ0aWNsZV90aXRsZSB7XG4gICAgY29sb3I6ICNlODNiNDA7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBvaW50X3NlY3Rpb24gLnBhcnRpdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIH1cbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNjZW5lX3NlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDExMHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiBoMSB7XG4gIGNvbG9yOiAjYTk5MjYxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiBoMiB7XG4gIG1hcmdpbi10b3A6IDIxcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjZTgzYjQwO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiAuc3RlcF9ubyB7XG4gIHRvcDogLTIzNHB4O1xuICBsZWZ0OiA3OXB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiAuYXJ0aWNsZV90aXRsZSB7XG4gIGNvbG9yOiAjYTk5MjYxO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1MHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTEwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2NlbmVfc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMXZ3IC8gMTQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygyNXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNjZW5lX3NlY3Rpb24gLnN0ZXBfbm8ge1xuICAgIHRvcDogY2FsYygtMjM0dncgLyAxNC40KTtcbiAgICBsZWZ0OiBjYWxjKDc5dncgLyAxNC40KTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMobWF4KDE1MHZ3IC8gMTQuNCwgNjBweCkpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIGgyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDIwdncgLyAxNC40KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zY2VuZV9zZWN0aW9uIC5zdGVwX25vIHtcbiAgICB0b3A6IGNhbGMoLTMxM3Z3IC8gMTQuNCk7XG4gICAgbGVmdDogY2FsYygxMTZ2dyAvIDE0LjQpO1xuICB9XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjVweDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiBoMSB7XG4gIGNvbG9yOiAjYTk5MjYxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIGgyIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgY29sb3I6ICNlODNiNDA7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLnN0ZXBfbm8ge1xuICB0b3A6IC0yMTFweDtcbiAgcmlnaHQ6IDQwcHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCB7XG4gIHBhZGRpbmc6IDAgMTAwcHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjguNSU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjZTgzYjQwO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gIHBhZGRpbmc6IDE0cHggMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIge1xuICB3aWR0aDogMjUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIuYmVlcl9wbGFuIHtcbiAgd2lkdGg6IDIzMHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuZGV0YWlsX2xpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMThweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmRldGFpbF9saW5rIGEge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2U4M2I0MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNjBweDtcbiAgbGVmdDogLTYwcHg7XG4gIHdpZHRoOiAxMTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMDB2dyAvIDE0LjQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2NXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNHZ3IC8gMTQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg1MHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuc3RlcF9ubyB7XG4gICAgdG9wOiBjYWxjKC0yMTF2dyAvIDE0LjQpO1xuICAgIHJpZ2h0OiBjYWxjKDQwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICAgIHBhZGRpbmc6IDAgY2FsYygxMDB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg1MHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGl0bGUge1xuICAgIHBhZGRpbmc6IGNhbGMoMTR2dyAvIDE0LjQpIDA7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgd2lkdGg6IGNhbGMoMjUwdncgLyAxNC40KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI1dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYi5iZWVyX3BsYW4ge1xuICAgIHdpZHRoOiBjYWxjKDIzMHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmRldGFpbF9saW5rIHtcbiAgICBib3R0b206IGNhbGMoMTh2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayBhIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTV2dyAvIDE0LjQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5iYWRnZSB7XG4gICAgdG9wOiBjYWxjKC02MHZ3IC8gMTQuNCk7XG4gICAgbGVmdDogY2FsYygtNjB2dyAvIDE0LjQpO1xuICAgIHdpZHRoOiBjYWxjKDExMHZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMDB2dyAvIDE0LjQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKG1heCgyMDB2dyAvIDE0LjQsIDE1MHB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMHZ3IC8gMTQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5zdGVwX25vIHtcbiAgICB0b3A6IGNhbGMoLTIzMnZ3IC8gMTQuNCk7XG4gICAgcmlnaHQ6IGNhbGMoMjB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCB7XG4gICAgcGFkZGluZzogMCBjYWxjKDUwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhtYXgoMTUwdncgLyAxNC40LCA3MHB4KSk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTQwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aXRsZSB7XG4gICAgcGFkZGluZzogY2FsYyhtYXgoMjB2dyAvIDE0LjQsIDE1cHgpKSAwO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoNDB2dyAvIDE0LjQsIDE2cHgpKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24ucGxhbl9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gICAgd2lkdGg6IGNhbGMobWF4KDYwMHZ3IC8gMTQuNCwgMjUwcHgpKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwMHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGh1bWIuYmVlcl9wbGFuIHtcbiAgICB3aWR0aDogY2FsYyhtYXgoNTMwdncgLyAxNC40LCAyMjBweCkpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayB7XG4gICAgYm90dG9tOiBjYWxjKG1heCg1MHZ3IC8gMTQuNCwgMjVweCkpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5wbGFuX3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5kZXRhaWxfbGluayBhIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDMwdncgLyAxNC40LCAxNnB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnBsYW5fc2VjdGlvbiAuYXJ0aWNsZV9saXN0IC5hcnRpY2xlX2l0ZW0gLmJhZGdlIHtcbiAgICB0b3A6IGNhbGMoLTkxdncgLyAxNC40KTtcbiAgICBsZWZ0OiBjYWxjKC00OHZ3IC8gMTQuNCk7XG4gICAgd2lkdGg6IGNhbGMobWF4KDIwMHZ3IC8gMTQuNCwgODZweCkpO1xuICB9XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MTU4NTM7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gaDEge1xuICBjb2xvcjogI2E5OTI2MTtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLmJyZXdlcnlfc2VjdGlvbiBoNCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICBtYXJnaW4tdG9wOiA3MHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90aHVtYiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtTWVkaXVtJywgJ3NhbnMtc2VyaWYnO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDcwdncgLyAxNC40KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg5MHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLmJyZXdlcnlfc2VjdGlvbiAuYXJ0aWNsZV9saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDcwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3QgLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTV2dyAvIDE0LjQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMTV2dyAvIDE0LjQsIDEycHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMjAwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uYnJld2VyeV9zZWN0aW9uIC5hcnRpY2xlX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoOTB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RodW1iIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5icmV3ZXJ5X3NlY3Rpb24gLmFydGljbGVfbGlzdCAuYXJ0aWNsZV9pdGVtIC5hcnRpY2xlX3RleHQge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNjB2dyAvIDE0LjQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjV2dyAvIDE0LjQsIDE0cHgpKTtcbiAgfVxufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gIC8qIHNlbGVjdCBzdHlsZSAqL1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gaDIgc3BhbiB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQ7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmFydGljbGVfaXRlbSB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGVfdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2ltdWxhdGlvbl9sb2dvIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNpbXVsYXRpb25fbG9nbyBpbWcge1xuICB3aWR0aDogMTU1cHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLm5vdGUge1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtUmVndWxhcicsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyB7XG4gIGhlaWdodDogMTI1cHg7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1NzVhO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC5wcmljZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC5lbiB7XG4gIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiA3NHB4O1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyAucGxhbl9hbnN3ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OCU7XG4gIGhlaWdodDogMTEwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMzFkMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGxhYmVsIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJywgJ3NhbnMtc2VyaWYnO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWw6aG92ZXIsICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGxhYmVsOmZvY3VzLCAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbDphY3RpdmUge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGlucHV0W3R5cGU9J3JhZGlvJ106YWN0aXZlIH4gbGFiZWwge1xuICBvcGFjaXR5OiAxO1xufVxuXG4jVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gIG9wYWNpdHk6IDE7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjI1cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyN3B4O1xuICByaWdodDogNTVweDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBjb2xvcjogIzdmODc4YztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9pY29uX2Fycm93X3VuZGVyLnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgd2lkdGg6IDIyNXB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1pbmRlbnQ6IDY1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTc5LCAyOSwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbiNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHNlbGVjdCBvcHRpb24ge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0Oi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgIzgyOGM5YTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1MHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwdncgLyAxNC40KTtcbiAgICAvKiByYWRpbyBidXR0b24gc3R5bGUgKi9cbiAgICAvKiBzZWxlY3Qgc3R5bGUgKi9cbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGgyIHNwYW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDgwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zaW11bGF0aW9uX2xvZ28ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzV2dyAvIDE0LjQpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxNXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2ltdWxhdGlvbl9sb2dvIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMTU1dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTJ2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMge1xuICAgIGhlaWdodDogY2FsYygxMjV2dyAvIDE0LjQpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDM1dncgLyAxNC40KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDYwdncgLyAxNC40KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDV2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTh2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMgLnByaWNlIHtcbiAgICBmb250LXNpemU6IGNhbGMoNTB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmN1bGMgLmVuIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxM3Z3IC8gMTQuNCk7XG4gICAgZm9udC1zaXplOiBjYWxjKDQ4dncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg3NHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgLnBsYW5fYW5zd2VyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTEwdncgLyAxNC40KTtcbiAgICBtYXJnaW46IDAgMCBjYWxjKDIwdncgLyAxNC40KTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMHZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWwgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTJ2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwIHtcbiAgICB3aWR0aDogY2FsYygyMjV2dyAvIDE0LjQpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTV2dyAvIDE0LjQpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwOmJlZm9yZSB7XG4gICAgdG9wOiBjYWxjKDI3dncgLyAxNC40KTtcbiAgICByaWdodDogY2FsYyg1NXZ3IC8gMTQuNCk7XG4gICAgd2lkdGg6IGNhbGMoMTV2dyAvIDE0LjQpO1xuICAgIGhlaWdodDogY2FsYyg3dncgLyAxNC40KTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1NXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgICB3aWR0aDogY2FsYygyMjV2dyAvIDE0LjQpO1xuICAgIGhlaWdodDogY2FsYyg2MHZ3IC8gMTQuNCk7XG4gICAgcGFkZGluZzogY2FsYyg4dncgLyAxNC40KSBjYWxjKDEydncgLyAxNC40KTtcbiAgICB0ZXh0LWluZGVudDogY2FsYyg2NXZ3IC8gMTQuNCk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMHZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxMjB2dyAvIDE0LjQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2MHZ3IC8gMTQuNCk7XG4gICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgLyogc2VsZWN0IHN0eWxlICovXG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBoMiBzcGFuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQ7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuYXJ0aWNsZV9pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5hcnRpY2xlX2l0ZW0gLmFydGljbGUge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLmFydGljbGVfaXRlbSAuYXJ0aWNsZV90ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzV2dyAvIDE0LjQsIDE0cHgpKTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5zaW11bGF0aW9uX2xvZ28ge1xuICAgIG1hcmdpbjogY2FsYygxNTB2dyAvIDE0LjQpIDAgY2FsYygxMDB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNpbXVsYXRpb25fbG9nbyBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDMwMHZ3IC8gMTQuNCk7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5ub3RlIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI1dncgLyAxNC40LCAxMHB4KSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMXJlbTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIHtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDIwMHZ3IC8gMTQuNCwgMTEwcHgpKTtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI4dncgLyAxNC40LCAxMnB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuY3VsYyAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzV2dyAvIDE0LjQsIDE0cHgpKTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIC5jdWxjIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCg3NXZ3IC8gMTQuNCwgNDVweCkpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyhtaW4oLTIwdncgLyAxMiwgLTIwcHgpKTtcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygxMDB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSAucGxhbl9vcHRpb25zIGxhYmVsIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDMwdncgLyAxNC40LCAxMnB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWwgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDI1dncgLyAxNC40LCAxMHB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgbGFiZWxbZm9yPSdjaG9pY2UnXSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuICAjVGVzdCAuc3ViX3NlY3Rpb24uc2ltdWxhdGlvbl9zZWN0aW9uIGZvcm1bbmFtZT0ncGxhbl9mb3JtJ10gLnBsYW5fb3B0aW9ucyBsYWJlbFtmb3I9J2Nob2ljZSddIC50aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiBmb3JtW25hbWU9J3BsYW5fZm9ybSddIC5wbGFuX29wdGlvbnMgLnBsYW5fYW5zd2VyIHtcbiAgICB3aWR0aDogNDclO1xuICAgIGhlaWdodDogY2FsYyhtYXgoMjAwdncgLyAxNC40LCA5MHB4KSk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAge1xuICAgIHdpZHRoOiBjYWxjKDM1MHZ3IC8gMTQuNCk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyhtYXgoMTV2dyAvIDE0LjQsIDdweCkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjB2dyAvIDE0LjQpO1xuICB9XG4gICNUZXN0IC5zdWJfc2VjdGlvbi5zaW11bGF0aW9uX3NlY3Rpb24gLnNlbGVjdC13cmFwOmJlZm9yZSB7XG4gICAgdG9wOiBjYWxjKG1heCg0NXZ3IC8gMTQuNCwgMjNweCkpO1xuICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgIGxlZnQ6IGNhbGMobWF4KDMwMHZ3IC8gMTQuNCwgMTEwcHgpKTtcbiAgICB3aWR0aDogY2FsYyhtYXgoMzB2dyAvIDE0LjQsIDE0cHgpKTtcbiAgICBoZWlnaHQ6IGNhbGMobWF4KDE1dncgLyAxNC40LCA3cHgpKTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1NXZ3IC8gMTQuNCk7XG4gIH1cbiAgI1Rlc3QgLnN1Yl9zZWN0aW9uLnNpbXVsYXRpb25fc2VjdGlvbiAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgICB3aWR0aDogY2FsYyhtYXgoNDQwdncgLyAxNC40LCAxNjBweCkpO1xuICAgIGhlaWdodDogY2FsYyhtYXgoMTAwdncgLyAxNC40LCA1MHB4KSk7XG4gICAgcGFkZGluZzogY2FsYyg4dncgLyAxNC40KSBjYWxjKG1heCgxMHZ3IC8gMTQuNCwgMjBweCkpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMzB2dyAvIDE0LjQsIDEycHgpKTtcbiAgICB0ZXh0LWluZGVudDogY2FsYyg2NXZ3IC8gMTQuNCk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxMHZ3IC8gMTQuNCk7XG4gIH1cbn1cblxuLypcblxuNDAwcHhcblxuMXZ3ID0gNHB4XG5cbjYwMHB4XG5cbjEuNVxuXG4qL1xuI1RvcCAuaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG59XG5cbiNUb3AgLnN1Yl90aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVG9wIC5zdWJfdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41dnc7XG4gIH1cbn1cblxuI1RvcCAubWFpbl92aXN1YWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubXZfaW1nIGltZyB7XG4gIHdpZHRoOiA3NCU7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubXZfdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTYuNSU7XG4gIGxlZnQ6IDclO1xuICBwYWRkaW5nLXJpZ2h0OiA2MiU7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubXZfdGl0bGUgaW1nIHtcbiAgd2lkdGg6IDMxdnc7XG4gIG1heC13aWR0aDogNDQxcHg7XG59XG5cbiNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubXZfZGVzY3JpcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzMlO1xuICBsZWZ0OiA3JTtcbiAgbGluZS1oZWlnaHQ6IDIuODtcbn1cblxuI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5tdl9zaWduYXR1cmVfaW1nIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luLXRvcDogMiU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5tdl9kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLm1haW5fdmlzdWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5tdl9pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDI0LjUlO1xuICB9XG4gICNUb3AgLm1haW5fdmlzdWFsIC5pbm5lciAubXZfaW1nIGltZyB7XG4gICAgd2lkdGg6IDgxJTtcbiAgfVxuICAjVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm12X3RpdGxlIHtcbiAgICB0b3A6IDY1dnc7XG4gICAgbGVmdDogNS40JTtcbiAgICB3aWR0aDogNjZ2dztcbiAgfVxuICAjVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm12X3RpdGxlIGltZyB7XG4gICAgd2lkdGg6IDY4dnc7XG4gIH1cbiAgI1RvcCAubWFpbl92aXN1YWwgLmlubmVyIC5tdl9kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDd2dyA0LjV2dyAwIDZ2dztcbiAgICBmb250LXNpemU6IDR2dztcbiAgICBsaW5lLWhlaWdodDogMi4zNTtcbiAgfVxuICAjVG9wIC5tYWluX3Zpc3VhbCAuaW5uZXIgLm12X3NpZ25hdHVyZV9pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IC0xMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogNiU7XG4gIH1cbn1cblxuI1RvcCAuYWJvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMyU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGM1Y2E4O1xufVxuXG4jVG9wIC5hYm91dCAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDQlIDAgNC41JTtcbn1cblxuI1RvcCAuYWJvdXQgLmlubmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxLjUlO1xuICBsaW5lLWhlaWdodDogMi4yO1xufVxuXG4jVG9wIC5hYm91dCAuaW5uZXIgLmRlc2NyaXB0aW9uIHAge1xuICB3aWR0aDogNTklO1xufVxuXG4jVG9wIC5hYm91dCAuaW5uZXIgLndoaXRlX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKCgxNDQwcHggLSAxMDB2dykgLyAyKTtcbiAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTQ0MHB4KSAvIDIgKyA5LjIlKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUb3AgLmFib3V0IC5pbm5lciAud2hpdGVfYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDkuMiU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjVG9wIC5hYm91dCAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDExLjclIDAgMTIuNSU7XG4gIH1cbiAgI1RvcCAuYWJvdXQgLmlubmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA0JTtcbiAgICBsaW5lLWhlaWdodDogMi4wNTtcbiAgfVxuICAjVG9wIC5hYm91dCAuaW5uZXIgLmRlc2NyaXB0aW9uIHAge1xuICAgIHdpZHRoOiA4OSU7XG4gIH1cbiAgI1RvcCAuYWJvdXQgLmlubmVyIC53aGl0ZV9iZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jVG9wIC5mZWF0dXJlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNS4zJSAwIDQlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuYmx1ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmMWY5O1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5zdWJfdGl0bGUge1xuICBjb2xvcjogIzBjNWNhODtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC53aGl0ZV9iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogY2FsYygoMTAwdncgLSAxNDQwcHgpIC8gMiArIDkuMiUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAud2hpdGVfYmcucG9zaXRpb25fcmlnaHQge1xuICByaWdodDogY2FsYygoMTQ0MHB4IC0gMTAwdncpIC8gMik7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAud2hpdGVfYmcucG9zaXRpb25fbGVmdCB7XG4gIGxlZnQ6IGNhbGMoKDE0NDBweCAtIDEwMHZ3KSAvIDIpO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDc2JTtcbiAgcGFkZGluZzogMy41JSAwIDMuMSU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmRlc2NyaXB0aW9uX2ltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuZGVzY3JpcHRpb25fY29weSB7XG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmc6IDQlIDQuNSU7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmRlc2NyaXB0aW9uX2NvcHkgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNCU7XG4gIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLU1lZGl1bSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5kZXNjcmlwdGlvbl9jb3B5IC5kZXNjcmlwdGlvbl90aXRsZSBzcGFuIHtcbiAgcGFkZGluZy1ib3R0b206IDElO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuZGVzY3JpcHRpb25fY29weSAuZGVzY3JpcHRpb25fY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAyLjI7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uMSAuZGVzY3JpcHRpb25faW1nIHtcbiAgd2lkdGg6IDM1JTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjEgLmRlc2NyaXB0aW9uX2NvcHkge1xuICB3aWR0aDogNTQlO1xuICBwYWRkaW5nOiA0JSA0LjUlO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uMiB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDMlO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uMiAuZGVzY3JpcHRpb25faW1nIHtcbiAgd2lkdGg6IDMxJTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjIgLmRlc2NyaXB0aW9uX2NvcHkge1xuICB3aWR0aDogNTQlO1xuICBwYWRkaW5nOiA2LjYlIDQuNSUgNy4yJTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nLXJpZ2h0OiAzJTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjMgLmRlc2NyaXB0aW9uX2ltZyB7XG4gIHdpZHRoOiAzMCU7XG4gIG1hcmdpbi1yaWdodDogMy41JTtcbiAgbWFyZ2luLWJvdHRvbTogMi41JTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjMgLmRlc2NyaXB0aW9uX2NvcHkge1xuICB3aWR0aDogNTQlO1xuICBwYWRkaW5nOiAxMCUgNC41JSAxNCU7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb240IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZy1yaWdodDogMyU7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb240IC5kZXNjcmlwdGlvbl9pbWcge1xuICB3aWR0aDogMzElO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uNCAuZGVzY3JpcHRpb25fY29weSB7XG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmc6IDYuNiUgNC41JSA3LjglO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uNSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDkyJTtcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjUgLmRlc2NyaXB0aW9uX2ltZyB7XG4gIHdpZHRoOiAzNyU7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb241IC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgd2lkdGg6IDQ1JTtcbiAgcGFkZGluZzogNC43JSA0JSAwO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uNSAuY2FzZSA+IGRpdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG5cbiNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmNhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDUlO1xuICBtYXJnaW4tcmlnaHQ6IDQlO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlIC5jYXNlX2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDklO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlIC5jYXNlX2hlYWRlciBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAyNSU7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuY2FzZSA+IGRpdiB7XG4gIHdpZHRoOiA3OSU7XG4gIHBhZGRpbmc6IDYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlID4gZGl2IC5jYXNlX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMiU7XG4gIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLUJvbGQsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMGM1Y2E4O1xufVxuXG4jVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlID4gZGl2IC5jYXNlX2NvbnRlbnQge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLndoaXRlX2JnIHtcbiAgICB3aWR0aDogOS4yJTtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLndoaXRlX2JnLnBvc2l0aW9uX3JpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLndoaXRlX2JnLnBvc2l0aW9uX2xlZnQge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuZGVzY3JpcHRpb25fY29weSAuZGVzY3JpcHRpb25fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMjB2dyAvIDE0LjQsIDE1cHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLmZlYXR1cmVzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMy4yJSAwIDUlO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5ibHVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmMWY5O1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLndoaXRlX2JnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMCAyJSAhaW1wb3J0YW50O1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmRlc2NyaXB0aW9uX2NvcHkgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0JTtcbiAgICBmb250LXNpemU6IDQuOHZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuZGVzY3JpcHRpb25fY29weSAuZGVzY3JpcHRpb25fdGl0bGUgc3BhbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNSU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuZGVzY3JpcHRpb25fY29weSAuZGVzY3JpcHRpb25fY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuMDU7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZzogOCUgMCAxMyU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjEgLmRlc2NyaXB0aW9uX2ltZyB7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBtYXJnaW4tdG9wOiAxJTtcbiAgICBtYXJnaW4tbGVmdDogNy41JTtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uMiB7XG4gICAgcGFkZGluZzogMTIlIDAgMTMlO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb24yIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDkuNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiA5JTtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uMyB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nOiAxMCUgMCAxMiU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjMgLmRlc2NyaXB0aW9uX2NvcHkgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjYlO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb24zIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgIHdpZHRoOiA3OCU7XG4gICAgbWFyZ2luLXRvcDogNy4yJTtcbiAgICBtYXJnaW4tbGVmdDogMTElO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb240IHtcbiAgICBwYWRkaW5nOiAxMiUgMCAxNiU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjQgLmNhc2UgLmNhc2VfdGl0bGUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjQgLmRlc2NyaXB0aW9uX2NvcHkgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjYlO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb240IC5kZXNjcmlwdGlvbl9jb3B5IC5kZXNjcmlwdGlvbl9jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA4JTtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uNCAuZGVzY3JpcHRpb25faW1nIHtcbiAgICB3aWR0aDogODAuNCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDclO1xuICAgIG1hcmdpbi1yaWdodDogOCU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjUge1xuICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgd2lkdGg6IDg5JTtcbiAgICBwYWRkaW5nOiAxMSUgMCAxMiU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbi5kZXNjcmlwdGlvbjUgLmRlc2NyaXB0aW9uX2NvcHkgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjYlO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24uZGVzY3JpcHRpb241IC5kZXNjcmlwdGlvbl9jb3B5IC5kZXNjcmlwdGlvbl9jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA4JTtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uNSAuZGVzY3JpcHRpb25faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuY2FzZSAuY2FzZV9oZWFkZXIge1xuICAgIHdpZHRoOiA4JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmNhc2UgLmNhc2VfaGVhZGVyIGltZyB7XG4gICAgaGVpZ2h0OiAyMCU7XG4gIH1cbiAgI1RvcCAuZmVhdHVyZXMgLmlubmVyIC5kZXNjcmlwdGlvbiAuY2FzZSA+IGRpdiB7XG4gICAgd2lkdGg6IDc5JTtcbiAgICBwYWRkaW5nOiA2LjIlIDYuNSUgNi4yJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG4gICNUb3AgLmZlYXR1cmVzIC5pbm5lciAuZGVzY3JpcHRpb24gLmNhc2UgPiBkaXYgLmNhc2VfdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAzLjd2dztcbiAgfVxuICAjVG9wIC5mZWF0dXJlcyAuaW5uZXIgLmRlc2NyaXB0aW9uIC5jYXNlID4gZGl2IC5jYXNlX2NvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGZvbnQtc2l6ZTogMy43dnc7XG4gIH1cbn1cblxuI1RvcCAudm9pY2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA1LjYlIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWYxZjk7XG59XG5cbiNUb3AgLnZvaWNlcyAuaW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNUb3AgLnZvaWNlcyAuaW5uZXIgLnN1Yl90aXRsZSB7XG4gIGNvbG9yOiAjMGM1Y2E4O1xufVxuXG4jVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA2MiU7XG4gIHBhZGRpbmc6IDIuNSUgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG59XG5cbiNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlLnZvaWNlNCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbiNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC5pY29uIHtcbiAgd2lkdGg6IDE3JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4jVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAudm9pY2VfY29weSB7XG4gIHdpZHRoOiA3NyU7XG4gIHBhZGRpbmc6IDAgMCAwIDUuNSU7XG59XG5cbiNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC52b2ljZV9jb3B5IC5hbm5vdGF0aW9uIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4jVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAudm9pY2VfY29weSAudm9pY2VfdW5pdmVyc2l0eSB7XG4gIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLVJlZ3VsYXIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4jVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAudm9pY2VfY29weSAudm9pY2VfdXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDElO1xuICBmb250LWZhbWlseTogTm90b1NhbnNDSktqcC1Cb2xkLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuOHJlbTtcbn1cblxuI1RvcCAudm9pY2VzIC5pbm5lciAudm9pY2UgLnZvaWNlX2NvcHkgLnZvaWNlX3VzZXIgLmFubm90YXRpb24ge1xuICBjb2xvcjogIzAwMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbGluZS1oZWlnaHQ6IDIuNztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuI1RvcCAudm9pY2VzIC5pbm5lciAudm9pY2UgLnZvaWNlX2NvcHkgLnZvaWNlX2NvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMi4yO1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkgYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAjVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC52b2ljZV9jb3B5IC5hbm5vdGF0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDEydncgLyAxNC40LCAxMXB4KSk7XG4gIH1cbiAgI1RvcCAudm9pY2VzIC5pbm5lciAudm9pY2UgLnZvaWNlX2NvcHkgLnZvaWNlX3VuaXZlcnNpdHkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMTR2dyAvIDE0LjQsIDEycHgpKTtcbiAgfVxuICAjVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAudm9pY2VfY29weSAudm9pY2VfdXNlciB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgxOHZ3IC8gMTQuNCwgMTZweCkpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI1RvcCAudm9pY2VzIHtcbiAgICBwYWRkaW5nOiAxMiUgMCAxMCU7XG4gIH1cbiAgI1RvcCAudm9pY2VzIC5pbm5lciAudm9pY2Uge1xuICAgIHdpZHRoOiA4OSU7XG4gICAgcGFkZGluZzogNyUgMDtcbiAgfVxuICAjVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAuc3Bfb25seSB7XG4gICAgbWFyZ2luLXRvcDogMS42dnc7XG4gICAgbWFyZ2luLWxlZnQ6IDMuNXZ3O1xuICB9XG4gICNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC5zcF9vbmx5IC52b2ljZV91bml2ZXJzaXR5IHtcbiAgICBmb250LWZhbWlseTogTm90b1NhbnNDSktqcC1NZWRpdW0sIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAzLjR2dztcbiAgfVxuICAjVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAuc3Bfb25seSAudm9pY2VfdXNlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMSU7XG4gICAgZm9udC1mYW1pbHk6IE5vdG9TYW5zQ0pLanAtQm9sZCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDQuNXZ3O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAjVG9wIC52b2ljZXMgLmlubmVyIC52b2ljZSAuc3Bfb25seSAudm9pY2VfdXNlciAuYW5ub3RhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG4gICNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC5pY29uIHtcbiAgICB3aWR0aDogMjIuNSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC5hbm5vdGF0aW9uIHtcbiAgICBmb250LXNpemU6IDMuMXZ3ICFpbXBvcnRhbnQ7XG4gIH1cbiAgI1RvcCAudm9pY2VzIC5pbm5lciAudm9pY2UgLnZvaWNlX2NvcHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogNHZ3O1xuICB9XG4gICNUb3AgLnZvaWNlcyAuaW5uZXIgLnZvaWNlIC52b2ljZV9jb3B5IC52b2ljZV9jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMi4xO1xuICB9XG59XG5cbiNUb3AgLmNvdXJzZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDclIDAgOCU7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5zdWJfdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgY29sb3I6ICMwMDVhYWE7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzLjUlO1xuICBsaW5lLWhlaWdodDogMi4zO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuZGVzY3JpcHRpb24gPiBkaXYge1xuICB3aWR0aDogNjUlO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzID4gZGl2IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogODElO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzID4gZGl2IC5jb3Vyc2VfdHlwZSB7XG4gIHdpZHRoOiA0Mi41JTtcbiAgcGFkZGluZzogMiUgMyU7XG4gIG1hcmdpbi1ib3R0b206IDYuOCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiAuY291cnNlX3R5cGUgLmNvdXJzZV9pbWcge1xuICB3aWR0aDogMTclO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5jb3Vyc2VfdHlwZXMgPiBkaXYgLmNvdXJzZV90eXBlIC5jb3Vyc2VfY29weSAuY291cnNlX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMiU7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiAuY291cnNlX3R5cGUgLmNvdXJzZV9jb3B5IC5jb3Vyc2VfY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5jb3Vyc2VfdHlwZXMgPiBkaXYgLmNvdXJzZV90eXBlLnllbGxvd19iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGVmMDA7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5jb3Vyc2VfdHlwZXMgPiBkaXYgLmNvdXJzZV90eXBlLnllbGxvd19iZyAuY291cnNlX2ltZyBpbWcge1xuICB3aWR0aDogODglO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzID4gZGl2IC5jb3Vyc2VfdHlwZS5ibHVlX2JnIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU5YjA7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5jb3Vyc2VfdHlwZXMgPiBkaXYgLmNvdXJzZV90eXBlLmJsdWVfYmcgLmNvdXJzZV9pbWcgaW1nIHtcbiAgd2lkdGg6IDcwJTtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYge1xuICB3aWR0aDogNjQuNyU7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMi4zJTtcbiAgZm9udC1zaXplOiAyLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMlO1xufVxuXG4jVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSAucm93cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYgLmFubm90YXRpb25fbnVtYmVyIHtcbiAgcGFkZGluZzogMCAwIDElIDElO1xuICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYuaGVhZGVyX3JvdyB7XG4gIGhlaWdodDogNjhweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU5YjA7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRhYmxlIC5yb3dzID4gZGl2LmNvbHVtbl9yb3cge1xuICBoZWlnaHQ6IDU4cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYucmVjb3JkX3JvdyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYucmVjb3JkX3JvdyBpbWcge1xuICB3aWR0aDogNSU7XG59XG5cbiNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLmFubm90YXRpb24ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiAuY291cnNlX3R5cGUgLmNvdXJzZV9jb3B5IC5jb3Vyc2VfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoM3Z3IC8gMTQuNCwgMThweCkpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDIzdncgLyAxNC40LCAxNXB4KSk7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYuY29sdW1uX3JvdyB7XG4gICAgZm9udC1zaXplOiBjYWxjKG1heCgxNHZ3IC8gMTQuNCwgMTJweCkpO1xuICB9XG4gICNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRhYmxlIC5yb3dzID4gZGl2LnJlY29yZF9yb3cge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMTR2dyAvIDE0LjQsIDEycHgpKTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSAucm93cyA+IGRpdi5yZWNvcmRfcm93IGltZyB7XG4gICAgd2lkdGg6IDYlO1xuICB9XG4gICNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLmFubm90YXRpb24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyhtYXgoMTN2dyAvIDE0LjQsIDEwcHgpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLmNvdXJzZXMge1xuICAgIHBhZGRpbmc6IDEwJSAwIDE2JTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc3ViX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2JTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDglO1xuICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgbGluZS1oZWlnaHQ6IDIuMTM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuZGVzY3JpcHRpb24gPiBkaXYge1xuICAgIHdpZHRoOiA5MSU7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzID4gZGl2IC5jb3Vyc2VfdHlwZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNSUgMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogNiU7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiAuY291cnNlX3R5cGUgLmNvdXJzZV9pbWcge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLmNvdXJzZV90eXBlcyA+IGRpdiAuY291cnNlX3R5cGUgLmNvdXJzZV9pbWcgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuY291cnNlX3R5cGVzID4gZGl2IC5jb3Vyc2VfdHlwZSAuY291cnNlX2NvcHkgLmNvdXJzZV90aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IE5vdG9TYW5zQ0pLanAtTWVkaXVtLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNC40dnc7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNSU7XG4gICAgZm9udC1zaXplOiA0LjV2dztcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNiU7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSAucm93cyA+IGRpdiAuYW5ub3RhdGlvbl9udW1iZXIge1xuICAgIHBhZGRpbmc6IDAgMCAxJSAxJTtcbiAgICBmb250LXNpemU6IDIuNXZ3O1xuICB9XG4gICNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRhYmxlIC5yb3dzID4gZGl2LmhlYWRlcl9yb3cge1xuICAgIGhlaWdodDogMTYuMnZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTliMDtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSAucm93cyA+IGRpdi5jb2x1bW5fcm93IHtcbiAgICBoZWlnaHQ6IDE2dnc7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIH1cbiAgI1RvcCAuY291cnNlcyAuaW5uZXIgLnNjaG9vbF9leHBlbnNlcyA+IGRpdiAudGFibGUgLnJvd3MgPiBkaXYuY29sdW1uX3Jvdy5oaWdoZXIge1xuICAgIGhlaWdodDogMjEuM3Z3O1xuICB9XG4gICNUb3AgLmNvdXJzZXMgLmlubmVyIC5zY2hvb2xfZXhwZW5zZXMgPiBkaXYgLnRhYmxlIC5yb3dzID4gZGl2LnJlY29yZF9yb3cge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC50YWJsZSAucm93cyA+IGRpdi5yZWNvcmRfcm93IGltZyB7XG4gICAgd2lkdGg6IDEzJTtcbiAgfVxuICAjVG9wIC5jb3Vyc2VzIC5pbm5lciAuc2Nob29sX2V4cGVuc2VzID4gZGl2IC5hbm5vdGF0aW9uIHtcbiAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gIH1cbn1cblxuI1RvcCAucHJvY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU5YjA7XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNC41JSAwIDUlO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYge1xuICB3aWR0aDogNzAlO1xufVxuXG4jVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuc3ViX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yJTtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5udW1iZXIge1xuICB3aWR0aDogMjguNSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wcm9jZXNzX2xpbmUucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xufVxuXG4jVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAubnVtYmVyIGltZyB7XG4gIHdpZHRoOiAzMSU7XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkge1xuICB3aWR0aDogNjIlO1xuICBwYWRkaW5nOiAzJSAwIDUuNSU7XG4gIG1hcmdpbi1sZWZ0OiAxLjUlO1xufVxuXG4jVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAuZmxvd19jb3B5IC5mbG93X3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMyU7XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLmZsb3dfdGl0bGUgc3BhbiB7XG4gIHBhZGRpbmc6IDIuMSUgMyU7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwNTliMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAuZmxvd19jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDIuMjtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAudGVsIHtcbiAgbWFyZ2luLXRvcDogMyU7XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLnRlbCA+IGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMi41JSA3JSAzJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xufVxuXG4jVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAuZmxvd19jb3B5IC50ZWwgPiBkaXYgLnRlbF9udW1iZXIge1xuICBmb250LWZhbWlseTogJ0NpbnplbC1TZW1pQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG59XG5cbiNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLnRlbCA+IGRpdiAudGltZSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cubGFzdCAubnVtYmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cubGFzdCAuZmxvd19jb3B5IC5mbG93X3RpdGxlIHNwYW4ge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZWM0NDtcbn1cblxuI1RvcCAucHJvY2VzcyAuaW5uZXIgLndoaXRlX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKCgxNDQwcHggLSAxMDB2dykgLyAyKTtcbiAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTQ0MHB4KSAvIDIgKyA5LjIlKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IHtcbiAgICB3aWR0aDogODUlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAuZmxvd190aXRsZSBzcGFuIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDE4dncgLyAxNC40LCAxNXB4KSk7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAudGVsID4gZGl2IC50ZWxfbnVtYmVyIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDIydncgLyAxNC40LCAxNnB4KSk7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAudGVsID4gZGl2IC50aW1lIHtcbiAgICBmb250LXNpemU6IGNhbGMobWF4KDEzdncgLyAxNC40LCAxMXB4KSk7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgLndoaXRlX2JnIHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogOS4yJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAxMSUgMCA1JTtcbiAgfVxuICAjVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLnN1Yl90aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi41JTtcbiAgfVxuICAjVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAubnVtYmVyIHtcbiAgICB3aWR0aDogMjYlO1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5udW1iZXIgaW1nIHtcbiAgICB3aWR0aDogNTglO1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkge1xuICAgIHdpZHRoOiA3MSU7XG4gICAgcGFkZGluZzogMyUgMCAxNS41JTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAjVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAuZmxvd19jb3B5IC5mbG93X3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxJTtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjUlO1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLmZsb3dfdGl0bGUgc3BhbiB7XG4gICAgcGFkZGluZzogMy44JSA0JSAzLjUlO1xuICAgIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLU1lZGl1bSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDQuNnZ3O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDU5YjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuICAjVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAuZmxvd19jb3B5IC5mbG93X3RpdGxlLmhpZ2hlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC01JTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLmZsb3dfdGl0bGUuaGlnaGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0OHZ3O1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLmZsb3dfY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuMDU7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cgLmZsb3dfY29weSAudGVsID4gZGl2IHtcbiAgICB3aWR0aDogNjcuNXZ3O1xuICAgIHBhZGRpbmc6IDUlIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLnRlbCA+IGRpdiAudGVsX251bWJlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zaXplOiA0LjV2dztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuN3Z3O1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93IC5mbG93X2NvcHkgLnRlbCA+IGRpdiAudGVsX251bWJlciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAjVG9wIC5wcm9jZXNzIC5pbm5lciA+IGRpdiAuZmxvdyAuZmxvd19jb3B5IC50ZWwgPiBkaXYgLnRpbWUge1xuICAgIGZvbnQtc2l6ZTogMy40dnc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgI1RvcCAucHJvY2VzcyAuaW5uZXIgPiBkaXYgLmZsb3cubGFzdCAubnVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyID4gZGl2IC5mbG93Lmxhc3QgLmZsb3dfY29weSAuZmxvd190aXRsZSBzcGFuIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xuICB9XG4gICNUb3AgLnByb2Nlc3MgLmlubmVyIC53aGl0ZV9iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygoMTQ0MHB4IC0gMTAwdncpIC8gMik7XG4gICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTQ0MHB4KSAvIDIgKyA5LjIlKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJsYWNrJztcbiAgICBzcmM6IHVybCguLi9mb250cy9Ob3RvU2Fuc0NKS2pwLUJsYWNrLm90ZikgZm9ybWF0KCdvcGVudHlwZScpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtQm9sZC5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtTWVkaXVtLm90ZikgZm9ybWF0KCdvcGVudHlwZScpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtUmVndWxhci5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1UaGluJztcbiAgICBzcmM6IHVybCguLi9mb250cy9Ob3RvU2Fuc0NKS2pwLVRoaW4ub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtTGlnaHQnO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TYW5zQ0pLanAtTGlnaHQub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TZXJpZkpQLVJlZ3VsYXInO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL05vdG9TZXJpZkpQLVJlZ3VsYXIub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NpbnplbCc7XG4gICAgc3JjOiB1cmwoLi4vZm9udHMvQ2luemVsLVJlZ3VsYXIudHRmKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2luemVsLUJvbGQnO1xuICAgIHNyYzogdXJsKC4uL2ZvbnRzL0NpbnplbC1Cb2xkLnR0Zik7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NpbnplbC1TZW1pQm9sZCc7XG4gICAgc3JjOiB1cmwoLi4vZm9udHMvQ2luemVsLVNlbWlCb2xkLnR0Zik7XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMvdXRpbGl0aWVzJztcblxuLmZhZGVpbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4sIGJvdHRvbSAxcyBlYXNlLWluO1xufVxuXG4uZmFkZXVwIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuOHMgZWFzZS1pbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG59XG5cbi5mYWRlZG93biB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4sIHRyYW5zZm9ybSAxcyBlYXNlLWluO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG59XG5cbi5mYWRlbGVmdCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4sIHRyYW5zZm9ybSAxcyBlYXNlLWluO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbn1cblxuLmZhZGVyaWdodCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4sIHRyYW5zZm9ybSAxcyBlYXNlLWluO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMvdXRpbGl0aWVzJztcblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNiwgMTMpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgfVxufVxuXG5hIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIkBtaXhpbiBtZWRpYSgkcmVzKSB7XG4gICAgQGlmIG1vYmlsZSA9PSAkcmVzIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmIHRhYmxldCA9PSAkcmVzIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmIHBjX25hcnJvdyA9PSAkcmVzIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmIHBjX3dpZGUgPT0gJHJlcyB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNpemVGb3JGbGV4aWJsZSgkc2l6ZSwgJG1pblNpemU6ICcnKSB7XG4gICAgQGlmICRtaW5TaXplICE9ICcnIHtcbiAgICAgICAgQHJldHVybiBjYWxjKG1heCgjeyRzaXplfXZ3IC8gMTQuNCwgI3skbWluU2l6ZX1weCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIGNhbGMoI3skc2l6ZX12dyAvIDE0LjQpO1xuICAgIH1cbn1cblxuLypcblxuNDAwcHhcblxuMXZ3ID0gNHB4XG5cbjYwMHB4XG5cbjEuNVxuXG4qL1xuIiwiQGltcG9ydCAnbWl4aW5zL3V0aWxpdGllcyc7XG5cbmgxIHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5oMiB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUxpZ2h0JywgJ3NhbnMtc2VyaWYnO1xuICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG59XG5oMyB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUxpZ2h0JywgJ3NhbnMtc2VyaWYnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuaDQge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmg1IHtcbiAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzYpO1xuICAgIH1cbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgICAgIGZvbnQtc2l6ZTogNi4zdnc7XG4gICAgfVxufVxuXG4uaW5pdF9oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG4uYWN0aXZlIHtcbiAgICAmLmluaXRfaGlkZGVuIHtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG59XG5cbmE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44OY44OD44OA44O8LS0tLS0tLS0tLS0tLS0tKi9cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE0NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHM7XG4gICAgJi5taW5pIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIC5oZWFkZXJfaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC50ZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDaW56ZWwtU2VtaUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YWFhO1xuICAgICAgICB9XG4gICAgICAgIC5sZWN0dXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlZTJiO1xuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjAwLCAxNTApO1xuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXJfaW5mbyB7XG4gICAgICAgICAgICAudGVsIHtcbiAgICAgICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjQsIDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRpbWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMywgMTIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250YWN0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg0MCwgMzQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE0LCAxMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGVjdHVyZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNDAsIDM0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxNCwgMTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogNS41JSAwIDYuMiU7XG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAmLm1pbmkge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAzM3Z3O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDV2dztcbiAgICAgICAgfVxuICAgICAgICAuaGVhZGVyX2luZm8ge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHZ3O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXAtcmV2ZXJzZTtcbiAgICAgICAgICAgIC50ZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUuMXZ3O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNC41dnc7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1LjF2dztcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuODJ2dztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44dnc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ydnc7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJ2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnZ3IDIuNXZ3O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuN3Z3O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNS4ydnc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjF2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sZWN0dXJlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAydncgMi41dnc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1LjJ2dztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuMXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYShtb2JpbGUpIHtcbiAgICAuaGVhZGVyIHtcbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0t44Kz44Oz44OG44Oz44OELS0tLS0tLS0tLS0tLS0tKi9cbi5tYWluX3NlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS3jg5Xjg4Pjgr/jg7wtLS0tLS0tLS0tLS0tLS0qL1xuLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZzogOCUgMCA4LjMlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saW5rX2FyZWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgID4gZGl2LCA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgICYudGVsIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGRkZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDlweDtcbiAgICAgICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDaW56ZWwtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNvbnRhY3QsXG4gICAgICAgICAgICAmLmxlY3R1cmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzVjYTg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxlY3R1cmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmVjNDQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3RfYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDM4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgICAgIC5mb290ZXJfbGluayB7XG4gICAgICAgICAgICAuc2VwYXJhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxN3B4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzY2NjY2NjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgLmZvb3RlciB7XG4gICAgICAgIC5saW5rX2FyZWEge1xuICAgICAgICAgICAgPiBkaXYsID4gYSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTUwLCAxMDApO1xuICAgICAgICAgICAgICAgICYudGVsIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTQ5LCA5OSk7XG4gICAgICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjgsIDIwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxOCwgMTMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY29udGFjdCxcbiAgICAgICAgICAgICAgICAmLmxlY3R1cmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyMCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTgsIDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc2l6ZUZvckZsZXhpYmxlKDE1LCA4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdF9iYXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTAwLCA4MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5AaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMTUlIDAgMTUlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5saW5rX2FyZWEge1xuICAgICAgICAgICAgPiBkaXYsID4gYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMi43dnc7XG4gICAgICAgICAgICAgICAgJi50ZWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGRkZDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIyLjd2dyAtIDFweCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuNXZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjg1dnc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNHZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTV2dztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmNvbnRhY3QsXG4gICAgICAgICAgICAgICAgJi5sZWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjV2dztcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDF2dztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdF9iYXIge1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzhweDtcbiAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJ2dyAwIDl2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb290ZXJfbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnZ3IDA7XG4gICAgICAgICAgICAgICAgLnNlcGFyYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDZ2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy40dnc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3Bfb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbkBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIC5zcF9vbmx5IHtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICB9XG4gICAgLnBjX29ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuMjtcbn1cblxuLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLmFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm1yLTEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4ubXItMjAge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbi5tci0zMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xufVxuLm1yLTQwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5tbC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4ubWwtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuLm1sLTMwIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbn1cbi5tbC00MCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5cbi5tdC0xMCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5tdC0yMCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cbi5tdC0zMCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbn1cbi5tdC00MCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm1iLTEwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm1iLTIwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLm1iLTMwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLm1iLTQwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuIiwiQGltcG9ydCAnLi4vbWl4aW5zL3V0aWxpdGllcyc7XG5cbiNUZXN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgLm1haW5fY29udGVudHMge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICB9XG5cbiAgICAucGFydGl0aW9uX2FyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJi5vbmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX3dpZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDQwcHgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5vbmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOTJweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24xX3RhaWwucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnR3byB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOTJweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9wYXJ0aXRpb24yX3RhaWwucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRocmVlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucGFydGl0aW9uX3RhaWwge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1nL3BhcnRpdGlvbjNfdGFpbC5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBtYWluIHZpc3VhbCAtLS0tLS0tLS0tLS0tLS1cbiAgICAubWFpbl92aXN1YWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA2NC43dnc7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3NzYuMzc1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9tdl9iZy5wbmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIC5tYWluX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1Cb2xkJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5taXRzdW1vcmkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgLm1haW5fdmlzdWFsIHtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgLm1haW5fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoOTApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNik7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWl0c3Vtb3JpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxNDApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxNDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgLm1haW5fdmlzdWFsIHtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5Ni41dnc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWcvbXZfYmdfc3AucG5nKTtcbiAgICAgICAgICAgICAgICAubWFpbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMTUpIHNpemVGb3JGbGV4aWJsZSgxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBzdWIgc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAuc3ViX3NlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxODFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDkwcHg7XG4gICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzElO1xuICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaGFsZiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxODEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDkwKTtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzMDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSg2MDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDE0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmhhbGYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gcG9pbnQgc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgJi5wb2ludF9zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYTk5MjYxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0xNjVweDtcbiAgICAgICAgICAgICAgICByaWdodDogNjVweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGFydGl0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg0NSk7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDIxKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0xNjUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoNjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYXJ0aXRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgtMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgJi5wb2ludF9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0yMjQpO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm5vdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlODNiNDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wYXJ0aXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gc2NlbmUgc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgJi5zY2VuZV9zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDExMHB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYTk5MjYxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0yMzRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA3OXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYTk5MjYxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICAmLnNjZW5lX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTEwKTtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyMSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgyNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTIzNCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSg3OSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgJi5zY2VuZV9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDE1MCwgNjApO1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0ZXBfbm8ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtMzEzKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKDExNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tIHBsYW4gc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgJi5wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2NXB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYTk5MjYxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0yMTFweDtcbiAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTAwcHg7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4LjUlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2U4M2I0MDtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWVyX3BsYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGV0YWlsX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC02MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAgICAgJi5wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDE2NSk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMjQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3RlcF9ubyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC0yMTEpO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogc2l6ZUZvckZsZXhpYmxlKDQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc2l6ZUZvckZsZXhpYmxlKDE0KSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDI1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZXJfcGxhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGV0YWlsX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKC02MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogc2l6ZUZvckZsZXhpYmxlKC02MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgJi5wbGFuX3NlY3Rpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzaXplRm9yRmxleGlibGUoMTAwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDIwMCwgMTUwKTtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdGVwX25vIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzaXplRm9yRmxleGlibGUoLTIzMik7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplRm9yRmxleGlibGUoNTApO1xuICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTUwLCA3MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoMjAsIDE1KSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDQwLCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSg2MDAsIDI1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWVyX3BsYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDUzMCwgMjIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGV0YWlsX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDUwLCAyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDMwLCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSgtOTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHNpemVGb3JGbGV4aWJsZSgtNDgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMjAwLCA4Nik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0gYnJld2VyeSBzZWN0aW9uIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYxNTg1MztcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2E5OTI2MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnRpY2xlX2xpc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg5MCk7XG4gICAgICAgICAgICAgICAgLmFydGljbGVfbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg3MCk7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE1LCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICAmLmJyZXdlcnlfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNpemVGb3JGbGV4aWJsZSgxMDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjAwKTtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYXJ0aWNsZV90aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBzaW11bGF0aW9uIHNlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4M2I0MDtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLU1lZGl1bScsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpbXVsYXRpb25fbG9nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLVJlZ3VsYXInLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdWxjIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1NZWRpdW0nLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTc1YTtcbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICBmb3JtW25hbWU9J3BsYW5fZm9ybSddIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgICAucGxhbl9vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7XG4gICAgICAgICAgICAgICAgICAgIC5wbGFuX2Fuc3dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvU2Fuc0NKS2pwLUJvbGQnLCAnc2Fucy1zZXJpZic7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMzFkMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTm90b1NhbnNDSktqcC1SZWd1bGFyJywgJ3NhbnMtc2VyaWYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIHNlbGVjdCBzdHlsZSAqL1xuICAgICAgICAgICAgLnNlbGVjdC13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyN3B4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdmODc4YztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltZy9pY29uX2Fycm93X3VuZGVyLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05vdG9TYW5zQ0pLanAtQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoI2IzMWQwMCwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICM4MjhjOWE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDUwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNpemVGb3JGbGV4aWJsZSgyNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNpbXVsYXRpb25fbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgzNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc2l6ZUZvckZsZXhpYmxlKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoMTU1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmN1bGMge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgxMjUpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDM1KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc2l6ZUZvckZsZXhpYmxlKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDUpO1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzaXplRm9yRmxleGlibGUoMTMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoNDgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICAgICAgZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgtMTApO1xuICAgICAgICAgICAgICAgICAgICAucGxhbl9vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSg3NCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAucGxhbl9hbnN3ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDExMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgc2l6ZUZvckZsZXhpYmxlKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBzZWxlY3Qgc3R5bGUgKi9cbiAgICAgICAgICAgICAgICAuc2VsZWN0LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIyNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgyMCk7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogc2l6ZUZvckZsZXhpYmxlKDI3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoNTUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDIyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg2MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiBzaXplRm9yRmxleGlibGUoNjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc2l6ZUZvckZsZXhpYmxlKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICAgICYuc2ltdWxhdGlvbl9zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc2l6ZUZvckZsZXhpYmxlKDEyMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemVGb3JGbGV4aWJsZSgxNjApO1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYXJ0aWNsZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIC5hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFydGljbGVfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaW11bGF0aW9uX2xvZ28ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNpemVGb3JGbGV4aWJsZSgxNTApIDAgc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2l6ZUZvckZsZXhpYmxlKDMwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjUsIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmN1bGMge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSgyMDAsIDExMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDI4LCAxMik7XG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzNSwgMTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSg3NSwgNDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogcmFkaW8gYnV0dG9uIHN0eWxlICovXG4gICAgICAgICAgICAgICAgZm9ybVtuYW1lPSdwbGFuX2Zvcm0nXSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMobWluKC0yMHZ3IC8gMTIsIC0yMHB4KSk7XG4gICAgICAgICAgICAgICAgICAgIC5wbGFuX29wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZUZvckZsZXhpYmxlKDEwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMzAsIDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgyNSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsW2Zvcj0nY2hvaWNlJ10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBsYW5fYW5zd2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc2l6ZUZvckZsZXhpYmxlKDIwMCwgOTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogc2VsZWN0IHN0eWxlICovXG4gICAgICAgICAgICAgICAgLnNlbGVjdC13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzNTApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzaXplRm9yRmxleGlibGUoMTUsIDcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplRm9yRmxleGlibGUoMjApO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHNpemVGb3JGbGV4aWJsZSg0NSwgMjMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBzaXplRm9yRmxleGlibGUoMzAwLCAxMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTUsIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHNpemVGb3JGbGV4aWJsZSg1NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplRm9yRmxleGlibGUoNDQwLCAxNjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplRm9yRmxleGlibGUoMTAwLCA1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzaXplRm9yRmxleGlibGUoOCkgc2l6ZUZvckZsZXhpYmxlKDEwLCAyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzMCwgMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IHNpemVGb3JGbGV4aWJsZSg2NSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzaXplRm9yRmxleGlibGUoMTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vbWl4aW5zL3V0aWxpdGllcyc7XG5cbiNUb3Age1xuICAgIC5pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICB9XG4gICAgLnN1Yl90aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5zdWJfdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tIG1haW4gdmlzdWFsIC0tLS0tLS0tLS0tLS0tLVxuICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAubXZfaW1nIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tdl90aXRsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTYuNSU7XG4gICAgICAgICAgICAgICAgbGVmdDogNyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjIlO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMXZ3O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ0MXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tdl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMzMlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDclO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubXZfc2lnbmF0dXJlX2ltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5tYWluX3Zpc3VhbCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC5tdl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHBjX25hcnJvdykge1xuICAgICAgICAubWFpbl92aXN1YWwge1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAubWFpbl92aXN1YWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC5tdl9pbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNC41JTtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm12X3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2NXZ3O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1LjQlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjZ2dztcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2OHZ3O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tdl9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDd2dyA0LjV2dyAwIDZ2dztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjM1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubXZfc2lnbmF0dXJlX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTElO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0gYWJvdXRfc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAuYWJvdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMyU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGM1Y2E4O1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogNCUgMCA0LjUlO1xuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNSU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU5JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2hpdGVfYmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKDE0NDBweCAtIDEwMHZ3KSAvIDIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDE0NDBweCkgLyAyICsgOS4yJSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5hYm91dCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC53aGl0ZV9iZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkuMiU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIC5hYm91dCB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExLjclIDAgMTIuNSU7XG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQlO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4wNTtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODklO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC53aGl0ZV9iZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tIGZlYXR1cmVzX3NlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgLmZlYXR1cmVzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1LjMlIDAgNCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5ibHVlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZjFmOTtcbiAgICAgICAgfVxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLnN1Yl90aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwYzVjYTg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2hpdGVfYmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gMTQ0MHB4KSAvIDIgKyA5LjIlKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAmLnBvc2l0aW9uX3JpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKDE0NDBweCAtIDEwMHZ3KSAvIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnBvc2l0aW9uX2xlZnQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCgxNDQwcHggLSAxMDB2dykgLyAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMy41JSAwIDMuMSU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQlIDQuNSU7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLU1lZGl1bSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb24xIHtcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0JSA0LjUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb24yIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMyU7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNi42JSA0LjUlIDcuMiU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbjMge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTAlIDQuNSUgMTQlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb240IHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMyU7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNi42JSA0LjUlIDcuOCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbjUge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MiU7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNC43JSA0JSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jYXNlID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNhc2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgICAgICAgICAgICAgICAgICAuY2FzZV9oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDklO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZWM0NDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc5JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXNlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogTm90b1NhbnNDSktqcC1Cb2xkLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMGM1Y2E4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhc2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC53aGl0ZV9iZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5LjIlO1xuICAgICAgICAgICAgICAgICAgICAmLnBvc2l0aW9uX3JpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucG9zaXRpb25fbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjAsIDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgLmZlYXR1cmVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMTMuMiUgMCA1JTtcbiAgICAgICAgICAgIC5ibHVlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmMWY5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC53aGl0ZV9iZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMiUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0Ljh2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMDU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbjEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDglIDAgMTMlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNy41JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmRlc2NyaXB0aW9uMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMiUgMCAxMyU7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5LjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbjMge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwJSAwIDEyJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbl9pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3OCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNy4yJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTElO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb240IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEyJSAwIDE2JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXNlIC5jYXNlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNS42JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAuNCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDclO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbjUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4OSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMSUgMCAxMiU7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25fY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNS42JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb25faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY2FzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FzZV9oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzklO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDYuMiUgNi41JSA2LjIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhc2VfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjd2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhc2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuN3Z3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSB2b2ljZXNfc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAudm9pY2VzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1LjYlIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWYxZjk7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAuc3ViX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBjNWNhODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC52b2ljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYyJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjUlIDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICAmLnZvaWNlNCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudm9pY2VfY29weSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NyU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDUuNSU7XG4gICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnZvaWNlX3VuaXZlcnNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IE5vdG9TYW5zQ0pLanAtUmVndWxhciwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC52b2ljZV91c2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IE5vdG9TYW5zQ0pLanAtQm9sZCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFubm90YXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC52b2ljZV9jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShwY19uYXJyb3cpIHtcbiAgICAgICAgLnZvaWNlcyB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC52b2ljZSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC52b2ljZV9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMiwgMTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZvaWNlX3VuaXZlcnNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE0LCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudm9pY2VfdXNlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTgsIDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgLnZvaWNlcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMiUgMCAxMCU7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC52b2ljZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4OSU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDclIDA7XG4gICAgICAgICAgICAgICAgICAgIC5zcF9vbmx5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNnZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMuNXZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgLnZvaWNlX3VuaXZlcnNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLU1lZGl1bSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNHZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZvaWNlX3VzZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLUJvbGQsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjV2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFubm90YXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyLjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xdncgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudm9pY2VfY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0dnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAudm9pY2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLSBjb3Vyc2VzX3NlY3Rpb24gLS0tLS0tLS0tLS0tLS0tXG4gICAgLmNvdXJzZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDclIDAgOCU7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAuc3ViX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwNWFhYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjUlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3Vyc2VfdHlwZXMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgxJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV90eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0Mi41JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIlIDMlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNi44JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3Vyc2VfaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTclO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3Vyc2VfY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb3Vyc2VfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi55ZWxsb3dfYmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGVmMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV9pbWcgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmJsdWVfYmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU5YjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV9pbWcgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nob29sX2V4cGVuc2VzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NC43JTtcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuMyU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yb3dzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYW5ub3RhdGlvbl9udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDElIDElO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5oZWFkZXJfcm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTliMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmNvbHVtbl9yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucmVjb3JkX3JvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5jb3Vyc2VzIHtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgLmNvdXJzZV90eXBlcyB7XG4gICAgICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3Vyc2VfdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV9jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV90aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgzLCAxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNjaG9vbF9leHBlbnNlcyB7XG4gICAgICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMjMsIDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJvd3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmNvbHVtbl9yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE0LCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnJlY29yZF9yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDE0LCAxMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHNpemVGb3JGbGV4aWJsZSgxMywgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAuY291cnNlcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMCUgMCAxNiU7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIC5zdWJfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjEzO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTElO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3Vyc2VfdHlwZXMge1xuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZV90eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1JSAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY291cnNlX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY291cnNlX2NvcHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY291cnNlX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBOb3RvU2Fuc0NKS2pwLU1lZGl1bSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjR2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2Nob29sX2V4cGVuc2VzIHtcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDglO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuNXZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucm93cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hbm5vdGF0aW9uX251bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDElIDElO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41dnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmhlYWRlcl9yb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTYuMnZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTliMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuY29sdW1uX3JvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaGlnaGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMS4zdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5yZWNvcmRfcm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDR2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYW5ub3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjV2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS45O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tIHByb2Nlc3Nfc2VjdGlvbiAtLS0tLS0tLS0tLS0tLS1cbiAgICAucHJvY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU5YjA7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA0LjUlIDAgNSU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIC5zdWJfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjIlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjguNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Byb2Nlc3NfbGluZS5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZmxvd19jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MiU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzJSAwIDUuNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS41JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mbG93X3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi4xJSAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA1OWIwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mbG93X2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudGVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi41JSA3JSAzJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVsX251bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0NpbnplbC1TZW1pQm9sZCcsICdzYW5zLXNlcmlmJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmxvd19jb3B5IC5mbG93X3RpdGxlIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmVjNDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2hpdGVfYmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKDE0NDBweCAtIDEwMHZ3KSAvIDIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDE0NDBweCkgLyAyICsgOS4yJSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEocGNfbmFycm93KSB7XG4gICAgICAgIC5wcm9jZXNzIHtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmxvd19jb3B5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxvd190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTgsIDE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRlbF9udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc2l6ZUZvckZsZXhpYmxlKDIyLCAxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBzaXplRm9yRmxleGlibGUoMTMsIDExKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAud2hpdGVfYmcge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkuMiU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAucHJvY2VzcyB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExJSAwIDUlO1xuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC5zdWJfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNi41JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1OCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZsb3dfY29weSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcxJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzJSAwIDE1LjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mbG93X3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMy44JSA0JSAzLjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IE5vdG9TYW5zQ0pLanAtTWVkaXVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuNnZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA1OWIwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmhpZ2hlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4dnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZsb3dfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjA1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY3LjV2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUlIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVsX251bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjV2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuN3Z3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjR2dztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mbG93X2NvcHkgLmZsb3dfdGl0bGUgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYzQ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAud2hpdGVfYmcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKDE0NDBweCAtIDEwMHZ3KSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxNDQwcHgpIC8gMiArIDkuMiUpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 */