@charset "UTF-8";
.t-headline-elevated {
  font-size: 64px;
  line-height: 1.0625;
  font-weight: 600;
  letter-spacing: -.009em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(ar) {
  line-height: 1.20312;
  letter-spacing: 0;
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(ja) {
  line-height: 1.10938;
  letter-spacing: 0;
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(ko) {
  line-height: 1.17188;
  letter-spacing: 0;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(zh) {
  line-height: 1.09375;
  letter-spacing: 0
}
.t-headline-elevated:lang(th) {
  line-height: 1.34375;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline-elevated:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
@media only screen and (max-width:734px) {
  .t-headline-elevated {
    font-size: 40px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0;
    font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(ar) {
    line-height: 1.3;
    font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(ja) {
    line-height: 1.175;
    font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(ko) {
    line-height: 1.2;
    font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(th) {
    line-height: 1.35;
    font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(zh-CN) {
    font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(zh-HK) {
    font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(zh-MO) {
    font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline-elevated:lang(zh-TW) {
    font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
}
.t-intro-elevated {
  font-size: 24px;
  line-height: 1.33341;
  font-weight: 400;
  letter-spacing: .009em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(ar) {
  line-height: 1.5;
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(ja) {
  line-height: 1.41667;
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(ko) {
  line-height: 1.45841;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(th) {
  line-height: 1.375;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro-elevated:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated {
  font-size: 28px;
  line-height: 1.14286;
  font-weight: 600;
  letter-spacing: .007em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(ko) {
  line-height: 1.25;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(th) {
  line-height: 1.39286;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(zh) {
  line-height: 1.25
}
.t-eyebrow-elevated:lang(ar) {
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(ja) {
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-eyebrow-elevated:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
@media only screen and (max-width:734px) {
  .t-eyebrow-elevated {
    font-size: 21px;
    line-height: 1.19048;
    font-weight: 600;
    letter-spacing: .011em;
    font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(ja) {
    line-height: 1.2381;
    font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(ko) {
    line-height: 1.2858;
    font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(th) {
    line-height: 1.381;
    font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(zh) {
    line-height: 1.3334
  }
  .t-eyebrow-elevated:lang(ar) {
    font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(zh-CN) {
    font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(zh-HK) {
    font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(zh-MO) {
    font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-eyebrow-elevated:lang(zh-TW) {
    font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
}
.t-headline {
  font-size: 48px;
  line-height: 1.08349;
  font-weight: 600;
  letter-spacing: -.003em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(ar) {
  line-height: 1.25;
  letter-spacing: 0;
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(ja) {
  line-height: 1.14599;
  letter-spacing: 0;
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(ko) {
  line-height: 1.1875;
  letter-spacing: 0;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(zh) {
  letter-spacing: 0
}
.t-headline:lang(th) {
  line-height: 1.33349;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-headline:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
@media only screen and (max-width:734px) {
  .t-headline {
    font-size: 32px;
    line-height: 1.125;
    font-weight: 600;
    letter-spacing: .004em;
    font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(ar) {
    line-height: 1.34375;
    font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(ja) {
    line-height: 1.21875;
    font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(ko) {
    line-height: 1.21875;
    font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(th) {
    line-height: 1.375;
    font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(zh) {
    line-height: 1.21875
  }
  .t-headline:lang(zh-CN) {
    font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(zh-HK) {
    font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(zh-MO) {
    font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-headline:lang(zh-TW) {
    font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
}
.t-intro {
  font-size: 21px;
  line-height: 1.381;
  font-weight: 400;
  letter-spacing: .011em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(ar) {
  line-height: 1.52381;
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(ja) {
  line-height: 1.4286;
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(ko) {
  line-height: 1.52381;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(th) {
  line-height: 1.381;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-intro:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
@media only screen and (max-width:734px) {
  .t-intro {
    font-size: 19px;
    line-height: 1.4211;
    font-weight: 400;
    letter-spacing: .012em;
    font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(ar) {
    line-height: 1.57895;
    font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(ja) {
    line-height: 1.47376;
    font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(ko) {
    line-height: 1.52632;
    font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(th) {
    line-height: 1.36844;
    font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(zh-CN) {
    font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(zh-HK) {
    font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(zh-MO) {
    font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
  }
  .t-intro:lang(zh-TW) {
    font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
  }
}
.t-label {
  font-size: 24px;
  line-height: 1.16667;
  font-weight: 600;
  letter-spacing: .009em;
  font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(ar) {
  line-height: 1.33341;
  font-family: "SF Pro AR","SF Pro AR Display","SF Pro Display","SF Pro Gulf","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(ja) {
  line-height: 1.25;
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(ko) {
  line-height: 1.29167;
  font-family: "SF Pro KR","SF Pro Display","SF Pro Icons","Apple Gothic","HY Gulim",MalgunGothic,"HY Dotum","Lexi Gulim","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(th) {
  line-height: 1.375;
  font-family: "SF Pro TH","SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(zh) {
  line-height: 1.29167
}
.t-label:lang(zh-CN) {
  font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(zh-HK) {
  font-family: "SF Pro HK","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(zh-MO) {
  font-family: "SF Pro HK","SF Pro TC","SF Pro Display","SF Pro Icons","PingFang HK","Helvetica Neue",Helvetica,Arial,sans-serif
}
.t-label:lang(zh-TW) {
  font-family: "SF Pro TC","SF Pro Display","SF Pro Icons","PingFang TC","Helvetica Neue",Helvetica,Arial,sans-serif
}
[class*=t-eyebrow] {
  display: block;
  margin-bottom: .4em
}
[class*=t-eyebrow] + * {
  margin-top: 0
}
.t-headline + .t-intro {
  margin-top: 1.2em
}
.t-headline-super + .t-intro-elevated {
  margin-top: 1.6em
}
.t-headline-elevated + .t-intro-elevated {
  margin-top: 1.4em
}
.t-headline-reduced + .t-body,
.t-headline-reduced + p,
.t-headline-reduced + ul {
  margin-top: 1em
}
.dd-l-plate {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 980px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-l-plate {
    margin-left: auto;
    margin-right: auto;
    width: 87.5%
  }
}
.dd-l-plate::after,
.dd-l-plate::before {
  content: ' ';
  display: table
}
.dd-l-plate::after {
  clear: both
}
.dd-billboard img {
  display: block
}
.dd-a11y {
  position: absolute;
  clip: rect(1px,1px,1px,1px);
  -webkit-clip-path: inset(0 0 99.9% 99.9%);
  clip-path: inset(0 0 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0
}
@media (inverted-colors) {
  .dd-invert-classic {
    filter: initial
  }
  .dd-invert-classic-large {
    filter: initial
  }
}
@media only screen and (inverted-colors) and (max-width:1023px) and (max-device-width:736px) {
  .dd-invert-classic-large {
    filter: revert
  }
}
@media only screen and (inverted-colors) and (max-width:1023px) and (max-device-width:736px) {
  .dd-invert-classic-small {
    filter: initial
  }
}
.dd-text-align-left {
  text-align: left!important
}
.dd-text-align-right {
  text-align: right!important
}
.dd-text-align-center {
  text-align: center!important
}
.dd-align-center {
  margin: 0 auto;
  display: block
}
.dd-align-right {
  margin: 0 0 0 auto;
  display: block
}
.dd-align-center-large {
  margin: 0 auto;
  display: block
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-align-center-large {
    margin: 0
  }
}
.dd-align-right-large {
  margin: 0 0 0 auto;
  display: block
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-align-right-large {
    margin: 0
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-align-center-small {
    margin: 0 auto;
    display: block
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-align-right-small {
    margin: 0 0 0 auto;
    display: block
  }
}
@media (min-device-width:768px) {
  .dd-expand-large-1 {
    margin-left: -1%!important;
    margin-right: -1%!important
  }
  .dd-expand-left-large-1 {
    margin-left: -1%!important
  }
  .dd-expand-right-large-1 {
    margin-right: -1%!important
  }
  .dd-expand-large-2 {
    margin-left: -2%!important;
    margin-right: -2%!important
  }
  .dd-expand-left-large-2 {
    margin-left: -2%!important
  }
  .dd-expand-right-large-2 {
    margin-right: -2%!important
  }
  .dd-expand-large-3 {
    margin-left: -3%!important;
    margin-right: -3%!important
  }
  .dd-expand-left-large-3 {
    margin-left: -3%!important
  }
  .dd-expand-right-large-3 {
    margin-right: -3%!important
  }
  .dd-expand-large-4 {
    margin-left: -4%!important;
    margin-right: -4%!important
  }
  .dd-expand-left-large-4 {
    margin-left: -4%!important
  }
  .dd-expand-right-large-4 {
    margin-right: -4%!important
  }
  .dd-expand-large-5 {
    margin-left: -5%!important;
    margin-right: -5%!important
  }
  .dd-expand-left-large-5 {
    margin-left: -5%!important
  }
  .dd-expand-right-large-5 {
    margin-right: -5%!important
  }
  .dd-expand-large-6 {
    margin-left: -6%!important;
    margin-right: -6%!important
  }
  .dd-expand-left-large-6 {
    margin-left: -6%!important
  }
  .dd-expand-right-large-6 {
    margin-right: -6%!important
  }
  .dd-compact-large-1 {
    margin-left: 1%!important;
    margin-right: 1%!important
  }
  .dd-compact-left-large-1 {
    margin-left: 1%!important
  }
  .dd-compact-right-large-1 {
    margin-right: 1%!important
  }
  .dd-compact-large-2 {
    margin-left: 2%!important;
    margin-right: 2%!important
  }
  .dd-compact-left-large-2 {
    margin-left: 2%!important
  }
  .dd-compact-right-large-2 {
    margin-right: 2%!important
  }
  .dd-compact-large-3 {
    margin-left: 3%!important;
    margin-right: 3%!important
  }
  .dd-compact-left-large-3 {
    margin-left: 3%!important
  }
  .dd-compact-right-large-3 {
    margin-right: 3%!important
  }
  .dd-compact-large-4 {
    margin-left: 4%!important;
    margin-right: 4%!important
  }
  .dd-compact-left-large-4 {
    margin-left: 4%!important
  }
  .dd-compact-right-large-4 {
    margin-right: 4%!important
  }
  .dd-compact-large-5 {
    margin-left: 5%!important;
    margin-right: 5%!important
  }
  .dd-compact-left-large-5 {
    margin-left: 5%!important
  }
  .dd-compact-right-large-5 {
    margin-right: 5%!important
  }
  .dd-compact-large-6 {
    margin-left: 6%!important;
    margin-right: 6%!important
  }
  .dd-compact-left-large-6 {
    margin-left: 6%!important
  }
  .dd-compact-right-large-6 {
    margin-right: 6%!important
  }
  .dd-compact-large-7 {
    margin-left: 7%!important;
    margin-right: 7%!important
  }
  .dd-compact-left-large-7 {
    margin-left: 7%!important
  }
  .dd-compact-right-large-7 {
    margin-right: 7%!important
  }
  .dd-compact-large-8 {
    margin-left: 8%!important;
    margin-right: 8%!important
  }
  .dd-compact-left-large-8 {
    margin-left: 8%!important
  }
  .dd-compact-right-large-8 {
    margin-right: 8%!important
  }
  .dd-compact-large-9 {
    margin-left: 9%!important;
    margin-right: 9%!important
  }
  .dd-compact-left-large-9 {
    margin-left: 9%!important
  }
  .dd-compact-right-large-9 {
    margin-right: 9%!important
  }
  .dd-compact-large-10 {
    margin-left: 10%!important;
    margin-right: 10%!important
  }
  .dd-compact-left-large-10 {
    margin-left: 10%!important
  }
  .dd-compact-right-large-10 {
    margin-right: 10%!important
  }
  .dd-compact-large-11 {
    margin-left: 11%!important;
    margin-right: 11%!important
  }
  .dd-compact-left-large-11 {
    margin-left: 11%!important
  }
  .dd-compact-right-large-11 {
    margin-right: 11%!important
  }
  .dd-compact-large-12 {
    margin-left: 12%!important;
    margin-right: 12%!important
  }
  .dd-compact-left-large-12 {
    margin-left: 12%!important
  }
  .dd-compact-right-large-12 {
    margin-right: 12%!important
  }
  .dd-compact-large-13 {
    margin-left: 13%!important;
    margin-right: 13%!important
  }
  .dd-compact-left-large-13 {
    margin-left: 13%!important
  }
  .dd-compact-right-large-13 {
    margin-right: 13%!important
  }
  .dd-compact-large-14 {
    margin-left: 14%!important;
    margin-right: 14%!important
  }
  .dd-compact-left-large-14 {
    margin-left: 14%!important
  }
  .dd-compact-right-large-14 {
    margin-right: 14%!important
  }
  .dd-compact-large-15 {
    margin-left: 15%!important;
    margin-right: 15%!important
  }
  .dd-compact-left-large-15 {
    margin-left: 15%!important
  }
  .dd-compact-right-large-15 {
    margin-right: 15%!important
  }
  .dd-compact-large-16 {
    margin-left: 16%!important;
    margin-right: 16%!important
  }
  .dd-compact-left-large-16 {
    margin-left: 16%!important
  }
  .dd-compact-right-large-16 {
    margin-right: 16%!important
  }
  .dd-compact-large-17 {
    margin-left: 17%!important;
    margin-right: 17%!important
  }
  .dd-compact-left-large-17 {
    margin-left: 17%!important
  }
  .dd-compact-right-large-17 {
    margin-right: 17%!important
  }
  .dd-compact-large-18 {
    margin-left: 18%!important;
    margin-right: 18%!important
  }
  .dd-compact-left-large-18 {
    margin-left: 18%!important
  }
  .dd-compact-right-large-18 {
    margin-right: 18%!important
  }
  .dd-compact-large-19 {
    margin-left: 19%!important;
    margin-right: 19%!important
  }
  .dd-compact-left-large-19 {
    margin-left: 19%!important
  }
  .dd-compact-right-large-19 {
    margin-right: 19%!important
  }
  .dd-compact-large-20 {
    margin-left: 20%!important;
    margin-right: 20%!important
  }
  .dd-compact-left-large-20 {
    margin-left: 20%!important
  }
  .dd-compact-right-large-20 {
    margin-right: 20%!important
  }
  .dd-compact-large-21 {
    margin-left: 21%!important;
    margin-right: 21%!important
  }
  .dd-compact-left-large-21 {
    margin-left: 21%!important
  }
  .dd-compact-right-large-21 {
    margin-right: 21%!important
  }
  .dd-compact-large-22 {
    margin-left: 22%!important;
    margin-right: 22%!important
  }
  .dd-compact-left-large-22 {
    margin-left: 22%!important
  }
  .dd-compact-right-large-22 {
    margin-right: 22%!important
  }
  .dd-compact-large-23 {
    margin-left: 23%!important;
    margin-right: 23%!important
  }
  .dd-compact-left-large-23 {
    margin-left: 23%!important
  }
  .dd-compact-right-large-23 {
    margin-right: 23%!important
  }
  .dd-compact-large-24 {
    margin-left: 24%!important;
    margin-right: 24%!important
  }
  .dd-compact-left-large-24 {
    margin-left: 24%!important
  }
  .dd-compact-right-large-24 {
    margin-right: 24%!important
  }
  .dd-compact-large-25 {
    margin-left: 25%!important;
    margin-right: 25%!important
  }
  .dd-compact-left-large-25 {
    margin-left: 25%!important
  }
  .dd-compact-right-large-25 {
    margin-right: 25%!important
  }
  .dd-compact-large-26 {
    margin-left: 26%!important;
    margin-right: 26%!important
  }
  .dd-compact-left-large-26 {
    margin-left: 26%!important
  }
  .dd-compact-right-large-26 {
    margin-right: 26%!important
  }
  .dd-compact-large-27 {
    margin-left: 27%!important;
    margin-right: 27%!important
  }
  .dd-compact-left-large-27 {
    margin-left: 27%!important
  }
  .dd-compact-right-large-27 {
    margin-right: 27%!important
  }
  .dd-compact-large-28 {
    margin-left: 28%!important;
    margin-right: 28%!important
  }
  .dd-compact-left-large-28 {
    margin-left: 28%!important
  }
  .dd-compact-right-large-28 {
    margin-right: 28%!important
  }
  .dd-compact-large-29 {
    margin-left: 29%!important;
    margin-right: 29%!important
  }
  .dd-compact-left-large-29 {
    margin-left: 29%!important
  }
  .dd-compact-right-large-29 {
    margin-right: 29%!important
  }
  .dd-compact-large-30 {
    margin-left: 30%!important;
    margin-right: 30%!important
  }
  .dd-compact-left-large-30 {
    margin-left: 30%!important
  }
  .dd-compact-right-large-30 {
    margin-right: 30%!important
  }
  .dd-compact-large-31 {
    margin-left: 31%!important;
    margin-right: 31%!important
  }
  .dd-compact-left-large-31 {
    margin-left: 31%!important
  }
  .dd-compact-right-large-31 {
    margin-right: 31%!important
  }
  .dd-compact-large-32 {
    margin-left: 32%!important;
    margin-right: 32%!important
  }
  .dd-compact-left-large-32 {
    margin-left: 32%!important
  }
  .dd-compact-right-large-32 {
    margin-right: 32%!important
  }
  .dd-compact-large-33 {
    margin-left: 33%!important;
    margin-right: 33%!important
  }
  .dd-compact-left-large-33 {
    margin-left: 33%!important
  }
  .dd-compact-right-large-33 {
    margin-right: 33%!important
  }
  .dd-compact-large-34 {
    margin-left: 34%!important;
    margin-right: 34%!important
  }
  .dd-compact-left-large-34 {
    margin-left: 34%!important
  }
  .dd-compact-right-large-34 {
    margin-right: 34%!important
  }
  .dd-compact-large-35 {
    margin-left: 35%!important;
    margin-right: 35%!important
  }
  .dd-compact-left-large-35 {
    margin-left: 35%!important
  }
  .dd-compact-right-large-35 {
    margin-right: 35%!important
  }
  .dd-compact-large-36 {
    margin-left: 36%!important;
    margin-right: 36%!important
  }
  .dd-compact-left-large-36 {
    margin-left: 36%!important
  }
  .dd-compact-right-large-36 {
    margin-right: 36%!important
  }
  .dd-compact-large-37 {
    margin-left: 37%!important;
    margin-right: 37%!important
  }
  .dd-compact-left-large-37 {
    margin-left: 37%!important
  }
  .dd-compact-right-large-37 {
    margin-right: 37%!important
  }
  .dd-compact-large-38 {
    margin-left: 38%!important;
    margin-right: 38%!important
  }
  .dd-compact-left-large-38 {
    margin-left: 38%!important
  }
  .dd-compact-right-large-38 {
    margin-right: 38%!important
  }
  .dd-compact-large-39 {
    margin-left: 39%!important;
    margin-right: 39%!important
  }
  .dd-compact-left-large-39 {
    margin-left: 39%!important
  }
  .dd-compact-right-large-39 {
    margin-right: 39%!important
  }
  .dd-compact-large-40 {
    margin-left: 40%!important;
    margin-right: 40%!important
  }
  .dd-compact-left-large-40 {
    margin-left: 40%!important
  }
  .dd-compact-right-large-40 {
    margin-right: 40%!important
  }
  .dd-push-large-1 {
    padding-bottom: 1px!important;
    padding-top: 1px!important
  }
  .dd-push-top-large-1 {
    padding-top: 1px!important
  }
  .dd-push-bottom-large-1 {
    padding-bottom: 1px!important
  }
  .dd-push-large-2 {
    padding-bottom: 2px!important;
    padding-top: 2px!important
  }
  .dd-push-top-large-2 {
    padding-top: 2px!important
  }
  .dd-push-bottom-large-2 {
    padding-bottom: 2px!important
  }
  .dd-push-large-3 {
    padding-bottom: 3px!important;
    padding-top: 3px!important
  }
  .dd-push-top-large-3 {
    padding-top: 3px!important
  }
  .dd-push-bottom-large-3 {
    padding-bottom: 3px!important
  }
  .dd-push-large-4 {
    padding-bottom: 4px!important;
    padding-top: 4px!important
  }
  .dd-push-top-large-4 {
    padding-top: 4px!important
  }
  .dd-push-bottom-large-4 {
    padding-bottom: 4px!important
  }
  .dd-push-large-5 {
    padding-bottom: 5px!important;
    padding-top: 5px!important
  }
  .dd-push-top-large-5 {
    padding-top: 5px!important
  }
  .dd-push-bottom-large-5 {
    padding-bottom: 5px!important
  }
  .dd-push-large-6 {
    padding-bottom: 6px!important;
    padding-top: 6px!important
  }
  .dd-push-top-large-6 {
    padding-top: 6px!important
  }
  .dd-push-bottom-large-6 {
    padding-bottom: 6px!important
  }
  .dd-push-large-7 {
    padding-bottom: 7px!important;
    padding-top: 7px!important
  }
  .dd-push-top-large-7 {
    padding-top: 7px!important
  }
  .dd-push-bottom-large-7 {
    padding-bottom: 7px!important
  }
  .dd-push-large-8 {
    padding-bottom: 8px!important;
    padding-top: 8px!important
  }
  .dd-push-top-large-8 {
    padding-top: 8px!important
  }
  .dd-push-bottom-large-8 {
    padding-bottom: 8px!important
  }
  .dd-push-large-9 {
    padding-bottom: 9px!important;
    padding-top: 9px!important
  }
  .dd-push-top-large-9 {
    padding-top: 9px!important
  }
  .dd-push-bottom-large-9 {
    padding-bottom: 9px!important
  }
  .dd-push-large-10 {
    padding-bottom: 10px!important;
    padding-top: 10px!important
  }
  .dd-push-top-large-10 {
    padding-top: 10px!important
  }
  .dd-push-bottom-large-10 {
    padding-bottom: 10px!important
  }
  .dd-push-large-11 {
    padding-bottom: 11px!important;
    padding-top: 11px!important
  }
  .dd-push-top-large-11 {
    padding-top: 11px!important
  }
  .dd-push-bottom-large-11 {
    padding-bottom: 11px!important
  }
  .dd-push-large-12 {
    padding-bottom: 12px!important;
    padding-top: 12px!important
  }
  .dd-push-top-large-12 {
    padding-top: 12px!important
  }
  .dd-push-bottom-large-12 {
    padding-bottom: 12px!important
  }
  .dd-push-large-13 {
    padding-bottom: 13px!important;
    padding-top: 13px!important
  }
  .dd-push-top-large-13 {
    padding-top: 13px!important
  }
  .dd-push-bottom-large-13 {
    padding-bottom: 13px!important
  }
  .dd-push-large-14 {
    padding-bottom: 14px!important;
    padding-top: 14px!important
  }
  .dd-push-top-large-14 {
    padding-top: 14px!important
  }
  .dd-push-bottom-large-14 {
    padding-bottom: 14px!important
  }
  .dd-push-large-15 {
    padding-bottom: 15px!important;
    padding-top: 15px!important
  }
  .dd-push-top-large-15 {
    padding-top: 15px!important
  }
  .dd-push-bottom-large-15 {
    padding-bottom: 15px!important
  }
  .dd-push-large-16 {
    padding-bottom: 16px!important;
    padding-top: 16px!important
  }
  .dd-push-top-large-16 {
    padding-top: 16px!important
  }
  .dd-push-bottom-large-16 {
    padding-bottom: 16px!important
  }
  .dd-push-large-17 {
    padding-bottom: 17px!important;
    padding-top: 17px!important
  }
  .dd-push-top-large-17 {
    padding-top: 17px!important
  }
  .dd-push-bottom-large-17 {
    padding-bottom: 17px!important
  }
  .dd-push-large-18 {
    padding-bottom: 18px!important;
    padding-top: 18px!important
  }
  .dd-push-top-large-18 {
    padding-top: 18px!important
  }
  .dd-push-bottom-large-18 {
    padding-bottom: 18px!important
  }
  .dd-push-large-19 {
    padding-bottom: 19px!important;
    padding-top: 19px!important
  }
  .dd-push-top-large-19 {
    padding-top: 19px!important
  }
  .dd-push-bottom-large-19 {
    padding-bottom: 19px!important
  }
  .dd-push-large-20 {
    padding-bottom: 20px!important;
    padding-top: 20px!important
  }
  .dd-push-top-large-20 {
    padding-top: 20px!important
  }
  .dd-push-bottom-large-20 {
    padding-bottom: 20px!important
  }
  .dd-push-large-21 {
    padding-bottom: 21px!important;
    padding-top: 21px!important
  }
  .dd-push-top-large-21 {
    padding-top: 21px!important
  }
  .dd-push-bottom-large-21 {
    padding-bottom: 21px!important
  }
  .dd-push-large-22 {
    padding-bottom: 22px!important;
    padding-top: 22px!important
  }
  .dd-push-top-large-22 {
    padding-top: 22px!important
  }
  .dd-push-bottom-large-22 {
    padding-bottom: 22px!important
  }
  .dd-push-large-23 {
    padding-bottom: 23px!important;
    padding-top: 23px!important
  }
  .dd-push-top-large-23 {
    padding-top: 23px!important
  }
  .dd-push-bottom-large-23 {
    padding-bottom: 23px!important
  }
  .dd-push-large-24 {
    padding-bottom: 24px!important;
    padding-top: 24px!important
  }
  .dd-push-top-large-24 {
    padding-top: 24px!important
  }
  .dd-push-bottom-large-24 {
    padding-bottom: 24px!important
  }
  .dd-push-large-25 {
    padding-bottom: 25px!important;
    padding-top: 25px!important
  }
  .dd-push-top-large-25 {
    padding-top: 25px!important
  }
  .dd-push-bottom-large-25 {
    padding-bottom: 25px!important
  }
  .dd-push-right-large-1 {
    padding-right: 1px!important
  }
  .dd-push-left-large-1 {
    padding-left: 1px!important
  }
  .dd-push-right-large-2 {
    padding-right: 2px!important
  }
  .dd-push-left-large-2 {
    padding-left: 2px!important
  }
  .dd-push-right-large-3 {
    padding-right: 3px!important
  }
  .dd-push-left-large-3 {
    padding-left: 3px!important
  }
  .dd-push-right-large-4 {
    padding-right: 4px!important
  }
  .dd-push-left-large-4 {
    padding-left: 4px!important
  }
  .dd-push-right-large-5 {
    padding-right: 5px!important
  }
  .dd-push-left-large-5 {
    padding-left: 5px!important
  }
  .dd-push-right-large-6 {
    padding-right: 6px!important
  }
  .dd-push-left-large-6 {
    padding-left: 6px!important
  }
  .dd-push-right-large-7 {
    padding-right: 7px!important
  }
  .dd-push-left-large-7 {
    padding-left: 7px!important
  }
  .dd-push-right-large-8 {
    padding-right: 8px!important
  }
  .dd-push-left-large-8 {
    padding-left: 8px!important
  }
  .dd-push-right-large-9 {
    padding-right: 9px!important
  }
  .dd-push-left-large-9 {
    padding-left: 9px!important
  }
  .dd-push-right-large-10 {
    padding-right: 10px!important
  }
  .dd-push-left-large-10 {
    padding-left: 10px!important
  }
  .dd-push-right-large-11 {
    padding-right: 11px!important
  }
  .dd-push-left-large-11 {
    padding-left: 11px!important
  }
  .dd-push-right-large-12 {
    padding-right: 12px!important
  }
  .dd-push-left-large-12 {
    padding-left: 12px!important
  }
  .dd-push-right-large-13 {
    padding-right: 13px!important
  }
  .dd-push-left-large-13 {
    padding-left: 13px!important
  }
  .dd-push-right-large-14 {
    padding-right: 14px!important
  }
  .dd-push-left-large-14 {
    padding-left: 14px!important
  }
  .dd-push-right-large-15 {
    padding-right: 15px!important
  }
  .dd-push-left-large-15 {
    padding-left: 15px!important
  }
  .dd-push-right-large-16 {
    padding-right: 16px!important
  }
  .dd-push-left-large-16 {
    padding-left: 16px!important
  }
  .dd-push-right-large-17 {
    padding-right: 17px!important
  }
  .dd-push-left-large-17 {
    padding-left: 17px!important
  }
  .dd-push-right-large-18 {
    padding-right: 18px!important
  }
  .dd-push-left-large-18 {
    padding-left: 18px!important
  }
  .dd-push-right-large-19 {
    padding-right: 19px!important
  }
  .dd-push-left-large-19 {
    padding-left: 19px!important
  }
  .dd-push-right-large-20 {
    padding-right: 20px!important
  }
  .dd-push-left-large-20 {
    padding-left: 20px!important
  }
  .dd-push-right-large-21 {
    padding-right: 21px!important
  }
  .dd-push-left-large-21 {
    padding-left: 21px!important
  }
  .dd-push-right-large-22 {
    padding-right: 22px!important
  }
  .dd-push-left-large-22 {
    padding-left: 22px!important
  }
  .dd-push-right-large-23 {
    padding-right: 23px!important
  }
  .dd-push-left-large-23 {
    padding-left: 23px!important
  }
  .dd-push-right-large-24 {
    padding-right: 24px!important
  }
  .dd-push-left-large-24 {
    padding-left: 24px!important
  }
  .dd-push-right-large-25 {
    padding-right: 25px!important
  }
  .dd-push-left-large-25 {
    padding-left: 25px!important
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-expand-small-1 {
    margin-left: -1%!important;
    margin-right: -1%!important
  }
  .dd-expand-left-small-1 {
    margin-left: -1%!important
  }
  .dd-expand-right-small-1 {
    margin-right: -1%!important
  }
  .dd-expand-small-2 {
    margin-left: -2%!important;
    margin-right: -2%!important
  }
  .dd-expand-left-small-2 {
    margin-left: -2%!important
  }
  .dd-expand-right-small-2 {
    margin-right: -2%!important
  }
  .dd-expand-small-3 {
    margin-left: -3%!important;
    margin-right: -3%!important
  }
  .dd-expand-left-small-3 {
    margin-left: -3%!important
  }
  .dd-expand-right-small-3 {
    margin-right: -3%!important
  }
  .dd-expand-small-4 {
    margin-left: -4%!important;
    margin-right: -4%!important
  }
  .dd-expand-left-small-4 {
    margin-left: -4%!important
  }
  .dd-expand-right-small-4 {
    margin-right: -4%!important
  }
  .dd-expand-small-5 {
    margin-left: -5%!important;
    margin-right: -5%!important
  }
  .dd-expand-left-small-5 {
    margin-left: -5%!important
  }
  .dd-expand-right-small-5 {
    margin-right: -5%!important
  }
  .dd-expand-small-6 {
    margin-left: -6%!important;
    margin-right: -6%!important
  }
  .dd-expand-left-small-6 {
    margin-left: -6%!important
  }
  .dd-expand-right-small-6 {
    margin-right: -6%!important
  }
  .dd-compact-small-1 {
    margin-left: 1%!important;
    margin-right: 1%!important
  }
  .dd-compact-left-small-1 {
    margin-left: 1%!important
  }
  .dd-compact-right-small-1 {
    margin-right: 1%!important
  }
  .dd-compact-small-2 {
    margin-left: 2%!important;
    margin-right: 2%!important
  }
  .dd-compact-left-small-2 {
    margin-left: 2%!important
  }
  .dd-compact-right-small-2 {
    margin-right: 2%!important
  }
  .dd-compact-small-3 {
    margin-left: 3%!important;
    margin-right: 3%!important
  }
  .dd-compact-left-small-3 {
    margin-left: 3%!important
  }
  .dd-compact-right-small-3 {
    margin-right: 3%!important
  }
  .dd-compact-small-4 {
    margin-left: 4%!important;
    margin-right: 4%!important
  }
  .dd-compact-left-small-4 {
    margin-left: 4%!important
  }
  .dd-compact-right-small-4 {
    margin-right: 4%!important
  }
  .dd-compact-small-5 {
    margin-left: 5%!important;
    margin-right: 5%!important
  }
  .dd-compact-left-small-5 {
    margin-left: 5%!important
  }
  .dd-compact-right-small-5 {
    margin-right: 5%!important
  }
  .dd-compact-small-6 {
    margin-left: 6%!important;
    margin-right: 6%!important
  }
  .dd-compact-left-small-6 {
    margin-left: 6%!important
  }
  .dd-compact-right-small-6 {
    margin-right: 6%!important
  }
  .dd-compact-small-7 {
    margin-left: 7%!important;
    margin-right: 7%!important
  }
  .dd-compact-left-small-7 {
    margin-left: 7%!important
  }
  .dd-compact-right-small-7 {
    margin-right: 7%!important
  }
  .dd-compact-small-8 {
    margin-left: 8%!important;
    margin-right: 8%!important
  }
  .dd-compact-left-small-8 {
    margin-left: 8%!important
  }
  .dd-compact-right-small-8 {
    margin-right: 8%!important
  }
  .dd-compact-small-9 {
    margin-left: 9%!important;
    margin-right: 9%!important
  }
  .dd-compact-left-small-9 {
    margin-left: 9%!important
  }
  .dd-compact-right-small-9 {
    margin-right: 9%!important
  }
  .dd-compact-small-10 {
    margin-left: 10%!important;
    margin-right: 10%!important
  }
  .dd-compact-left-small-10 {
    margin-left: 10%!important
  }
  .dd-compact-right-small-10 {
    margin-right: 10%!important
  }
  .dd-compact-small-11 {
    margin-left: 11%!important;
    margin-right: 11%!important
  }
  .dd-compact-left-small-11 {
    margin-left: 11%!important
  }
  .dd-compact-right-small-11 {
    margin-right: 11%!important
  }
  .dd-compact-small-12 {
    margin-left: 12%!important;
    margin-right: 12%!important
  }
  .dd-compact-left-small-12 {
    margin-left: 12%!important
  }
  .dd-compact-right-small-12 {
    margin-right: 12%!important
  }
  .dd-compact-small-13 {
    margin-left: 13%!important;
    margin-right: 13%!important
  }
  .dd-compact-left-small-13 {
    margin-left: 13%!important
  }
  .dd-compact-right-small-13 {
    margin-right: 13%!important
  }
  .dd-compact-small-14 {
    margin-left: 14%!important;
    margin-right: 14%!important
  }
  .dd-compact-left-small-14 {
    margin-left: 14%!important
  }
  .dd-compact-right-small-14 {
    margin-right: 14%!important
  }
  .dd-compact-small-15 {
    margin-left: 15%!important;
    margin-right: 15%!important
  }
  .dd-compact-left-small-15 {
    margin-left: 15%!important
  }
  .dd-compact-right-small-15 {
    margin-right: 15%!important
  }
  .dd-compact-small-16 {
    margin-left: 16%!important;
    margin-right: 16%!important
  }
  .dd-compact-left-small-16 {
    margin-left: 16%!important
  }
  .dd-compact-right-small-16 {
    margin-right: 16%!important
  }
  .dd-compact-small-17 {
    margin-left: 17%!important;
    margin-right: 17%!important
  }
  .dd-compact-left-small-17 {
    margin-left: 17%!important
  }
  .dd-compact-right-small-17 {
    margin-right: 17%!important
  }
  .dd-compact-small-18 {
    margin-left: 18%!important;
    margin-right: 18%!important
  }
  .dd-compact-left-small-18 {
    margin-left: 18%!important
  }
  .dd-compact-right-small-18 {
    margin-right: 18%!important
  }
  .dd-compact-small-19 {
    margin-left: 19%!important;
    margin-right: 19%!important
  }
  .dd-compact-left-small-19 {
    margin-left: 19%!important
  }
  .dd-compact-right-small-19 {
    margin-right: 19%!important
  }
  .dd-compact-small-20 {
    margin-left: 20%!important;
    margin-right: 20%!important
  }
  .dd-compact-left-small-20 {
    margin-left: 20%!important
  }
  .dd-compact-right-small-20 {
    margin-right: 20%!important
  }
  .dd-compact-small-21 {
    margin-left: 21%!important;
    margin-right: 21%!important
  }
  .dd-compact-left-small-21 {
    margin-left: 21%!important
  }
  .dd-compact-right-small-21 {
    margin-right: 21%!important
  }
  .dd-compact-small-22 {
    margin-left: 22%!important;
    margin-right: 22%!important
  }
  .dd-compact-left-small-22 {
    margin-left: 22%!important
  }
  .dd-compact-right-small-22 {
    margin-right: 22%!important
  }
  .dd-compact-small-23 {
    margin-left: 23%!important;
    margin-right: 23%!important
  }
  .dd-compact-left-small-23 {
    margin-left: 23%!important
  }
  .dd-compact-right-small-23 {
    margin-right: 23%!important
  }
  .dd-compact-small-24 {
    margin-left: 24%!important;
    margin-right: 24%!important
  }
  .dd-compact-left-small-24 {
    margin-left: 24%!important
  }
  .dd-compact-right-small-24 {
    margin-right: 24%!important
  }
  .dd-compact-small-25 {
    margin-left: 25%!important;
    margin-right: 25%!important
  }
  .dd-compact-left-small-25 {
    margin-left: 25%!important
  }
  .dd-compact-right-small-25 {
    margin-right: 25%!important
  }
  .dd-compact-small-26 {
    margin-left: 26%!important;
    margin-right: 26%!important
  }
  .dd-compact-left-small-26 {
    margin-left: 26%!important
  }
  .dd-compact-right-small-26 {
    margin-right: 26%!important
  }
  .dd-compact-small-27 {
    margin-left: 27%!important;
    margin-right: 27%!important
  }
  .dd-compact-left-small-27 {
    margin-left: 27%!important
  }
  .dd-compact-right-small-27 {
    margin-right: 27%!important
  }
  .dd-compact-small-28 {
    margin-left: 28%!important;
    margin-right: 28%!important
  }
  .dd-compact-left-small-28 {
    margin-left: 28%!important
  }
  .dd-compact-right-small-28 {
    margin-right: 28%!important
  }
  .dd-compact-small-29 {
    margin-left: 29%!important;
    margin-right: 29%!important
  }
  .dd-compact-left-small-29 {
    margin-left: 29%!important
  }
  .dd-compact-right-small-29 {
    margin-right: 29%!important
  }
  .dd-compact-small-30 {
    margin-left: 30%!important;
    margin-right: 30%!important
  }
  .dd-compact-left-small-30 {
    margin-left: 30%!important
  }
  .dd-compact-right-small-30 {
    margin-right: 30%!important
  }
  .dd-compact-small-31 {
    margin-left: 31%!important;
    margin-right: 31%!important
  }
  .dd-compact-left-small-31 {
    margin-left: 31%!important
  }
  .dd-compact-right-small-31 {
    margin-right: 31%!important
  }
  .dd-compact-small-32 {
    margin-left: 32%!important;
    margin-right: 32%!important
  }
  .dd-compact-left-small-32 {
    margin-left: 32%!important
  }
  .dd-compact-right-small-32 {
    margin-right: 32%!important
  }
  .dd-compact-small-33 {
    margin-left: 33%!important;
    margin-right: 33%!important
  }
  .dd-compact-left-small-33 {
    margin-left: 33%!important
  }
  .dd-compact-right-small-33 {
    margin-right: 33%!important
  }
  .dd-compact-small-34 {
    margin-left: 34%!important;
    margin-right: 34%!important
  }
  .dd-compact-left-small-34 {
    margin-left: 34%!important
  }
  .dd-compact-right-small-34 {
    margin-right: 34%!important
  }
  .dd-compact-small-35 {
    margin-left: 35%!important;
    margin-right: 35%!important
  }
  .dd-compact-left-small-35 {
    margin-left: 35%!important
  }
  .dd-compact-right-small-35 {
    margin-right: 35%!important
  }
  .dd-compact-small-36 {
    margin-left: 36%!important;
    margin-right: 36%!important
  }
  .dd-compact-left-small-36 {
    margin-left: 36%!important
  }
  .dd-compact-right-small-36 {
    margin-right: 36%!important
  }
  .dd-compact-small-37 {
    margin-left: 37%!important;
    margin-right: 37%!important
  }
  .dd-compact-left-small-37 {
    margin-left: 37%!important
  }
  .dd-compact-right-small-37 {
    margin-right: 37%!important
  }
  .dd-compact-small-38 {
    margin-left: 38%!important;
    margin-right: 38%!important
  }
  .dd-compact-left-small-38 {
    margin-left: 38%!important
  }
  .dd-compact-right-small-38 {
    margin-right: 38%!important
  }
  .dd-compact-small-39 {
    margin-left: 39%!important;
    margin-right: 39%!important
  }
  .dd-compact-left-small-39 {
    margin-left: 39%!important
  }
  .dd-compact-right-small-39 {
    margin-right: 39%!important
  }
  .dd-compact-small-40 {
    margin-left: 40%!important;
    margin-right: 40%!important
  }
  .dd-compact-left-small-40 {
    margin-left: 40%!important
  }
  .dd-compact-right-small-40 {
    margin-right: 40%!important
  }
  .dd-push-small-1 {
    padding-bottom: 1px!important;
    padding-top: 1px!important
  }
  .dd-push-top-small-1 {
    padding-top: 1px!important
  }
  .dd-push-bottom-small-1 {
    padding-bottom: 1px!important
  }
  .dd-push-small-2 {
    padding-bottom: 2px!important;
    padding-top: 2px!important
  }
  .dd-push-top-small-2 {
    padding-top: 2px!important
  }
  .dd-push-bottom-small-2 {
    padding-bottom: 2px!important
  }
  .dd-push-small-3 {
    padding-bottom: 3px!important;
    padding-top: 3px!important
  }
  .dd-push-top-small-3 {
    padding-top: 3px!important
  }
  .dd-push-bottom-small-3 {
    padding-bottom: 3px!important
  }
  .dd-push-small-4 {
    padding-bottom: 4px!important;
    padding-top: 4px!important
  }
  .dd-push-top-small-4 {
    padding-top: 4px!important
  }
  .dd-push-bottom-small-4 {
    padding-bottom: 4px!important
  }
  .dd-push-small-5 {
    padding-bottom: 5px!important;
    padding-top: 5px!important
  }
  .dd-push-top-small-5 {
    padding-top: 5px!important
  }
  .dd-push-bottom-small-5 {
    padding-bottom: 5px!important
  }
  .dd-push-small-6 {
    padding-bottom: 6px!important;
    padding-top: 6px!important
  }
  .dd-push-top-small-6 {
    padding-top: 6px!important
  }
  .dd-push-bottom-small-6 {
    padding-bottom: 6px!important
  }
  .dd-push-small-7 {
    padding-bottom: 7px!important;
    padding-top: 7px!important
  }
  .dd-push-top-small-7 {
    padding-top: 7px!important
  }
  .dd-push-bottom-small-7 {
    padding-bottom: 7px!important
  }
  .dd-push-small-8 {
    padding-bottom: 8px!important;
    padding-top: 8px!important
  }
  .dd-push-top-small-8 {
    padding-top: 8px!important
  }
  .dd-push-bottom-small-8 {
    padding-bottom: 8px!important
  }
  .dd-push-small-9 {
    padding-bottom: 9px!important;
    padding-top: 9px!important
  }
  .dd-push-top-small-9 {
    padding-top: 9px!important
  }
  .dd-push-bottom-small-9 {
    padding-bottom: 9px!important
  }
  .dd-push-small-10 {
    padding-bottom: 10px!important;
    padding-top: 10px!important
  }
  .dd-push-top-small-10 {
    padding-top: 10px!important
  }
  .dd-push-bottom-small-10 {
    padding-bottom: 10px!important
  }
  .dd-push-small-11 {
    padding-bottom: 11px!important;
    padding-top: 11px!important
  }
  .dd-push-top-small-11 {
    padding-top: 11px!important
  }
  .dd-push-bottom-small-11 {
    padding-bottom: 11px!important
  }
  .dd-push-small-12 {
    padding-bottom: 12px!important;
    padding-top: 12px!important
  }
  .dd-push-top-small-12 {
    padding-top: 12px!important
  }
  .dd-push-bottom-small-12 {
    padding-bottom: 12px!important
  }
  .dd-push-small-13 {
    padding-bottom: 13px!important;
    padding-top: 13px!important
  }
  .dd-push-top-small-13 {
    padding-top: 13px!important
  }
  .dd-push-bottom-small-13 {
    padding-bottom: 13px!important
  }
  .dd-push-small-14 {
    padding-bottom: 14px!important;
    padding-top: 14px!important
  }
  .dd-push-top-small-14 {
    padding-top: 14px!important
  }
  .dd-push-bottom-small-14 {
    padding-bottom: 14px!important
  }
  .dd-push-small-15 {
    padding-bottom: 15px!important;
    padding-top: 15px!important
  }
  .dd-push-top-small-15 {
    padding-top: 15px!important
  }
  .dd-push-bottom-small-15 {
    padding-bottom: 15px!important
  }
  .dd-push-small-16 {
    padding-bottom: 16px!important;
    padding-top: 16px!important
  }
  .dd-push-top-small-16 {
    padding-top: 16px!important
  }
  .dd-push-bottom-small-16 {
    padding-bottom: 16px!important
  }
  .dd-push-small-17 {
    padding-bottom: 17px!important;
    padding-top: 17px!important
  }
  .dd-push-top-small-17 {
    padding-top: 17px!important
  }
  .dd-push-bottom-small-17 {
    padding-bottom: 17px!important
  }
  .dd-push-small-18 {
    padding-bottom: 18px!important;
    padding-top: 18px!important
  }
  .dd-push-top-small-18 {
    padding-top: 18px!important
  }
  .dd-push-bottom-small-18 {
    padding-bottom: 18px!important
  }
  .dd-push-small-19 {
    padding-bottom: 19px!important;
    padding-top: 19px!important
  }
  .dd-push-top-small-19 {
    padding-top: 19px!important
  }
  .dd-push-bottom-small-19 {
    padding-bottom: 19px!important
  }
  .dd-push-small-20 {
    padding-bottom: 20px!important;
    padding-top: 20px!important
  }
  .dd-push-top-small-20 {
    padding-top: 20px!important
  }
  .dd-push-bottom-small-20 {
    padding-bottom: 20px!important
  }
  .dd-push-small-21 {
    padding-bottom: 21px!important;
    padding-top: 21px!important
  }
  .dd-push-top-small-21 {
    padding-top: 21px!important
  }
  .dd-push-bottom-small-21 {
    padding-bottom: 21px!important
  }
  .dd-push-small-22 {
    padding-bottom: 22px!important;
    padding-top: 22px!important
  }
  .dd-push-top-small-22 {
    padding-top: 22px!important
  }
  .dd-push-bottom-small-22 {
    padding-bottom: 22px!important
  }
  .dd-push-small-23 {
    padding-bottom: 23px!important;
    padding-top: 23px!important
  }
  .dd-push-top-small-23 {
    padding-top: 23px!important
  }
  .dd-push-bottom-small-23 {
    padding-bottom: 23px!important
  }
  .dd-push-small-24 {
    padding-bottom: 24px!important;
    padding-top: 24px!important
  }
  .dd-push-top-small-24 {
    padding-top: 24px!important
  }
  .dd-push-bottom-small-24 {
    padding-bottom: 24px!important
  }
  .dd-push-small-25 {
    padding-bottom: 25px!important;
    padding-top: 25px!important
  }
  .dd-push-top-small-25 {
    padding-top: 25px!important
  }
  .dd-push-bottom-small-25 {
    padding-bottom: 25px!important
  }
  .dd-push-right-small-1 {
    padding-right: 1px!important
  }
  .dd-push-left-small-1 {
    padding-left: 1px!important
  }
  .dd-push-right-small-2 {
    padding-right: 2px!important
  }
  .dd-push-left-small-2 {
    padding-left: 2px!important
  }
  .dd-push-right-small-3 {
    padding-right: 3px!important
  }
  .dd-push-left-small-3 {
    padding-left: 3px!important
  }
  .dd-push-right-small-4 {
    padding-right: 4px!important
  }
  .dd-push-left-small-4 {
    padding-left: 4px!important
  }
  .dd-push-right-small-5 {
    padding-right: 5px!important
  }
  .dd-push-left-small-5 {
    padding-left: 5px!important
  }
  .dd-push-right-small-6 {
    padding-right: 6px!important
  }
  .dd-push-left-small-6 {
    padding-left: 6px!important
  }
  .dd-push-right-small-7 {
    padding-right: 7px!important
  }
  .dd-push-left-small-7 {
    padding-left: 7px!important
  }
  .dd-push-right-small-8 {
    padding-right: 8px!important
  }
  .dd-push-left-small-8 {
    padding-left: 8px!important
  }
  .dd-push-right-small-9 {
    padding-right: 9px!important
  }
  .dd-push-left-small-9 {
    padding-left: 9px!important
  }
  .dd-push-right-small-10 {
    padding-right: 10px!important
  }
  .dd-push-left-small-10 {
    padding-left: 10px!important
  }
  .dd-push-right-small-11 {
    padding-right: 11px!important
  }
  .dd-push-left-small-11 {
    padding-left: 11px!important
  }
  .dd-push-right-small-12 {
    padding-right: 12px!important
  }
  .dd-push-left-small-12 {
    padding-left: 12px!important
  }
  .dd-push-right-small-13 {
    padding-right: 13px!important
  }
  .dd-push-left-small-13 {
    padding-left: 13px!important
  }
  .dd-push-right-small-14 {
    padding-right: 14px!important
  }
  .dd-push-left-small-14 {
    padding-left: 14px!important
  }
  .dd-push-right-small-15 {
    padding-right: 15px!important
  }
  .dd-push-left-small-15 {
    padding-left: 15px!important
  }
  .dd-push-right-small-16 {
    padding-right: 16px!important
  }
  .dd-push-left-small-16 {
    padding-left: 16px!important
  }
  .dd-push-right-small-17 {
    padding-right: 17px!important
  }
  .dd-push-left-small-17 {
    padding-left: 17px!important
  }
  .dd-push-right-small-18 {
    padding-right: 18px!important
  }
  .dd-push-left-small-18 {
    padding-left: 18px!important
  }
  .dd-push-right-small-19 {
    padding-right: 19px!important
  }
  .dd-push-left-small-19 {
    padding-left: 19px!important
  }
  .dd-push-right-small-20 {
    padding-right: 20px!important
  }
  .dd-push-left-small-20 {
    padding-left: 20px!important
  }
  .dd-push-right-small-21 {
    padding-right: 21px!important
  }
  .dd-push-left-small-21 {
    padding-left: 21px!important
  }
  .dd-push-right-small-22 {
    padding-right: 22px!important
  }
  .dd-push-left-small-22 {
    padding-left: 22px!important
  }
  .dd-push-right-small-23 {
    padding-right: 23px!important
  }
  .dd-push-left-small-23 {
    padding-left: 23px!important
  }
  .dd-push-right-small-24 {
    padding-right: 24px!important
  }
  .dd-push-left-small-24 {
    padding-left: 24px!important
  }
  .dd-push-right-small-25 {
    padding-right: 25px!important
  }
  .dd-push-left-small-25 {
    padding-left: 25px!important
  }
}
.dd-glyph-gray {
  color: #1d1d1f
}
.dd-glyph-gray-secondary {
  color: #6e6e73
}
.dd-glyph-gray-secondary-alt {
  color: #424245
}
.dd-glyph-gray-tertiary {
  color: #86868b
}
.dd-glyph-white {
  color: #fff
}
.dd-fill {
  background-color: #fff;
  --ribbon-background-color: white
}
.dd-fill-secondary {
  background-color: #fbfbfd;
  --ribbon-background-color: #fbfbfd
}
.dd-fill-tertiary {
  background-color: #f5f5f7;
  --ribbon-background-color: #f5f5f7
}
.dd-fill-gray {
  background-color: #1d1d1f;
  --ribbon-background-color: #1d1d1f
}
.dd-fill-gray-secondary {
  background-color: #86868b;
  --ribbon-background-color: #86868b
}
.dd-fill-gray-tertiary {
  background-color: #d2d2d7;
  --ribbon-background-color: #d2d2d7
}
.dd-fill-gray-quaternary {
  background-color: #e8e8ed;
  --ribbon-background-color: #e8e8ed
}
.dd-fill-black {
  background-color: #000;
  --ribbon-background-color: black
}
.dd-fill-background {
  background-color: #fafafa
}
.dd-fill-backgroundfooter {
  background-color: #f2f2f2
}
.tw-semibold {
  font-weight: 600
}
.dd-grid div.row,
.dd-grid ol.row,
.dd-grid ul.row {
  margin-left: auto
}
.dd-grid div.column,
.dd-grid li.column {
  display: flex;
  list-style-type: none
}
.dd-grid .dd-wrapper {
  display: flex;
  box-sizing: border-box;
  padding: 5px;
  width: 100%
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-grid .dd-wrapper {
    padding-left: 0;
    padding-right: 0
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-grid .column.small-12 .dd-wrapper {
    padding-left: 0;
    padding-right: 0
  }
}
.dd-grid .dd-content {
  width: 100%
}
.dd-grid .dd-content[data-trigger-click] {
  cursor: pointer
}
.dd-grid .dd-content:hover a[data-dd-link] {
  text-decoration: underline
}
.dd-ops-devices .dd-info {
  text-align: center;
  width: 842px;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 43px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-info {
    text-align: initial;
    width: initial;
    padding-top: 59px;
    padding-bottom: 23px
  }
}
.dd-ops-devices .dd-tiles {
  margin-top: 18px;
  margin-bottom: 10px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles {
    margin-bottom: 24px
  }
}
.dd-ops-devices .dd-tiles ul.row {
  margin-left: auto
}
.dd-ops-devices .dd-tiles li.column {
  display: flex;
  list-style-type: none
}
.dd-ops-devices .dd-tiles .dd-wrapper {
  padding: 5px;
  box-sizing: border-box
}
.dd-ops-devices .dd-tiles .column:nth-child(3),
.dd-ops-devices .dd-tiles .column:nth-child(4) {
  margin-top: -20px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .column:nth-child(3),
  .dd-ops-devices .dd-tiles .column:nth-child(4) {
    margin-top: initial
  }
}
.dd-ops-devices .dd-tiles .column:nth-child(odd) .dd-wrapper {
  padding-right: 20px;
  padding-left: 80px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .column:nth-child(odd) .dd-wrapper {
    padding-left: 0;
    padding-right: 0
  }
}
.dd-ops-devices .dd-tiles .column:nth-child(even) .dd-wrapper {
  padding-left: 20px;
  padding-right: 80px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .column:nth-child(even) .dd-wrapper {
    padding-left: 0;
    padding-right: 0
  }
}
.dd-ops-devices .dd-tiles .dd-wrapper {
  display: flex;
  padding-bottom: 50px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .dd-wrapper {
    padding-bottom: 25px
  }
}
.dd-ops-devices .dd-tiles .dd-content {
  background-color: #fff;
  border-radius: 20px;
  padding: 50px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .dd-content {
    padding: 30px
  }
}
.dd-ops-devices .dd-tiles .dd-tile-image {
  height: 110px;
  display: flex;
  align-items: center
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .dd-tile-image {
    height: 110px
  }
}
.dd-ops-devices .dd-tiles .dd-tile-hero {
  position: relative;
  top: -19px;
  vertical-align: bottom
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-tiles .dd-tile-hero {
    top: -15px
  }
}
.dd-ops-devices .dd-ax-info {
  width: 337px;
  padding-top: 45px;
  padding-bottom: 25px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-ax-info {
    width: initial;
    padding-bottom: 30px
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-ax-image {
    display: flex;
    justify-content: center
  }
}
.dd-ops-devices .dd-ax-hero {
  margin-left: 88px;
  vertical-align: bottom
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-ax-hero {
    margin-left: initial;
    height: auto
  }
}
.dd-ops-devices .dd-ax .column + .column {
  display: flex;
  margin-left: 69px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-devices .dd-ax .column + .column {
    margin-left: initial
  }
}
.dd-ops-header .dd-info {
  text-align: center;
  padding-top: 60px;
  padding-bottom: 78px;
  width: 715px;
  margin: auto
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-header .dd-info {
    text-align: initial;
    width: initial;
    padding-top: 52px;
    padding-bottom: 9px
  }
}
.dd-ops-header .dd-image {
  display: flex;
  justify-content: center
}
.dd-ops-purchase .dd-info {
  text-align: center;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 64px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase .dd-info {
    text-align: initial;
    width: initial;
    padding-top: 59px;
    padding-bottom: 28px
  }
}
.dd-ops-purchase .dd-shop {
  padding-bottom: 80px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase .dd-shop {
    padding-bottom: 40px
  }
}
.dd-ops-purchase ul.row {
  margin-left: 0
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase ul.row {
    margin-left: initial
  }
}
.dd-ops-purchase li.column {
  list-style-type: none
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase .column:nth-child(3),
  .dd-ops-purchase .column:nth-child(4) {
    margin-top: 28px
  }
}
.dd-ops-purchase .dd-item {
  text-align: center
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase .dd-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start
  }
}
.dd-ops-purchase .dd-image {
  min-height: 65px;
  padding-bottom: 16px;
  display: flex;
  align-items: flex-end;
  justify-content: center
}
.dd-ops-purchase .dd-schedule {
  text-align: center;
  padding-bottom: 80px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-purchase .dd-schedule {
    text-align: initial;
    padding-bottom: 60px
  }
}
.dd-ops-purchase .dd-schedule .t-body > a {
  text-decoration: underline
}
.dd-ops-sessions .dd-info,
.dd-ops-sessions .dd-schedule {
  text-align: center
}
.dd-ops-sessions .dd-info {
  padding-top: 80px;
  padding-bottom: 34px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-info {
    padding-top: 55px;
    padding-bottom: 44px;
    text-align: left
  }
}
.dd-ops-sessions .dd-schedule {
  padding: 50px 0
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-schedule {
    padding: 50px 0 67px
  }
}
.dd-ops-sessions .dd-schedule p > a {
  text-decoration: underline
}
.dd-ops-sessions .dd-grid {
  width: 822px;
  margin: auto
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid {
    width: auto
  }
}
.dd-ops-sessions .dd-grid .dd-content {
  background-color: #fff;
  border-radius: 18px;
  overflow: hidden
}
.dd-ops-sessions .dd-grid .dd-grid-info {
  padding: 40px 0 40px 30px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .dd-grid-info {
    padding: 56px 32px 12px
  }
}
.dd-ops-sessions .dd-grid .column:nth-child(1) .dd-wrapper {
  padding-right: 17px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .column:nth-child(1) .dd-wrapper {
    padding-right: 0
  }
}
.dd-ops-sessions .dd-grid .column:nth-child(2) .dd-wrapper {
  padding-left: 17px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .column:nth-child(2) .dd-wrapper {
    padding-left: 0
  }
}
.dd-ops-sessions .dd-grid .column:nth-child(3) .dd-wrapper {
  padding-top: 34px
}
.dd-ops-sessions .dd-grid .column:nth-child(3) .dd-wrapper .dd-content {
  display: flex
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .column:nth-child(3) .dd-wrapper .dd-content {
    display: block
  }
}
.dd-ops-sessions .dd-grid .column:nth-child(3) .dd-wrapper .dd-hero {
  position: relative;
  right: -14px
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .column:nth-child(3) .dd-wrapper .dd-hero {
    right: 8px
  }
}
@media only screen and (max-width:1023px) and (max-device-width:736px) {
  .dd-ops-sessions .dd-grid .column + .column .dd-wrapper {
    padding-top: 14px
  }
}
.dd-l-plate .dd-hero {
  vertical-align: bottom
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9tb2R1bGVzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvY29yZS9fbG9jYWxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvY29yZS9fbWVkaWEuc2NzcyIsInBhZ2VzL3Byb2dyYW0vcGVyc29uYWwtc2Vzc2lvbi5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvbW9kdWxlcy90eXBvZ3JhcGh5L19jb3JlLnNjc3MiLCIwMi1iYXNlL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL192aWV3cG9ydHMuc2NzcyIsIjA0LWdsb2JhbHMvX2JpbGxib2FyZHMuc2NzcyIsIjA1LXV0aWxpdGllcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiMDUtdXRpbGl0aWVzL19hbGlnbm1lbnRzLnNjc3MiLCIwNS11dGlsaXRpZXMvX3B1c2gtZXhwYW5kLWNvbXBhY3Quc2NzcyIsIjA1LXV0aWxpdGllcy9fc3dhdGNoLWNvbG9ycy5zY3NzIiwiMDUtdXRpbGl0aWVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvY29yZS9fZm9udHMuc2NzcyIsIjA0LWdsb2JhbHMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvcHJvZ3JhbXMvcGVyc29uYWwtc2Vzc2lvbi9vdmVydmlldy9faW5wYWdlLWRldmljZXMuc2NzcyIsImNvbXBvbmVudHMvcHJvZ3JhbXMvcGVyc29uYWwtc2Vzc2lvbi9vdmVydmlldy9faW5wYWdlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9wcm9ncmFtcy9wZXJzb25hbC1zZXNzaW9uL292ZXJ2aWV3L19pbnBhZ2UtcHVyY2hhc2Uuc2NzcyIsImNvbXBvbmVudHMvcHJvZ3JhbXMvcGVyc29uYWwtc2Vzc2lvbi9vdmVydmlldy9faW5wYWdlLXNlc3Npb25zLnNjc3MiLCJwYWdlcy9wcm9ncmFtL3BlcnNvbmFsLXNlc3Npb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBWUc7QUMwaEJBLFdBQUE7QUFBQSxhQUFBO0FBQUEsYUFBQTtBQUFBLGdCQUFBO0FBQUEsYUFBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxnQkFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLG1CQUFBLENBQUEsZ0JBQUEsQ0FBQSxhQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGdCQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsMEJBQUEsQ0FBQSxlQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxVQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsZ0JBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxjQUFBLENBQUEsVUFBQSxDQUFBLFlBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGdCQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUUzWUQ7QUgvSUM7QUMwaEJBLFdBQUE7QUFBQSxhQUFBO0FBQUEsYUFBQTtBQUFBLGdCQUFBO0FBQUEsYUFBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxtQkFBQSxDQUFBLGdCQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSwwQkFBQSxDQUFBLGVBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFVBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxjQUFBLENBQUEsVUFBQSxDQUFBLFlBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7OztBRDFoQkE7QUMwaEJBLFdBQUE7QUFBQSxhQUFBO0FBQUEsYUFBQTtBQUFBLGdCQUFBO0FBQUEsYUFBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxtQkFBQSxDQUFBLGdCQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSwwQkFBQSxDQUFBLGVBQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLFVBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUE7QUFBQSxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxjQUFBLENBQUEsVUFBQSxDQUFBLFlBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FEMWhCQTtBQzBoQkEsV0FBQTtBQUFBLGFBQUE7QUFBQSxhQUFBO0FBQUEsZ0JBQUE7QUFBQSxhQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGNBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLFVBQUEsQ0FBQSxZQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxtQkFBQSxDQUFBLGdCQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLDBCQUFBLENBQUEsZUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsVUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FDeFdEO0FEd1dDLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGFBQUEsQ0FBQSxnQkFBQSxDQUFBLFNBQUEsQ0FBQSxLQUFBLENBQUE7O0FFM1lEO0FIL0lDO0FDMGhCQSxXQUFBO0FBQUEsYUFBQTtBQUFBLGFBQUE7QUFBQSxnQkFBQTtBQUFBLGFBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsMEJBQUEsQ0FBQSxlQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxVQUFBLENBQUEsZ0JB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QUFBQSxhQUFBO0FBQUEsZ0JBQUE7QUFBQSxhQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLG1CQUFBLENBQUEsZ0JBQUEsQ0FBQSxhQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLDBCQUFBLENBQUEsZUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsVUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGNBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLFVBQUEsQ0FBQSxZQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7O0FEMWhCQTtBQzBoQkEsV0FBQTtBQUFBLGFBQUE7QUFBQSxhQUFBO0FBQUEsZ0JBQUE7QUFBQSxhQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLG1CQUFBLENBQUEsZ0JBQUEsQ0FBQSxhQUFBLENBQUEsY0FBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLDBCQUFBLENBQUEsZUFBQSxDQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsVUFBQSxDQUFBLGdCQUFBLENBQUEsU0FBQSxDQUFBLEtBQUEsQ0FBQTs7QUN4V0Q7QUR3V0MsYUFBQTtBQUFBLGFBQUEsV0FBQSxDQUFBLGdCQUFBLENBQUEsY0FBQSxDQUFBLGNBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLFVBQUEsQ0FBQSxZQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBO0FBQUEsYUFBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxnQkFBQSxDQUFBLGNBQUEsQ0FBQSxhQUFBLENBQUEsZ0JBQUEsQ0FBQSxTQUFBLENBQUEsS0FBQSxDQUFBOztBQ3hXRDtBRHdXQyxhQUFBLFdBQUEsQ0FBQSxXQUFBLENBQUEsZ0JBQUEsQ0FBQSxjQUFBLENBQUEsYUFBQSxDQUFBLGdC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QUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBc0JGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQVJGO0FBQ0UsZ0JBQUE7QUFDQSxhQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGdCQUFBOztBQUlGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7OztBUnNGSjtBUXJIRTtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBUkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxjQUFBOztBQVJGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBRUY7QUFDRSxhQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFSRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUVGO0FBQ0UsYUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBUkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxjQUFBOztBQVJGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBRUY7QUFDRSxhQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUF6QkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQVZGO0FBQ0UsYUFBQTtBQUNBLGNBQUE7O0FBR0Y7QUFDRSxhQUFBOztBQUdGO0FBQ0UsY0FBQTs7QUFWRjtBQUNFLGFBQUE7QUFDQSxjQUFBOztBQUdGO0FBQ0UsYUFBQTs7QUFHRjtBQUNFLGNBQUE7O0FBVkY7QUFDRSxhQUFBO0FBQ0EsY0FBQTs7QUFHRjtBQUNFLGFBQUE7O0FBR0Y7QUFDRSxjQUFBOztBQXNCRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFSRjtBQUNFLGdCQUFBO0FBQ0EsYUFBQTs7QUFFRjtBQUNFLGFBQUE7O0FBRUY7QUFDRSxnQkFBQTs7QUFJRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7QUFKRjtBQUNFLGVBQUE7O0FBRUY7QUFDRSxjQUFBOztBQUpGO0FBQ0UsZUFBQTs7QUFFRjtBQUNFLGNBQUE7O0FBSkY7QUFDRSxlQUFBOztBQUVGO0FBQ0UsY0FBQTs7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aEI0R0o7QWdCM0pGO0FBaURRLGNBQUE7OztBQWpEUjtBQXFETSxhQUFBOztBQXJETjtBQXVEUSxTQUFBOztBaEJvR047QWdCM0pGO0FBeURVLFNBQUE7OztBQXpEVjtBQTZEUSxVQUFBO0FBQ0EsT0FBQTs7QWhCNkZOO0FnQjNKRjtBQWdFVSxPQUFBOzs7QWhCMkZSO0FnQjNKRjtBQXNFUSxhQUFBOzs7QUN6QlI7QUFBdUIsZ0JBQUEiLCJmaWxlIjoicHJvZ3JhbS9wZXJzb25hbC1zZXNzaW9uX2RlYnVnLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLy9cbi8vLyBNb2R1bGVzIC8gVHlwb2dyYXBoeSAvIEJhc2Vcbi8vL1xuLy8vIEBncm91cCBtb2R1bGVzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy9cbi8vIG1vZHVsZTogLnR5cG9ncmFwaHktW2NsYXNzbmFtZV1cbi8vXG4uI3skdHlwb2dyYXBoeS1jbGFzc25hbWV9IHtcblx0QGVhY2ggJHR5cG9ncmFwaHkgaW4gJHR5cG9ncmFwaHktY2xhc3NlcyB7XG5cdFx0QGlmIHR5cG9ncmFwaHktZXhpc3RzKCR0eXBvZ3JhcGh5KSB7XG5cdFx0XHQmLSN7JHR5cG9ncmFwaHl9IHtcblx0XHRcdFx0QGluY2x1ZGUgdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vXG4vLyBtb2R1bGU6IC50eXBvZ3JhcGh5LWV5ZWJyb3dcbi8vXG5bY2xhc3MqPVwiI3skdHlwb2dyYXBoeS1jbGFzc25hbWV9LWV5ZWJyb3dcIl0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogJGV5ZWJyb3ctbWFyZ2luO1xuXG5cdCsgKiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG4vL1xuLy8gbW9kdWxlOiAudHlwb2dyYXBoeS1oZWFkbGluZSArIC50eXBvZ3JhcGh5LWludHJvXG4vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zcGFjaW5nKFxuXHQkcHJlY2VkaW5nLXR5cG9ncmFwaHk6IGhlYWRsaW5lLFxuXHQkc3VjY2VlZGluZy10eXBvZ3JhcGh5OiBpbnRybyxcblx0JG1hcmdpbjogJGxvY2t1cC1iYXNlLW1hcmdpblxuKTtcblxuLy9cbi8vIG1vZHVsZTogLnR5cG9ncmFwaHktaGVhZGxpbmUtc3VwZXIgKyAudHlwb2dyYXBoeS1pbnRyby1lbGV2YXRlZFxuLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc3BhY2luZyhcblx0JHByZWNlZGluZy10eXBvZ3JhcGh5OiBoZWFkbGluZS1zdXBlcixcblx0JHN1Y2NlZWRpbmctdHlwb2dyYXBoeTogaW50cm8tZWxldmF0ZWQsXG5cdCRtYXJnaW46ICRsb2NrdXAtc3VwZXItbWFyZ2luXG4pO1xuXG4vL1xuLy8gbW9kdWxlOiAudHlwb2dyYXBoeS1oZWFkbGluZS1lbGV2YXRlZCArIC50eXBvZ3JhcGh5LWludHJvLWVsZXZhdGVkXG4vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zcGFjaW5nKFxuXHQkcHJlY2VkaW5nLXR5cG9ncmFwaHk6IGhlYWRsaW5lLWVsZXZhdGVkLFxuXHQkc3VjY2VlZGluZy10eXBvZ3JhcGh5OiBpbnRyby1lbGV2YXRlZCxcblx0JG1hcmdpbjogJGxvY2t1cC1lbGV2YXRlZC1tYXJnaW5cbik7XG5cbi8vXG4vLyBtb2R1bGU6IC50eXBvZ3JhcGh5LWhlYWRsaW5lLXJlZHVjZWQgKyAudHlwb2dyYXBoeS1ib2R5LCBwLCB1bFxuLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc3BhY2luZyhcblx0JHByZWNlZGluZy10eXBvZ3JhcGh5OiBoZWFkbGluZS1yZWR1Y2VkLFxuXHQkc3VjY2VlZGluZy10eXBvZ3JhcGh5OiBib2R5LFxuXHQkbWFyZ2luOiAkbG9ja3VwLXJlZHVjZWQtbWFyZ2luXG4pO1xuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI3LjEwLjBcIjtcbiIsIi8vLy9cbi8vLyBDb3JlIC8gSGVscGVyc1xuLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgcmFkaXVzIGZvciBlbGVtZW50cyB3aXRoIHJvdW5kZWQgY29ybmVyc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRnbG9iYWwtYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBUaGUgZGVmYXVsdCBibHVyIHJhZGl1c1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRnbG9iYWwtYmx1ci1yYWRpdXM6IDIwcHggIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEEgbWFwIGNvbnRhaW5pbmcgdGhlIG5hbWVzIGFuZCBwYXRocyB0byBwbGFjZXMgYXNzZXRzIGNvdWxkIGxpdmUuXG4vLy9cbi8vLyBAdHlwZSB7TWFwfVxuLy8vXG4kcGF0aHM6ICgpICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBHZXQgdGhlIGZ1bGwgcGF0aCBvZiBhbiBhc3NldCBmcm9tIGAkcGF0aHNgIG1hbmlmZXN0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFzc2V0XG4vLy8gICBUaGUgcGF0aCB0byB0aGUgYXNzZXRzIHJlbGF0aXZlIHRvIHRoZSBgJHBhdGhzWyRrZXldYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgW2RlZmF1bHRdXG4vLy8gICBUaGUga2V5IGZvciB0aGUgbG9va3VwIHdpdGhpbiBgJHBhdGhzYFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIEEgZnVsbCBhc3NldCBwYXRoXG4vLy9cbkBmdW5jdGlvbiBwYXRoKCRhc3NldCwgJGtleTogZGVmYXVsdCkge1xuXHQkcGF0aDogbWFwLWdldCgkcGF0aHMsICRrZXkpO1xuXG5cdEBpZiAkcGF0aCB7XG5cdFx0QHJldHVybiAkcGF0aCArICcvJyArICRhc3NldDtcblx0fVxuXG5cdEByZXR1cm4gd2Fybi11bmRlZmluZWQocGF0aCwgJGtleSk7XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgY29tcGxlbWVudCBvZiBhIGRpcmVjdGlvbmFsIGtleXdvcmQuXG4vLy8gU3VwcG9ydHMgYGxlZnRgLCBgcmlnaHRgLCBgdG9wYCwgYGJvdHRvbWAsIGBsdHJgLCBhbmQgYHJ0bGAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXdvcmRcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBUaGUgY29tcGxlbWVudCBvZiBgJGtleXdvcmRgIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGAka2V5d29yZGAgdW5jaGFuZ2VkXG4vLy9cbkBmdW5jdGlvbiBrZXl3b3JkLXJldmVyc2VkKCRrZXl3b3JkKSB7XG5cdCRrZXl3b3JkczogKFxuXHRcdGxlZnQ6IHJpZ2h0LFxuXHRcdHJpZ2h0OiBsZWZ0LFxuXHRcdHRvcDogYm90dG9tLFxuXHRcdGJvdHRvbTogdG9wLFxuXHRcdGx0cjogcnRsLFxuXHRcdHJ0bDogbHRyXG5cdCk7XG5cdCRyZXZlcnNlZC1rZXl3b3JkOiBtYXAtZ2V0KCRrZXl3b3JkcywgJGtleXdvcmQpO1xuXG5cdEBpZiAkcmV2ZXJzZWQta2V5d29yZCB7XG5cdFx0QHJldHVybiAkcmV2ZXJzZWQta2V5d29yZDtcblx0fVxuXG5cdEByZXR1cm4gJGtleXdvcmQ7XG59XG5cbi8vL1xuLy8vIENlbnRlciBhbiBlbGVtZW50LCB3aXRoIHN1cHBvcnQgZm9yIGJsZWVkaW5nIGJleW9uZCB0aGUgcGFyZW50IGNvbnRhaW5lclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bWJlcn0gJHdpZHRoIFtmYWxzZV1cbi8vLyAgIFdpZHRoIG9mIGVsZW1lbnQgdG8gYmUgY2VudGVyZWRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFyZW50LXdpZHRoIFtmYWxzZV1cbi8vLyAgIFdpZHRoIG9mIHBhcmVudCBlbGVtZW50XG4vLy9cbkBtaXhpbiBjZW50ZXIoJHdpZHRoOiBmYWxzZSwgJHBhcmVudC13aWR0aDogZmFsc2UpIHtcblxuXHQvLyBXaGVuIHRoZSBwYXJlbnQtd2lkdGggaXMgbGVzcyB0aGFuIHRoZSBmbGV4aWJsZS1mcm9tIHdpZHRoIHRoZW4gdGhlIHdpZHRoXG5cdC8vIG9mIHRoZSBlbGVtZW50IHRvIGJlIGNlbnRlcmVkIHNob3VsZCBiZSBhICUuXG5cdC8vIFRoaXMgb25seSBhcHBsaWVzIHdoZW4gYm90aCB3aWR0aCBhbmQgcGFyZW50IHdpZHRoIGFyZSBpbiBweCwgYmVjYXVzZSBQU0RzXG5cdC8vIGFyZSBoYW5kZWQgb2ZmIHRvIHVzIGluIHBpeGVscy4gV2hlbiBkZXZlbG9wZXJzIHBhc3MgZW0ncyBvciAlJ3Mgd2Ugd2lsbFxuXHQvLyBhc3N1bWUgdGhleSBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcsIGFuZCBub3QgdHJ5IHRvIGRvIG1hZ2ljLlxuXG5cdEBpZiAkd2lkdGhcblx0XHRcdGFuZCAkcGFyZW50LXdpZHRoXG5cdFx0XHRhbmQgdW5pdCgkd2lkdGgpID09ICdweCdcblx0XHRcdGFuZCB1bml0KCRwYXJlbnQtd2lkdGgpID09ICdweCdcblx0XHRcdGFuZCAkdmlld3BvcnRzLWZsZXhpYmxlLWZyb20gIT0gZmFsc2Uge1xuXHRcdEBpZiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSwgY29udGVudCkgPiAkcGFyZW50LXdpZHRoIHtcblx0XHRcdCR3aWR0aDogKCR3aWR0aC8kcGFyZW50LXdpZHRoKSAqIDEwMCU7XG5cdFx0XHQkcGFyZW50LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkd2lkdGggIT0gZmFsc2Uge1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdH1cblxuXHRAaWYgJHdpZHRoIGFuZCAkcGFyZW50LXdpZHRoIGFuZCAkd2lkdGggPiAkcGFyZW50LXdpZHRoIHtcblx0XHRtYXJnaW4tI3tpbmxpbmUtc3RhcnQoKX06IC0oKCR3aWR0aCAtICRwYXJlbnQtd2lkdGgpIC8gMik7XG5cdH0gQGVsc2Uge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXG59XG5cbi8vL1xuLy8vIENlbnRlciBhbiBlbGVtZW50IGFuZCB0aGUgdGV4dCB3aXRoaW4gaXRcbi8vL1xuLy8vIEBzZWUge21peGlufSBjZW50ZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdW1iZXJ9ICR3aWR0aCBbZmFsc2VdXG4vLy8gICBXaWR0aCBvZiBlbGVtZW50IHRvIGJlIGNlbnRlcmVkXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhcmVudC13aWR0aCBbOTgwcHhdXG4vLy8gICBXaWR0aCBvZiBwYXJlbnQgZWxlbWVudFxuLy8vXG5AbWl4aW4gY2VudGVyLXBhcmFncmFwaCgkd2lkdGg6IGZhbHNlLCAkcGFyZW50LXdpZHRoOiA5ODBweCkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgY2VudGVyKCR3aWR0aCwgJHBhcmVudC13aWR0aCk7XG59XG5cbi8vL1xuLy8vIENvbnRhaW4gbmVzdGVkIGZsb2F0aW5nIGVsZW1lbnRzIChha2E6IFwibWljcm8gY2xlYXJmaXhcIilcbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuLy8vXG5AbWl4aW4gc2VsZmNsZWFyKCkge1xuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnICc7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuLy8vXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgbWFpbnRhaW4gc2NyZWVuLXJlYWRlciBmdW5jdGlvbmFsaXR5XG4vLy9cbkBtaXhpbiB2aXN1YWxseWhpZGRlbigpIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoMHB4IDBweCA5OS45JSA5OS45JSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG59XG5cbi8vL1xuLy8vIFJldmVyc2UgaW52ZXJ0ZWQgY29udGVudCBkdWUgdG8gZGlzcGxheSBjb2xvciBpbnZlcnNpb25cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vYWEuYXBwbGUuY29tLyN2aXN1YWwtZGVzaWduLWNvbG9yLWltYWdlcy1zaG91bGQtYmUtZG91YmxlLWludmVydGVkLXdoZW4taW52ZXJ0LWNvbG9ycy1pcy1kZXRlY3RlZCBBY2Nlc3NpYmlsaXR5IEd1aWRlbGluZXMgcmVsYXRlZCB0byBtaXhpbiB1c2FnZVxuLy8vXG5AbWl4aW4gbm8taW52ZXJzaW9uKCkge1xuXHRAaW5jbHVkZSBpbnZlcnRlZC1jb2xvcnMge1xuXHRcdGZpbHRlcjogaW52ZXJ0KDEpO1xuXHR9XG59XG5cbi8vL1xuLy8vIENTUzMgY3Vyc29yIGZhbGxiYWNrc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQ3Vyc29yIHByb3BlcnR5IHZhbHVlIChlLmcuLCBgZ3JhYmApXG4vLy9cbkBtaXhpbiBjdXJzb3IoJHZhbHVlKSB7XG5cdEBpZiAoJHZhbHVlID09IGdyYWIgb3IgJHZhbHVlID09IGdyYWJiaW5nKSB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHR9XG5cdGN1cnNvcjogJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBGb2N1cyBvdXRsaW5lIHNpemVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kZm9jdXMtc2l6ZTogMnB4ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBGb2N1cyBjb2xvclxuLy8vXG4vLy8gQHR5cGUgQ29sb3Jcbi8vL1xuJGZvY3VzLWNvbG9yOiAjMDA3MUUzICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBGb2N1cyBvZmZzZXQgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRmb2N1cy1vZmZzZXQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRm9jdXMgb2Zmc2V0IGNvbG9yIGRhcmtcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRmb2N1cy1vZmZzZXQtY29sb3ItZGFyazogcmdiKDAsIDAsIDApICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBBbHRlcm5hdGUgRm9jdXMgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRmb2N1cy1jb2xvci1hbHQ6IHJnYigwLCAwLCAwKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQWx0ZXJuYXRlIEZvY3VzIGNvbG9yIGRhcmtcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRmb2N1cy1jb2xvci1hbHQtZGFyazogcmdiKDI1NSwgMjU1LCAyNTUpICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBGb2N1cyBzaGFkb3cgc2l6ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRmb2N1cy1zaGFkb3ctc2l6ZTogNXB4ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBGb2N1cyBzaGFkb3cgb2Zmc2V0IHNpemVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kZm9jdXMtc2hhZG93LW9mZnNldC1zaXplOiAzcHggIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEZvY3VzIHNoYWRvdyBzaXplIHNtYWxsXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGZvY3VzLXNoYWRvdy1zaXplLXNtYWxsOiAzcHggIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEZvY3VzIHNoYWRvdyBvZmZzZXQgc2l6ZSBzbWFsbFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRmb2N1cy1zaGFkb3ctb2Zmc2V0LXNpemUtc21hbGw6IDFweCAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRm9jdXMgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRmb2N1cy1zaGFkb3ctY29sb3I6ICRmb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRm9jdXMgb3V0bGluZSBzaXplXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgJGZvY3VzLXNpemUgaW5zdGVhZFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtZm9jdXMtc2l6ZTogNHB4O1xuXG4vLy9cbi8vLyBGb2N1cyBjb2xvclxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlICRmb2N1cy1jb2xvciBpbnN0ZWFkXG4vLy9cbi8vLyBAdHlwZSBDb2xvclxuLy8vXG4kLWZvY3VzLWNvbG9yOiByZ2JhKDAsIDEyNSwgMjUwLCAwLjYpO1xuXG4vLy9cbi8vLyBBbHRlcm5hdGUgRm9jdXMgY29sb3Jcbi8vL1xuLy8vIEBkZXByZWNhdGVkIFVzZSAkZm9jdXMtY29sb3ItYWx0IGluc3RlYWRcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiQtZm9jdXMtY29sb3ItYWx0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG5cbkBpbmNsdWRlIHdhcm4tZGVwcmVjYXRlZCgndmFyaWFibGUnLCAnZm9jdXMnLCAkbWVzc2FnZTogJ1RoZSBwcml2YXRlIGAtZm9jdXNgIHZhcmlhYmxlcyAoYCQtZm9jdXMtc2l6ZWAsIGAkLWZvY3VzLWNvbG9yYCwgYCQtZm9jdXMtY29sb3ItYWx0YCkgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBVc2UgdGhlIHB1YmxpYyBgZm9jdXNgIHZhcmlhYmxlcyAoYCRmb2N1cy1zaXplYCwgYCRmb2N1cy1jb2xvcmAsIGAkZm9jdXMtY29sb3ItYWx0YCkgaW5zdGVhZC4nKTtcblxuLy8vXG4vLy8gQXBwbHkgZGVmYXVsdCBmb2N1cyBzdHlsZXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFswcHhdXG4vLy8gICBGb2N1cyBvdXRsaW5lIG9mZnNldFxuLy8vXG5AbWl4aW4gZm9jdXMtb3V0bGluZSgkb2Zmc2V0OiAwcHgpIHtcblx0b3V0bGluZTogJGZvY3VzLXNpemUgc29saWQgJGZvY3VzLWNvbG9yO1xuXHRvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcblxuXHRAaW5jbHVkZSBmb2N1cy1tb3VzZS1zZWxlY3RvciB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG4vLy9cbi8vLyBBcHBseSBmb2N1cyBzdHlsZXMgd2l0aCBjdXN0b20gb3V0bGluZSBjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGZvY3VzLWNvbG9yIFskZm9jdXMtY29sb3ItYWx0XVxuLy8vICAgRm9jdXMgb3V0bGluZSBjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWzBweF1cbi8vLyAgIEZvY3VzIG91dGxpbmUgb2Zmc2V0XG4vLy9cbkBtaXhpbiBmb2N1cy1vdXRsaW5lLWFsdChcblx0JGZvY3VzLWNvbG9yOiAkZm9jdXMtY29sb3ItYWx0LCBcblx0JG9mZnNldDogMHB4XG4pIHtcblx0b3V0bGluZTogJGZvY3VzLXNpemUgc29saWQgJGZvY3VzLWNvbG9yO1xuXHRvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcblxuXHRAaW5jbHVkZSBmb2N1cy1tb3VzZS1zZWxlY3RvciB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG4vLy9cbi8vLyBBcHBseSBhIGJveC1zaGFkb3cgYmFzZWQgb3V0bGluZSBvbiBmb2N1cy5cbi8vLyBGb3IgdXNlIHdpdGggcm91bmRlZCBlbGVtZW50cyAoZS5nLiwgQ29sb3IgTmF2LCBEb3QgTmF2LCBldGMuKVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWUuLi4gW251bGxdXG4vLy8gICBBZGRpdGlvbmFsIGJveC1zaGFkb3cocykgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnRcbi8vL1xuQG1peGluIGZvY3VzLXNoYWRvdygkdmFsdWUuLi4pIHtcblx0JGZvY3VzLXNoYWRvdzogMCAwIDAgJGZvY3VzLXNpemUgJGZvY3VzLWNvbG9yO1xuXHQkaGFzLXZhbHVlOiBub3QgaXMtZW1wdHkoJHZhbHVlKTtcblxuXHRAaWYgJGhhcy12YWx1ZSB7XG5cdFx0JGZvY3VzLXNoYWRvdzogYXBwZW5kKCR2YWx1ZSwgJGZvY3VzLXNoYWRvdywgY29tbWEpO1xuXHR9XG5cblx0Ym94LXNoYWRvdzogI3skZm9jdXMtc2hhZG93fTtcblx0b3V0bGluZTogbm9uZTtcblxuXHRAaW5jbHVkZSBmb2N1cy1tb3VzZS1zZWxlY3RvcigpIHtcblx0XHRAaWYgJGhhcy12YWx1ZSB7XG5cdFx0XHRib3gtc2hhZG93OiAjeyR2YWx1ZX07XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBBcHBseSBhIGJveC1zaGFkb3cgYmFzZWQgb3V0bGluZSBvbiBmb2N1cyB3aXRoIGEgY3VzdG9tIGZvY3VzIGNvbG9yLlxuLy8vIEZvciB1c2Ugd2l0aCByb3VuZGVkIGVsZW1lbnRzIChlLmcuLCBDb2xvciBOYXYsIERvdCBOYXYsIGV0Yy4pXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkZm9jdXMtY29sb3IgWyRmb2N1cy1jb2xvci1hbHRdXG4vLy8gICBGb2N1cyBzaGFkb3cgY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlLi4uIFtudWxsXVxuLy8vICAgQWRkaXRpb25hbCBib3gtc2hhZG93KHMpIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50XG4vLy9cbkBtaXhpbiBmb2N1cy1zaGFkb3ctYWx0KCRmb2N1cy1jb2xvcjogJGZvY3VzLWNvbG9yLWFsdCwgJHZhbHVlLi4uKSB7XG5cdCRmb2N1cy1zaGFkb3c6IDAgMCAwICRmb2N1cy1zaXplICRmb2N1cy1jb2xvcjtcblx0JGhhcy12YWx1ZTogbm90IGlzLWVtcHR5KCR2YWx1ZSk7XG5cblx0QGlmICRoYXMtdmFsdWUge1xuXHRcdCRmb2N1cy1zaGFkb3c6IGFwcGVuZCgkdmFsdWUsICRmb2N1cy1zaGFkb3csIGNvbW1hKTtcblx0fVxuXG5cdGJveC1zaGFkb3c6ICN7JGZvY3VzLXNoYWRvd307XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0QGluY2x1ZGUgZm9jdXMtbW91c2Utc2VsZWN0b3IoKSB7XG5cdFx0QGlmICRoYXMtdmFsdWUge1xuXHRcdFx0Ym94LXNoYWRvdzogI3skdmFsdWV9O1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gQXBwbHkgYSBib3gtc2hhZG93IGJhc2VkIG91dGxpbmUgb24gZm9jdXMuXG4vLy8gRm9yIHVzZSB3aXRoIHJvdW5kZWQgZWxlbWVudHMgKGUuZy4sIENvbG9yIE5hdiwgRG90IE5hdiwgZXRjLilcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlLi4uIFtudWxsXVxuLy8vICAgQWRkaXRpb25hbCBib3gtc2hhZG93KHMpIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50XG4vLy9cbkBtaXhpbiBmb2N1cy1zaGFkb3ctb2Zmc2V0KFxuXHQkb2Zmc2V0LWNvbG9yOiAkZm9jdXMtb2Zmc2V0LWNvbG9yLCBcblx0JG9mZnNldC1zaXplOiAkZm9jdXMtc2hhZG93LW9mZnNldC1zaXplLFxuXHQkc2hhZG93LXNpemU6ICRmb2N1cy1zaGFkb3ctc2l6ZSxcblx0JHZhbHVlLi4uXG5cdCkge1xuXHQkZm9jdXMtc2hhZG93OiAwIDAgMCAkb2Zmc2V0LXNpemUgJG9mZnNldC1jb2xvciwgMCAwIDAgJHNoYWRvdy1zaXplICRmb2N1cy1zaGFkb3ctY29sb3I7XG5cdCRoYXMtdmFsdWU6IG5vdCBpcy1lbXB0eSgkdmFsdWUpO1xuXG5cdEBpZiAkaGFzLXZhbHVlIHtcblx0XHQkZm9jdXMtc2hhZG93OiBhcHBlbmQoJHZhbHVlLCAkZm9jdXMtc2hhZG93LCBjb21tYSk7XG5cdH1cblxuXHRib3gtc2hhZG93OiAjeyRmb2N1cy1zaGFkb3d9O1xuXHRvdXRsaW5lOiBub25lO1xuXG5cdEBpbmNsdWRlIGZvY3VzLW1vdXNlLXNlbGVjdG9yKCkge1xuXHRcdEBpZiAkaGFzLXZhbHVlIHtcblx0XHRcdGJveC1zaGFkb3c6ICN7JHZhbHVlfTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGx5IGEgYm94LXNoYWRvdyBiYXNlZCBvdXRsaW5lIG9uIGZvY3VzIHdpdGggYSBjdXN0b20gZm9jdXMgY29sb3IuXG4vLy8gRm9yIHVzZSB3aXRoIHJvdW5kZWQgZWxlbWVudHMgKGUuZy4sIENvbG9yIE5hdiwgRG90IE5hdiwgZXRjLilcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRmb2N1cy1jb2xvciBbJGZvY3VzLWNvbG9yLWFsdF1cbi8vLyAgIEZvY3VzIHNoYWRvdyBjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWUuLi4gW251bGxdXG4vLy8gICBBZGRpdGlvbmFsIGJveC1zaGFkb3cocykgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnRcbi8vL1xuQG1peGluIGZvY3VzLXNoYWRvdy1vZmZzZXQtYWx0KFxuXHQkZm9jdXMtY29sb3I6ICRmb2N1cy1jb2xvci1hbHQsIFxuXHQkb2Zmc2V0LWNvbG9yOiAkZm9jdXMtb2Zmc2V0LWNvbG9yLCBcblx0JG9mZnNldC1zaXplOiAkZm9jdXMtc2hhZG93LW9mZnNldC1zaXplLFxuXHQkc2hhZG93LXNpemU6ICRmb2N1cy1zaGFkb3ctc2l6ZSxcblx0JHZhbHVlLi4uXG4pIHtcblx0JGZvY3VzLXNoYWRvdzogMCAwIDAgJG9mZnNldC1zaXplICRvZmZzZXQtY29sb3IsIDAgMCAwICRzaGFkb3ctc2l6ZSAkZm9jdXMtY29sb3I7XG5cdCRoYXMtdmFsdWU6IG5vdCBpcy1lbXB0eSgkdmFsdWUpO1xuXG5cdEBpZiAkaGFzLXZhbHVlIHtcblx0XHQkZm9jdXMtc2hhZG93OiBhcHBlbmQoJHZhbHVlLCAkZm9jdXMtc2hhZG93LCBjb21tYSk7XG5cdH1cblxuXHRib3gtc2hhZG93OiAjeyRmb2N1cy1zaGFkb3d9O1xuXHRvdXRsaW5lOiBub25lO1xuXG5cdEBpbmNsdWRlIGZvY3VzLW1vdXNlLXNlbGVjdG9yKCkge1xuXHRcdEBpZiAkaGFzLXZhbHVlIHtcblx0XHRcdGJveC1zaGFkb3c6ICN7JHZhbHVlfTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIFNlbGVjdG9yIGZvciBmb2N1cyB0cmlnZ2VyZWQgYnkgbW91c2Ugb3IgdG91Y2guXG4vLy8gRG9lcyBub3QgaW5jbHVkZSBpbnB1dCwgdGV4dGFyZWEsIG9yIHNlbGVjdC5cbi8vL1xuQG1peGluIGZvY3VzLW1vdXNlLXNlbGVjdG9yKCkge1xuXHQmW2RhdGEtZm9jdXMtbWV0aG9kPVwibW91c2VcIl0sXG5cdCZbZGF0YS1mb2N1cy1tZXRob2Q9XCJ0b3VjaFwiXSB7XG5cdFx0Jjpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6bm90KHNlbGVjdCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGx5IGEgYmFja2Ryb3AtZmlsdGVyIHRoYXQgbWF0Y2hlcyBTYXNzS2l0J3MgZGVmYXVsdCBibHVyXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJGdsb2JhbC1ibHVyLXJhZGl1c11cbi8vLyAgIEFtb3VudCBvZiBibHVyIHRvIGFwcGx5XG4vLy9cbkBtaXhpbiBiYWNrZHJvcC1maWx0ZXItYmx1cigkcmFkaXVzOiAkZ2xvYmFsLWJsdXItcmFkaXVzKSB7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigkcmFkaXVzKTtcbn1cblxuLy8vXG4vLy8gQXBwbHkgYSBiYWNrZHJvcC1maWx0ZXIgdGhhdCBtYXRjaGVzIHRoZSBpT1MgYW5kIE9TIFggYmx1ciB3aXRoIHNhdHVyYXRpb24gaW5jcmVhc2Vcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSBbMTAwJV1cbi8vLyAgIEFtb3VudCBvZiBVSSBibHVyIHRvIGFwcGx5XG4vLy9cbkBtaXhpbiBiYWNrZHJvcC1maWx0ZXItdWlibHVyKCRwZXJjZW50YWdlOiAxMDAlKSB7XG5cdCRwZXJjZW50YWdlOiAkcGVyY2VudGFnZSAvIDEwMCU7XG5cblx0JHNhdHVyYXRlOiAxODAlICogJHBlcmNlbnRhZ2U7XG5cdCRibHVyOiAyMHB4ICogJHBlcmNlbnRhZ2U7XG5cblx0YmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgkc2F0dXJhdGUpIGJsdXIoJGJsdXIpO1xufVxuXG4vLy9cbi8vLyBPdXRwdXQgY3NzIGZyb20gYSBtYXAgb2YgcHJvcGVydHktdmFsdWUgcGFpcnMsXG4vLy8gd2l0aCB2YWx1ZXMgb3B0aW9uYWxseSBkZWZpbmVkIHBlciB2aWV3cG9ydCBvciBsb2NhbGUuXG4vLy9cbi8vLyAqKk5vdGUqKlxuLy8vXG4vLy8gX1RoaXMgbWl4aW4gc2hvdWxkIG5vdCBiZSB1c2VkIHdoZXJlIHRoZSBgdmlld3BvcnQoKWAgb3IgYGxvY2FsZSgpYCBtaXhpbnMgYW5kXG4vLy8gc3RhbmRhcmQgQ1NTIHByb3BlcnRpZXMgYXJlIHN1ZmZpY2llbnQuX1xuLy8vXG4vLy8gX1RoaXMgbWl4aW4gaXMgbWVhbnQgYXMgYSBjb252ZW5pZW5jZSBtZXRob2QgZm9yIG91dHB1dHRpbmdcbi8vLyBtdWx0aXBsZSBwcm9wZXJ0aWVzIGFjcm9zcyB2aWV3cG9ydHMgb3IgbG9jYWxlcywgdXN1YWxseSBwcm92aWRlZFxuLy8vIHZpYSBhIG1vZHVsZSBzZXR0aW5nIG9yIG1peGluLiBVbm5lZWRlZC9FeGNlc3NpdmUgdXNlIG1heVxuLy8vIHJlc3VsdCBpbiBsZXNzIHRoYW4gZGVzaXJhYmxlIGNvbXBpbGUgdGltZXMuX1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgQSBtYXAgb2YgY3NzIHByb3BlcnR5LXZhbHVlIHBhaXJzXG4vLy8gd2l0aCB2YWx1ZXMgb3B0aW9uYWxseSBncm91cGVkIGJ5IHZpZXdwb3J0IG9yIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRncm91cCBbdmlld3BvcnRdXG4vLy8gICBgdmlld3BvcnRgIGZvciBDU1MgZ3JvdXBlZCBieSB2aWV3cG9ydCxcbi8vLyAgIGBsb2NhbGVgIGZvciBDU1MgZ3JvdXBlZCBieSBJU08gY29kZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAvLyBwcm9wZXJ0eSB2YWx1ZXMgZGVmaW5lZCBwZXIgdmlld3BvcnRcbi8vL1xuLy8vICAgQGluY2x1ZGUgY3NzKChcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweCxcbi8vLyAgICAgbWFyZ2luLXRvcDogKFxuLy8vICAgICAgIGxhcmdlOiA1MHB4LFxuLy8vICAgICAgIG1lZGl1bTogMjVweCxcbi8vLyAgICAgICBzbWFsbDogMTBweFxuLy8vICAgICApXG4vLy8gICApKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLy8gcHJvcGVydHkgdmFsdWVzIGRlZmluZWQgcGVyIGxvY2FsZVxuLy8vXG4vLy8gICBAaW5jbHVkZSBjc3MoKFxuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4LFxuLy8vICAgICBtYXJnaW4tdG9wOiAoXG4vLy8gICAgICAgZW4tV1c6IDIwcHgsXG4vLy8gICAgICAgYXI6IDM1cHgsXG4vLy8gICAgICAgamE6IDIwcHhcbi8vLyAgICAgKVxuLy8vICAgKSwgbG9jYWxlKTtcbi8vL1xuQG1peGluIGNzcygkbWFwLCAkZ3JvdXA6IHZpZXdwb3J0KSB7XG5cdCRncm91cGVkOiAoKTtcblxuXHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkbWFwIHtcblx0XHRAaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG5cdFx0XHRAZWFjaCAkZ3JvdXAsICRncm91cC12YWx1ZSBpbiAkdmFsdWUge1xuXHRcdFx0XHQkZ3JvdXBlZDogbWFwLW5lc3RlZC1zZXQoJGdyb3VwZWQsICgkZ3JvdXAsICRwcm9wZXJ0eSksICRncm91cC12YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkdmFsdWUgIT0gbnVsbCB7XG5cdFx0XHQjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgbm90IGlzLWVtcHR5KCRncm91cGVkKSB7XG5cdFx0QGluY2x1ZGUgY3NzLWdyb3VwZWQoJGdyb3VwZWQsICRncm91cCk7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGNzcyBmcm9tIGEgbWFwIG9mIHByb3BlcnR5LXZhbHVlIHBhaXJzXG4vLy8gZ3JvdXBlZCBieSB2aWV3cG9ydCBvciBsb2NhbGVcbi8vL1xuLy8vICoqTm90ZSoqXG4vLy9cbi8vLyBfVGhpcyBtaXhpbiBzaG91bGQgbm90IGJlIHVzZWQgd2hlcmUgdGhlIGB2aWV3cG9ydCgpYCBvciBgbG9jYWxlKClgIG1peGlucyBhbmRcbi8vLyBzdGFuZGFyZCBDU1MgcHJvcGVydGllcyBhcmUgc3VmZmljaWVudC5fXG4vLy9cbi8vLyBfVGhpcyBtaXhpbiBpcyBtZWFudCBhcyBhIGNvbnZlbmllbmNlIG1ldGhvZCBmb3Igb3V0cHV0dGluZ1xuLy8vIG11bHRpcGxlIHByb3BlcnRpZXMgYWNyb3NzIHZpZXdwb3J0cyBvciBsb2NhbGVzLCB1c3VhbGx5IHByb3ZpZGVkXG4vLy8gdmlhIGEgbW9kdWxlIHNldHRpbmcgb3IgbWl4aW4uIFVubmVlZGVkL0V4Y2Vzc2l2ZSB1c2UgbWF5XG4vLy8gcmVzdWx0IGluIGxlc3MgdGhhbiBkZXNpcmFibGUgY29tcGlsZSB0aW1lcy5fXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIEEgbWFwIG9mIGNzcyBwcm9wZXJ0eS12YWx1ZSBwYWlyc1xuLy8vIHdpdGggdmFsdWVzIGdyb3VwZWQgYnkgdmlld3BvcnQgb3IgbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGdyb3VwIFt2aWV3cG9ydF1cbi8vLyAgIGB2aWV3cG9ydGAgZm9yIENTUyBncm91cGVkIGJ5IHZpZXdwb3J0LFxuLy8vICAgYGxvY2FsZWAgZm9yIENTUyBncm91cGVkIGJ5IElTTyBjb2RlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC8vIHByb3BlcnR5IGFuZCB2YWx1ZXMgZGVmaW5lZCBhbmQgZ3JvdXBlZCBieSB2aWV3cG9ydFxuLy8vXG4vLy8gICBAaW5jbHVkZSBjc3MtZ3JvdXBlZCgoXG4vLy8gICAgIGxhcmdlOiAoXG4vLy8gICAgICAgY29sb3I6IHJlZCxcbi8vLyAgICAgICBmb250LXNpemU6IDIwcHhcbi8vLyAgICAgKSxcbi8vLyAgICAgbWVkaXVtOiAoXG4vLy8gICAgICAgY29sb3I6IGJsdWUsXG4vLy8gICAgICAgZm9udC1zaXplOiAxNnB4XG4vLy8gICAgIClcbi8vLyAgICkpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAvLyBwcm9wZXJ0eSBhbmQgdmFsdWVzIGRlZmluZWQgYW5kIGdyb3VwZWQgYnkgbG9jYWxlXG4vLy9cbi8vLyAgIEBpbmNsdWRlIGNzcy1ncm91cGVkKChcbi8vLyAgICAgZW4tV1c6IChcbi8vLyAgICAgICBtYXJnaW4tYm90dG9tOiAxZW1cbi8vLyAgICAgKSxcbi8vLyAgICAgYXI6IChcbi8vLyAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbVxuLy8vICAgICApXG4vLy8gICApLCBsb2NhbGUpO1xuLy8vXG5AbWl4aW4gY3NzLWdyb3VwZWQoJG1hcCwgJGdyb3VwOiB2aWV3cG9ydCkge1xuXHRAaWYgJGdyb3VwID09IHZpZXdwb3J0IHtcblx0XHQkbWFwOiBtYXAtc29ydC1rZXlzKCRtYXAsIHZpZXdwb3J0LWxpc3QoKSk7XG5cdH0gQGVsc2UgaWYgJGdyb3VwID09IGxvY2FsZSB7XG5cdFx0Ly8gZW5zdXJlIGVuLVdXIGlzIGZpcnN0XG5cdFx0JG1hcDogbWFwLXNvcnQta2V5cygkbWFwLCAoZW4tV1cpKTtcblx0fVxuXG5cdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRtYXAge1xuXHRcdEBpZiAkZ3JvdXAgPT0gdmlld3BvcnQge1xuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoJHByb3BlcnR5KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNzcygkdmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgJGdyb3VwID09IGxvY2FsZSB7XG5cdFx0XHRAaW5jbHVkZSBsb2NhbGUoJHByb3BlcnR5KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNzcygkdmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgJHZhbHVlICE9IG51bGwge1xuXHRcdFx0I3skcHJvcGVydHl9OiAkdmFsdWU7XG5cdFx0fVxuXHR9XG59XG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjcuMTAuMFwiO1xuIiwiLy8vL1xuLy8vIENvcmUgLyBMb2NhbGVcbi8vL1xuLy8vIDEuIG11c3QgY29tZSBhZnRlciBgbG9jYWxlLWRpcmVjdGlvbigpYCBpcyBkZWZpbmVkXG4vLy9cbi8vLyBAZ3JvdXAgbG9jYWxlXG4vLy8vXG5cbi8vL1xuLy8vIFRoZSB0YXJnZXQgZWxlbWVudC9zZWxlY3RvciBmb3IgbG9jYWxlLWJhc2VkIHNlbGVjdG9yc1xuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vXG4kbG9jYWxlLXRhcmdldDogaHRtbCAhZGVmYXVsdDtcblxuLy8vXG4vLy8gVGhlIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgLCBvclxuLy8vIGBmYWxzZWAgdG8gb3V0cHV0IHN0eWxlcyBmb3IgYWxsIGxvY2FsZXMuXG4vLy9cbi8vLyBgZW4tV1dgIGlzIGFsd2F5cyBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nIHwgQm9vbGVhblxuLy8vXG4kbG9jYWxlOiBmYWxzZSAhZGVmYXVsdDtcbi8vL1xuLy8vIFJpZ2h0LXRvLWxlZnQgbGFuZ3VhZ2VzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbiRydGwtbGFuZ3VhZ2VzOiAoYXIpICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBSaWdodC10by1sZWZ0IGxhbmd1YWdlc1xuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlICRydGwtbGFuZ3VhZ2VzIGluc3RlYWRcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuJC1ydGwtbGFuZ3VhZ2VzOiAoYXIpO1xuXG5AaW5jbHVkZSB3YXJuLWRlcHJlY2F0ZWQoJ3ZhcmlhYmxlJywgJyQtcnRsLWxhbmd1YWdlcycsICckcnRsLWxhbmd1YWdlcycpO1xuXG4vLy9cbi8vLyBHZXQgdGhlIGxhbmd1YWdlIHBhcnQgb2YgYSBsb2NhbGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFskbG9jYWxlXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ3xCb29sZWFufVxuLy8vICAgVGhlIDItY2hhcmFjdGVyIGxhbmd1YWdlIGNvZGUsIG9yIGBmYWxzZWAgaWYgbm8gbG9jYWxlIGlzIHNldFxuLy8vXG5AZnVuY3Rpb24gbG9jYWxlLWxhbmd1YWdlKCRpc286ICRsb2NhbGUpIHtcblx0QGlmICRpc28gPT0gZmFsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRAcmV0dXJuIHN0ci1zbGljZSgkaXNvLCAxLCAyKTtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBjb3VudHJ5IHBhcnQgb2YgYSBsb2NhbGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFskbG9jYWxlXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ3xCb29sZWFufVxuLy8vICAgVGhlIDItY2hhcmFjdGVyIGNvdW50cnkgY29kZSwgb3IgYGZhbHNlYCBpZiBubyBsb2NhbGUgaXMgc2V0XG4vLy9cbkBmdW5jdGlvbiBsb2NhbGUtY291bnRyeSgkaXNvOiAkbG9jYWxlKSB7XG5cdEBpZiAkaXNvID09IGZhbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0QHJldHVybiBzdHItc2xpY2UoJGlzbywgLTIpO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIHRleHQgZGlyZWN0aW9uIGZvciBhIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gWyRsb2NhbGVdXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfEJvb2xlYW59XG4vLy8gICBgbHRyYCwgYHJ0bGAsIG9yIGBmYWxzZWAgaWYgbm8gbG9jYWxlIGlzIHNldFxuLy8vXG5AZnVuY3Rpb24gbG9jYWxlLWRpcmVjdGlvbigkaXNvOiAkbG9jYWxlKSB7XG5cdEBpZiAkaXNvID09IGZhbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0QGlmIGluZGV4KCRydGwtbGFuZ3VhZ2VzLCBsb2NhbGUtbGFuZ3VhZ2UoJGlzbykpIHtcblx0XHRAcmV0dXJuIHJ0bDtcblx0fVxuXG5cdEByZXR1cm4gbHRyO1xufVxuXG4vLy9cbi8vLyBUaGUgZGlyZWN0aW9uIHRvIG91dHB1dCBzdHlsZXMgZm9yOlxuLy8vIGBsdHJgLCBgcnRsYCwgb3IgYGZhbHNlYCBmb3IgYm90aFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nIHwgQm9vbGVhblxuLy8vXG4kZGlyZWN0aW9uOiBsb2NhbGUtZGlyZWN0aW9uKCkgIWRlZmF1bHQ7IC8vIDFcblxuLy8vXG4vLy8gTm9ybWFsaXplIGEgbG9jYWxlJ3MgSVNPIGNvZGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuLy8vICAgTG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuQGZ1bmN0aW9uIGxvY2FsZS1ub3JtYWxpemUoJGlzbykge1xuXHQkaXNvOiB0by1sb3dlci1jYXNlKHN0ci1yZXBsYWNlKCRpc28sICdfJywgJy0nKSk7XG5cblx0QGlmICRpc28gPT0gZGVmYXVsdCB7XG5cdFx0QHJldHVybiBlbi1XVztcblx0fVxuXG5cdCRkYXNoOiBzdHItaW5kZXgoJGlzbywgJy0nKTtcblxuXHRAaWYgJGRhc2gge1xuXHRcdCRpc286IHN0ci1zbGljZSgkaXNvLCAxLCAkZGFzaCAtIDEpICsgJy0nICsgdG8tdXBwZXItY2FzZShzdHItc2xpY2UoJGlzbywgJGRhc2ggKyAxKSk7XG5cdH1cblxuXHRAcmV0dXJuICRpc287XG59XG5cbi8vL1xuLy8vIERldGVybWluZSB3aGV0aGVyIGEgbG9jYWxlIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LlxuLy8vXG4vLy8gQHNlZSAkbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzb1xuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG5AZnVuY3Rpb24gLWxvY2FsZS1ndWFyZCgkaXNvKSB7XG5cdEBpZiBub3QgJGxvY2FsZSB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9XG5cblx0JGlzbzogbG9jYWxlLW5vcm1hbGl6ZSgkaXNvKTtcblx0JGlzby1jdXJyZW50OiBsb2NhbGUtbm9ybWFsaXplKCRsb2NhbGUpO1xuXG5cdEByZXR1cm5cblx0XHQoJGlzbyA9PSAkaXNvLWN1cnJlbnQpIG9yXG5cdFx0KCRpc28gPT0gbG9jYWxlLWxhbmd1YWdlKCRpc28tY3VycmVudCkpIG9yXG5cdFx0KCRpc28gPT0gJyotJyArIGxvY2FsZS1jb3VudHJ5KCRpc28tY3VycmVudCkpO1xufVxuXG4vLy9cbi8vLyBBZGQgYSBsb2NhbGUtc3BlY2lmaWMgc2VsZWN0b3IgdXNpbmcgdGhlIGA6bGFuZ2AgcHNldWRvLWNsYXNzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzby4uLlxuLy8vICAgT25lIG9yIG1vcmUgbG9jYWxlcyBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgLlxuLy8vICAgYHh4YCBjYW4gYmUgdXNlZCB0byBtYXRjaCBhIGxhbmd1YWdlIGluIGFueSBjb3VudHJ5LlxuLy8vICAgYCotWFhgIGNhbiBiZSB1c2VkIHRvIG1hdGNoIGEgY291bnRyeSBpbiBhbnkgbGFuZ3VhZ2UuXG4vLy9cbkBtaXhpbiBsb2NhbGUoJGlzby4uLikge1xuXHQkc2VsZWN0b3I6ICcnO1xuXG5cdEBlYWNoICRjb2RlIGluICRpc28ge1xuXHRcdCRjb2RlOiBsb2NhbGUtbm9ybWFsaXplKCRjb2RlKTtcblxuXHRcdEBpZiAkY29kZSA9PSBlbi1XVyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9IEBlbHNlIGlmIC1sb2NhbGUtZ3VhcmQoJGNvZGUpIHtcblx0XHRcdEBpZiAkc2VsZWN0b3IgIT0gJycge1xuXHRcdFx0XHQkc2VsZWN0b3I6ICRzZWxlY3RvciArICcsICc7XG5cdFx0XHR9XG5cblx0XHRcdEBpZiBzdHItaW5kZXgoJGNvZGUsICcqJykge1xuXHRcdFx0XHQvLyBgKi1YWGAgbmVlZHMgcXVvdGVzXG5cdFx0XHRcdCRjb2RlOiBcIicjeyRjb2RlfSdcIjtcblx0XHRcdH1cblxuXHRcdFx0JGxhbmdzZWxlY3RvcjogJzpsYW5nKCN7JGNvZGV9KSc7XG5cblx0XHRcdC8vIGlmIHRoZSBjdXJyZW50IHNjb3BlIGlzIG5vdCBhIHJvb3QgbGV2ZWwgc2VsZWN0b3Jcblx0XHRcdC8vIGFwcGVuZCB0byB0aGUgcGFyZW50IHNjb3BlXG5cdFx0XHRAaWYgJyN7Jn0nICE9ICcnIHtcblx0XHRcdFx0JGxhbmdzZWxlY3RvcjogJyYnICsgJGxhbmdzZWxlY3Rvcjtcblx0XHRcdH1cblxuXHRcdFx0JHNlbGVjdG9yOiAkc2VsZWN0b3IgKyAkbGFuZ3NlbGVjdG9yO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkc2VsZWN0b3IgIT0gJycge1xuXHRcdCN7JHNlbGVjdG9yfSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuXG4vLy9cbi8vLyBHZXQgYW4gaXRlbSBmcm9tIGEgbWFwIGJ5IGxvY2FsZSBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwXG4vLy8gICBBIG1hcCB3aXRoIGtleXMgaW4gdGhlIGZvcm0gb2Zcbi8vLyAgIGB4eC1YWGAgKHNwZWNpZmljIGxhbmd1YWdlIGFuZCBjb3VudHJ5KSxcbi8vLyAgIGB4eGAgKHNwZWNpZmljIGxhbmd1YWdlLCBhbnkgY291bnRyeSksIG9yXG4vLy8gICBgKi1YWGAgKHNwZWNpZmljIGNvdW50cnksIGFueSBsYW5ndWFnZSlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgLCBgeHhgLCBvciBgKi1YWGBcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW5oZXJpdCBbdHJ1ZV1cbi8vLyAgIFdoZXRoZXIgb3Igbm90IGBlbi1XV2Agc2hvdWxkIGJlIGNoZWNrZWQgYXMgYSBmaW5hbCBmYWxsYmFja1xuLy8vXG4vLy8gQHJldHVybnMge01hcCB8IE51bGx9XG4vLy8gICBUaGUgbWFwIGl0ZW0gYXQgYSBrZXkgbWF0Y2hpbmcsIGluIG9yZGVyLFxuLy8vICAgMS4gdGhlIGZ1bGwgYCRpc29gXG4vLy8gICAyLiB0aGUgbGFuZ3VhZ2UgZnJvbSBgJGlzb2Bcbi8vLyAgIDMuIHRoZSBjb3VudHJ5IGZyb20gYCRpc29gXG4vLy8gICA0LiBgZW4tV1dgLCBpZiBgJGluaGVyaXRgIGlzIGB0cnVlYFxuLy8vXG5AZnVuY3Rpb24gbG9jYWxlLW1hcC1nZXQoJG1hcCwgJGlzbywgJGluaGVyaXQ6IHRydWUpIHtcblx0QGlmICRpc28gIT0gZmFsc2Uge1xuXHRcdCRpc286IGxvY2FsZS1ub3JtYWxpemUoJGlzbyk7XG5cblx0XHRAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGlzbykge1xuXHRcdFx0QHJldHVybiBtYXAtZ2V0KCRtYXAsICRpc28pO1xuXHRcdH1cblxuXHRcdCRsYW5ndWFnZTogbG9jYWxlLWxhbmd1YWdlKCRpc28pO1xuXG5cdFx0QGlmIG1hcC1oYXMta2V5KCRtYXAsICRsYW5ndWFnZSkge1xuXHRcdFx0QHJldHVybiBtYXAtZ2V0KCRtYXAsICRsYW5ndWFnZSk7XG5cdFx0fVxuXG5cdFx0JGNvdW50cnk6ICcqLScgKyBsb2NhbGUtY291bnRyeSgkaXNvKTtcblxuXHRcdEBpZiBtYXAtaGFzLWtleSgkbWFwLCAkY291bnRyeSkge1xuXHRcdFx0QHJldHVybiBtYXAtZ2V0KCRtYXAsICRjb3VudHJ5KTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGluaGVyaXQgYW5kIG1hcC1oYXMta2V5KCRtYXAsIGVuLVdXKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRtYXAsIGVuLVdXKVxuXHR9XG5cblx0QHJldHVybiBudWxsO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGN1cnJlbnQgZGVmYXVsdCBkaXJlY3Rpb24ga2V5d29yZFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIGBydGxgIGlmIGAkZGlyZWN0aW9uYCBpcyBleHBsaWNpdGx5IHNldCB0byBgcnRsYCwgYG90aGVyd2lzZSBgbHRyYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uKCk7XG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiBkaXJlY3Rpb24oKSB7XG5cdEByZXR1cm4gaWYoJGRpcmVjdGlvbiA9PSBydGwsIHJ0bCwgbHRyKTtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBvcHBvc2l0ZSBvZiB0aGUgY3VycmVudCBkZWZhdWx0IGRpcmVjdGlvblxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIGBsdHJgIGlmIGAkZGlyZWN0aW9uYCBpcyBleHBsaWNpdGx5IHNldCB0byBgcnRsYCwgYG90aGVyd2lzZSBgcnRsYFxuLy8vXG5AZnVuY3Rpb24gZGlyZWN0aW9uLXJldmVyc2VkKCkge1xuXHRAcmV0dXJuIGtleXdvcmQtcmV2ZXJzZWQoZGlyZWN0aW9uKCkpO1xufVxuXG4vLy9cbi8vLyBBZGQgcmlnaHQtdG8tbGVmdCBzZWxlY3RvciBvbiB0aGUgYGRpcmAgYXR0cmlidXRlLlxuLy8vXG4vLy8gTm90ZTogYGlubGluZS0qYCBtZXRob2RzIGFyZSB0aGUgcHJlZmVyZWQgbWV0aG9kIGZvciBoYW5kbGluZyByaWdodC10by1sZWZ0LlxuLy8vXG5AbWl4aW4gcnRsKCkge1xuXHRAaWYgJGRpcmVjdGlvbiA9PSBmYWxzZSBvciAkZGlyZWN0aW9uID09IHJ0bCB7XG5cdFx0QGluY2x1ZGUgc2VsZWN0b3ItdW5pZnktdGFyZ2V0KCRsb2NhbGUtdGFyZ2V0LCAnW2Rpcj1ydGxdJykge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgcGh5c2ljYWwga2V5d29yZCBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmZsb2F0LWV4YW1wbGUge1xuLy8vICAgICBmbG9hdDogaW5saW5lLXN0YXJ0KCk7XG4vLy8gICAgIC8vIGZsb2F0OiBsZWZ0OyAobHRyKVxuLy8vICAgICAvLyBmbG9hdDogcmlnaHQ7IChydGwpXG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiBpbmxpbmUtc3RhcnQoKSB7XG5cdEByZXR1cm4gaWYoJGRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBwaHlzaWNhbCBrZXl3b3JkIGZvciB0aGUgZGlyZWN0aW9uLWRlcGVuZGVudCBlbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmZsb2F0LWV4YW1wbGUge1xuLy8vICAgICBmbG9hdDogaW5saW5lLWVuZCgpO1xuLy8vICAgICAvLyBmbG9hdDogcmlnaHQ7IChsdHIpXG4vLy8gICAgIC8vIGZsb2F0OiBsZWZ0OyAocnRsKVxuLy8vICAgfVxuLy8vXG5AZnVuY3Rpb24gaW5saW5lLWVuZCgpIHtcblx0QHJldHVybiBpZigkZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgcGVyY2VudGFnZSAoYDAlYCBmb3IgbGVmdCwgYDEwMCVgIGZvciByaWdodClcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIEEgcGVyY2VudGFnZSAoZS5nLiwgYDEwJWApLCBvciB1bml0bGVzcyB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQgdG8gYSBwZXJjZW50YWdlIChlLmcuIGAwLjFgKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGlubGluZS1wZXJjZW50YWdlKDEwJSkgNTAlO1xuLy8vICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlOyAobHRyKVxuLy8vICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgNTAlOyAocnRsKVxuLy8vICAgfVxuLy8vXG5AZnVuY3Rpb24gaW5saW5lLXBlcmNlbnRhZ2UoJHZhbHVlKSB7XG5cdEBpZiB1bml0bGVzcygkdmFsdWUpIHtcblx0XHQkdmFsdWU6IHBlcmNlbnRhZ2UoJHZhbHVlKTtcblx0fVxuXG5cdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7XG5cdFx0JHZhbHVlOiAxMDAlIC0gJHZhbHVlO1xuXHR9XG5cblx0QHJldHVybiAkdmFsdWU7XG59XG5cbkBpbmNsdWRlIHdhcm4tZGVwcmVjYXRlZCgnbWl4aW4nLCAnbmF0aXZlLWxvZ2ljYWwnLCAkbWVzc2FnZTogJ1RoZSBgbWFyZ2luLWlubGluZS0qYCwgYHBhZGRpbmctaW5saW5lLSpgLCBhbmQgYGJvcmRlci1pbmxpbmUtKmAgbWl4aW5zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZSAuIFVzZSBuYXRpdmUgQ1NTIGluc3RlYWQuJyk7XG5cbi8vL1xuLy8vIFNldCB0aGUgbWFyZ2luIGZvciB0aGUgZGlyZWN0aW9uLWRlcGVuZGVudCBzdGFydFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYG1hcmdpbi1sZWZ0L3JpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUtc3RhcnQoMTBweCk7XG4vLy8gICAgIC8vIG1hcmdpbi1sZWZ0OiAxMHB4OyAobHRyKVxuLy8vICAgICAvLyBtYXJnaW4tcmlnaHQ6IDEwcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIG5hdGl2ZSBgbWFyZ2luLWlubGluZS1zdGFydGAgcHJvcGVydHkgaW5zdGVhZC5cbi8vL1xuQG1peGluIG1hcmdpbi1pbmxpbmUtc3RhcnQoJHZhbHVlKSB7XG5cdG1hcmdpbi0je2lubGluZS1zdGFydCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIG1hcmdpbiBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgbWFyZ2luLWxlZnQvcmlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luLWlubGluZS1lbmQoMTBweCk7XG4vLy8gICAgIC8vIG1hcmdpbi1yaWdodDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gbWFyZ2luLWxlZnQ6IDEwcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIG5hdGl2ZSBgbWFyZ2luLWlubGluZS1lbmRgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBtYXJnaW4taW5saW5lLWVuZCgkdmFsdWUpIHtcblx0bWFyZ2luLSN7aW5saW5lLWVuZCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIHBhZGRpbmcgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHN0YXJ0XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgcGFkZGluZy1sZWZ0L3JpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmctaW5saW5lLXN0YXJ0KDEwcHgpO1xuLy8vICAgICAvLyBwYWRkaW5nLWxlZnQ6IDEwcHg7IChsdHIpXG4vLy8gICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIG5hdGl2ZSBgcGFkZGluZy1pbmxpbmUtc3RhcnRgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBwYWRkaW5nLWlubGluZS1zdGFydCgkdmFsdWUpIHtcblx0cGFkZGluZy0je2lubGluZS1zdGFydCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIHBhZGRpbmcgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYHBhZGRpbmctbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nLWlubGluZS1lbmQoMTBweCk7XG4vLy8gICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7IChsdHIpXG4vLy8gICAgIC8vIHBhZGRpbmctbGVmdDogMTBweDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgbmF0aXZlIGBwYWRkaW5nLWlubGluZS1lbmRgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBwYWRkaW5nLWlubGluZS1lbmQoJHZhbHVlKSB7XG5cdHBhZGRpbmctI3tpbmxpbmUtZW5kKCl9OiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgbGVmdC9yaWdodCBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBsZWZ0L3JpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uLWlubGluZS1zdGFydCgxMHB4KTtcbi8vLyAgICAgLy8gbGVmdDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gcmlnaHQ6IDEwcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBwb3NpdGlvbi1pbmxpbmUtc3RhcnQoJHZhbHVlKSB7XG5cdCN7aW5saW5lLXN0YXJ0KCl9OiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgbGVmdC9yaWdodCBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbi1pbmxpbmUtZW5kKDEwcHgpO1xuLy8vICAgICAvLyByaWdodDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gbGVmdDogMTBweDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQG1peGluIHBvc2l0aW9uLWlubGluZS1lbmQoJHZhbHVlKSB7XG5cdCN7aW5saW5lLWVuZCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlciBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBib3JkZXItbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItaW5saW5lLXN0YXJ0KDFweCBzb2xpZCAjMDAwKTtcbi8vLyAgICAgLy8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwOyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBuYXRpdmUgYGJvcmRlci1pbmxpbmUtc3RhcnRgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLXN0YXJ0KCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtc3RhcnQoKX06ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXIgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtZW5kKDFweCBzb2xpZCAjMDAwKTtcbi8vLyAgICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwOyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBuYXRpdmUgYGJvcmRlci1pbmxpbmUtZW5kYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuLy8vXG5AbWl4aW4gYm9yZGVyLWlubGluZS1lbmQoJHZhbHVlKSB7XG5cdGJvcmRlci0je2lubGluZS1lbmQoKX06ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXItd2lkdGggZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHN0YXJ0XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBib3JkZXItbGVmdC9yaWdodC13aWR0aGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoKDFweCk7XG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC13aWR0aDogMXB4OyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBuYXRpdmUgYGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGhgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoKCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtc3RhcnQoKX0td2lkdGg6ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXItd2lkdGggZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHQtd2lkdGhgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1lbmQtd2lkdGgoMXB4KTtcbi8vLyAgICAgLy8gYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIG5hdGl2ZSBgYm9yZGVyLWlubGluZS1lbmQtd2lkdGhgIHByb3BlcnR5IGluc3RlYWQuXG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLWVuZC13aWR0aCgkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLWVuZCgpfS13aWR0aDogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlci1zdHlsZSBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0LXN0eWxlYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUoc29saWQpO1xuLy8vICAgICAvLyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlIG5hdGl2ZSBgYm9yZGVyLWlubGluZS1zdGFydC1zdHlsZWAgcHJvcGVydHkgaW5zdGVhZC5cbi8vL1xuQG1peGluIGJvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUoJHZhbHVlKSB7XG5cdGJvcmRlci0je2lubGluZS1zdGFydCgpfS1zdHlsZTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlci1zdHlsZSBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBib3JkZXItbGVmdC9yaWdodC1zdHlsZWBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItaW5saW5lLWVuZC1zdHlsZShzb2xpZCk7XG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgbmF0aXZlIGBib3JkZXItaW5saW5lLWVuZC1zdHlsZWAgcHJvcGVydHkgaW5zdGVhZC5cbi8vL1xuQG1peGluIGJvcmRlci1pbmxpbmUtZW5kLXN0eWxlKCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtZW5kKCl9LXN0eWxlOiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgYm9yZGVyLWNvbG9yIGZvciB0aGUgZGlyZWN0aW9uLWRlcGVuZGVudCBzdGFydFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHQtY29sb3JgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcigjMDAwKTtcbi8vLyAgICAgLy8gYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vIEBkZXByZWNhdGVkIFVzZSB0aGUgbmF0aXZlIGBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuLy8vXG5AbWl4aW4gYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcigkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLXN0YXJ0KCl9LWNvbG9yOiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgYm9yZGVyLWNvbG9yIGZvciB0aGUgZGlyZWN0aW9uLWRlcGVuZGVudCBlbmRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0LWNvbG9yYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtZW5kLWNvbG9yKCMwMDApO1xuLy8vICAgICAvLyBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwOyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIHRoZSBuYXRpdmUgYGJvcmRlci1pbmxpbmUtZW5kLWNvbG9yYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuLy8vXG5AbWl4aW4gYm9yZGVyLWlubGluZS1lbmQtY29sb3IoJHZhbHVlKSB7XG5cdGJvcmRlci0je2lubGluZS1lbmQoKX0tY29sb3I6ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgZGlyZWN0aW9uYWwgc2hvcnRoYW5kIGxpc3Qgd2l0aCBsZWZ0L3JpZ2h0IHZhbHVlcyBzd2l0Y2hlZCBmb3IgcmlnaHQtdG8tbGVmdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCBzaG9ydGhhbmQgdmFsdWUgZm9yIGBtYXJnaW5gLCBgcGFkZGluZ2AsXG4vLy8gICBgYm9yZGVyLWNvbG9yYCwgYGJvcmRlci1zdHlsZWAsIG9yIGBib3JkZXItd2lkdGhgXG4vLy8gICB3aXRoIHRoZSBjb21tb24gZm91ciBhcmd1bWVudCBvcmRlcmluZyBvZjpcbi8vLyAgIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ3xMaXN0fVxuLy8vICAgVmFsaWQgc2hvcnRoYW5kIHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlLW1hcmdpbiB7XG4vLy8gICAgIG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoMXB4IDJweCAzcHggNHB4KTtcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHggMnB4IDNweCA0cHg7IChsdHIpXG4vLy8gICAgIC8vIG1hcmdpbjogMXB4IDRweCAzcHggMnB4OyAocnRsKVxuLy8vXG4vLy8gICAgIG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoMXB4IDJweCAzcHgpO1xuLy8vICAgICAvLyBtYXJnaW46IDFweCAycHggM3B4OyAobHRyKVxuLy8vICAgICAvLyBtYXJnaW46IDFweCAycHggM3B4OyAocnRsKVxuLy8vXG4vLy8gICAgIG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoMXB4IDJweCk7XG4vLy8gICAgIC8vIG1hcmdpbjogMXB4IDJweDsgKGx0cilcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHggMnB4OyAocnRsKVxuLy8vXG4vLy8gICAgIG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoMXB4KTtcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHg7IChsdHIpXG4vLy8gICAgIC8vIG1hcmdpbjogMXB4OyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gICAuZXhhbXBsZS1ib3JkZXItY29sb3Ige1xuLy8vICAgICBib3JkZXItY29sb3I6IGxvZ2ljYWwtc2hvcnRoYW5kKCNmMDAgb3JhbmdlIHllbGxvdyByZ2IoMCwgMCwgMjU1KSk7XG4vLy8gICAgIC8vIGJvcmRlci1jb2xvcjogI2YwMCBvcmFuZ2UgeWVsbG93IHJnYigwLCAwLCAyNTUpOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItY29sb3I6ICNmMDAgcmdiKDAsIDAsIDI1NSkgeWVsbG93IG9yYW5nZTsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmV4YW1wbGUtYm9yZGVyLXN0eWxlIHtcbi8vLyAgICAgYm9yZGVyLXN0eWxlOiBsb2dpY2FsLXNob3J0aGFuZChub25lIGRvdHRlZCBkYXNoZWQgc29saWQpO1xuLy8vICAgICAvLyBib3JkZXItc3R5bGU6IG5vbmUgZG90dGVkIGRhc2hlZCBzb2xpZDsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLXN0eWxlOiBub25lIHNvbGlkIGRhc2hlZCBkb3R0ZWQ7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyAgIC5leGFtcGxlLWJvcmRlci13aWR0aCB7XG4vLy8gICAgIGJvcmRlci13aWR0aDogbG9naWNhbC1zaG9ydGhhbmQoNXB4IHRoaW4gbWVkaXVtIHRoaWNrKTtcbi8vLyAgICAgLy8gYm9yZGVyLXdpZHRoOiA1cHggdGhpbiBtZWRpdW0gdGhpY2s7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci13aWR0aDogNXB4IHRoaWNrIG1lZGl1bSB0aGluOyAocnRsKVxuLy8vICAgfVxuQGZ1bmN0aW9uIGNhbGMtbG9naWNhbC1zaG9ydGhhbmQoJHZhbHVlKSB7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gcnRsIGFuZCBsZW5ndGgoJHZhbHVlKSA9PSA0IHtcbiAgICAgICAgQHJldHVybiBudGgoJHZhbHVlLCAxKSBudGgoJHZhbHVlLCA0KSBudGgoJHZhbHVlLCAzKSBudGgoJHZhbHVlLCAyKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgbWFwIG9mIGRpcmVjdGlvbmFsIHNob3J0aGFuZCBsaXN0cyB3aXRoIGxlZnQvcmlnaHQgdmFsdWVzIHN3aXRjaGVkIGZvciByaWdodC10by1sZWZ0XG4vLy8gQ29udmVuaWVudCBmb3IgdXNlIHdpdGggY3NzKCkgZnVuY3Rpb24gd2hlbiB5b3UnZCBsaWtlIGRpZmZlcmVudCB2YWx1ZXMgZm9yIGRpZmZlcmVudCB2aWV3cG9ydHNcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgc2hvcnRoYW5kIHZhbHVlIG9yIG1hcCBvZiB2YWxpZFxuLy8vICAgc2hvcnRoYW5kIHZhbHVlcyBmb3IgYG1hcmdpbmAsIGBwYWRkaW5nYCxcbi8vLyAgIGBib3JkZXItY29sb3JgLCBgYm9yZGVyLXN0eWxlYCwgb3IgYGJvcmRlci13aWR0aGBcbi8vLyAgIHdpdGggdGhlIGNvbW1vbiBmb3VyIGFyZ3VtZW50IG9yZGVyaW5nIG9mOlxuLy8vICAgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfExpc3R8TWFwfVxuLy8vICAgVmFsaWQgc2hvcnRoYW5kIHZhbHVlIG9yIG1hcCBvZiB2YWxpZCBzaG9ydGhhbmQgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlLW1hcmdpbiB7XG4vLy8gICAgIG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoKFxuLy8vICAgICAgICBsYXJnZTogIDJweCA0cHggNnB4IDhweCxcbi8vLyAgICAgICAgbWVkaXVtOiAxcHggMnB4IDNweCA0cHhcbi8vLyAgICAgKSk7XG4vLy8gICAgIC8vIChsYXJnZTogIDJweCA0cHggNnB4IDhweCxcbi8vLyAgICAgICAgbWVkaXVtOiAxcHggMnB4IDNweCA0cHgpICAobHRyKVxuLy8vICAgICAvLyAobGFyZ2U6ICAycHggOHB4IDZweCA0cHgsXG4vLy8gICAgICAgIG1lZGl1bTogMXB4IDRweCAzcHggMnB4KSAgKHJ0bClcbi8vL1xuLy8vICAgICBtYXJnaW46IGxvZ2ljYWwtc2hvcnRoYW5kKDFweCAycHggM3B4IDRweCk7XG4vLy8gICAgIC8vIG1hcmdpbjogMXB4IDJweCAzcHggNHB4OyAobHRyKVxuLy8vICAgICAvLyBtYXJnaW46IDFweCA0cHggM3B4IDJweDsgKHJ0bClcbkBmdW5jdGlvbiBsb2dpY2FsLXNob3J0aGFuZCAoJHNob3J0aGFuZC1tYXApIHtcblx0QGlmIHR5cGUtb2YoJHNob3J0aGFuZC1tYXApID09ICdtYXAnIHtcblx0XHQkbmV3LW1hcDogKCk7XG5cblx0XHRAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHNob3J0aGFuZC1tYXAge1xuXHRcdFx0JG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6IGNhbGMtbG9naWNhbC1zaG9ydGhhbmQoJHZhbHVlKSkpXG5cdFx0fVxuXG5cdFx0QHJldHVybiAkbmV3LW1hcDtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiBjYWxjLWxvZ2ljYWwtc2hvcnRoYW5kKCRzaG9ydGhhbmQtbWFwKTtcblx0fVxufVxuXG4vLy9cbi8vLyBBIHRyYW5zbGF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBgeGAgdmFsdWUgcmV2ZXJzZWQgZm9yIHJpZ2h0LXRvLWxlZnQuXG4vLy9cbi8vLyBTdXBwb3J0cyB0cmFuc2xhdGVYKHgpYCwgYHRyYW5zbGF0ZSh4LCB5KWAsIGFuZCBgdHJhbnNsYXRlM2QoeCwgeSwgeilgXG4vLy9cbi8vLyBAcGFyYW0gJHhcbi8vL1xuLy8vIEBwYXJhbSAkeSBbbnVsbF1cbi8vL1xuLy8vIEBwYXJhbSAkeiBbbnVsbF1cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBgdHJhbnNsYXRlWCh4KWAsIGB0cmFuc2xhdGUoeCwgeSlgLCBvciBgdHJhbnNsYXRlM2QoeCwgeSwgeilgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlLXgge1xuLy8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZUxvZ2ljYWwoMTBweCk7XG4vLy8gICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KSAobHRyKVxuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpIChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyAgIC5leGFtcGxlLXh5IHtcbi8vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVMb2dpY2FsKDEwcHgsIDIwcHgpO1xuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LCAyMHB4KSAobHRyKVxuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwgMjBweCkgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmV4YW1wbGUteHl6IHtcbi8vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVMb2dpY2FsKDEwcHgsIDIwcHgsIDMwcHgpO1xuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDIwcHgsIDMwcHgpIChsdHIpXG4vLy8gICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDIwcHgsIDMwcHgpIChydGwpXG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiB0cmFuc2xhdGVMb2dpY2FsKCR4LCAkeTogbnVsbCwgJHo6IG51bGwpIHtcblx0JHg6ICR4ICogaWYoJGRpcmVjdGlvbiA9PSBydGwsIC0xLCAxKTtcblxuXHRAaWYgJHkgPT0gbnVsbCB7XG5cdFx0QHJldHVybiB0cmFuc2xhdGVYKCR4KTtcblx0fVxuXG5cdEBpZiAkeiA9PSBudWxsIHtcblx0XHRAcmV0dXJuIHRyYW5zbGF0ZSgkeCwgJHkpO1xuXHR9XG5cblx0QHJldHVybiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuLy8vXG4vLy8gQSByb3RhdGUgZnVuY3Rpb24gd2l0aCB0aGUgYGFuZ2xlYCByZXZlcnNlZCBmb3IgcmlnaHQtdG8tbGVmdFxuLy8vXG4vLy8gQHBhcmFtICRhbmdsZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vICAgYHJvdGF0ZShhbmdsZSlgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgdHJhbnNmb3JtOiByb3RhdGVMb2dpY2FsKDQ1ZGVnKTtcbi8vLyAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIChsdHIpXG4vLy8gICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQGZ1bmN0aW9uIHJvdGF0ZUxvZ2ljYWwoJGFuZ2xlKSB7XG5cdCRhbmdsZTogJGFuZ2xlICogaWYoJGRpcmVjdGlvbiA9PSBydGwsIC0xLCAxKTtcblxuXHRAcmV0dXJuIHJvdGF0ZSgkYW5nbGUpO1xufVxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI3LjEwLjBcIjtcbiIsIi8vLy9cbi8vLyBDb3JlIC8gTWVkaWFcbi8vL1xuLy8vIEBncm91cCBtZWRpYVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgYSBgbWluLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1pbi13aWR0aCgkd2lkdGgpIHtcblx0QHJldHVybiAnKG1pbi13aWR0aDogI3skd2lkdGh9KSc7XG59XG5cbi8vL1xuLy8vIEdldCBhIGBtaW4tZGV2aWNlLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1pbi1kZXZpY2Utd2lkdGgoJHdpZHRoKSB7XG5cdEByZXR1cm4gJyhtaW4tZGV2aWNlLXdpZHRoOiAjeyR3aWR0aH0pJztcbn1cblxuLy8vXG4vLy8gR2V0IGEgYG1heC13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtYXgtd2lkdGgoJHdpZHRoKSB7XG5cdEByZXR1cm4gJyhtYXgtd2lkdGg6ICN7JHdpZHRofSknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBgbWF4LWRldmljZS13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtYXgtZGV2aWNlLXdpZHRoKCR3aWR0aCkge1xuXHRAcmV0dXJuICcobWF4LWRldmljZS13aWR0aDogI3skd2lkdGh9KSc7XG59XG5cbi8vL1xuLy8vIEdldCBhIGBtaW4taGVpZ2h0YCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtaW4taGVpZ2h0KCRoZWlnaHQpIHtcblx0QHJldHVybiAnKG1pbi1oZWlnaHQ6ICN7JGhlaWdodH0pJztcbn1cblxuLy8vXG4vLy8gR2V0IGEgYG1heC1oZWlnaHRgIG1lZGlhIHF1ZXJ5IGNvbmRpdGlvbmFsXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1heC1oZWlnaHQoJGhlaWdodCkge1xuXHRAcmV0dXJuICcobWF4LWhlaWdodDogI3skaGVpZ2h0fSknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbCBmb3IgcG9ydHJhaXQgb3JpZW50YXRpb25cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBwb3J0cmFpdCgpIHtcblx0QHJldHVybiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbCBmb3IgbGFuZHNjYXBlIG9yaWVudGF0aW9uXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuLy8vXG5AZnVuY3Rpb24gbGFuZHNjYXBlKCkge1xuXHRAcmV0dXJuICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbCBmb3IgaW52ZXJ0ZWQgZGlzcGxheSBjb2xvcnNcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBpbnZlcnRlZC1jb2xvcnMoKSB7XG5cdEByZXR1cm4gJyhpbnZlcnRlZC1jb2xvcnMpJztcbn1cblxuLy8vXG4vLy8gVGhlIHZhbHVlIGZvciBhIGBtaW4tZGV2aWNlLXdpZHRoYCB0aGF0IGlzIHVzZWQgYnkgdGhlIHJldGluYSBmdW5jdGlvblxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRyZXRpbmEtbWluLWRldmljZS13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEdldCBhIHJlc29sdXRpb24gLyBkZW5zaXR5IG1lZGlhIHF1ZXJ5IGNvbmRpdGlvbmFsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4tZGV2aWNlLXdpZHRoIFskcmV0aW5hLW1pbi1kZXZpY2Utd2lkdGhdXG4vLy8gICBUaGUgYG1pbi1kZXZpY2Utd2lkdGhgLCBmb3Igc2ltdWxhdGluZyBhYy1yZXRpbmEgZnVuY3Rpb25hbGl0eSAocmV0aW5hIG9uIGxhcmdlIG9ubHkpXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlbnNpdHkgWzJdXG4vLy8gICBUaGUgZGV2aWNlLXBpeGVsLXJhdGlvXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH1cbi8vL1xuQGZ1bmN0aW9uIHJldGluYSgkbWluLWRldmljZS13aWR0aDogJHJldGluYS1taW4tZGV2aWNlLXdpZHRoLCAkZGVuc2l0eTogMikge1xuXHRAaWYgJGRlbnNpdHkgPT0gMSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxuXG5cdCRkZW5zaXR5OiAkZGVuc2l0eSAtIDAuNTtcblxuXHQkZHBweDogdW5pdC1zZXQoJGRlbnNpdHksIGRwcHgpO1xuXHQkZHBpOiB1bml0LWNvbnZlcnQoJGRwcHgsIGRwaSk7XG5cblx0QGlmICRtaW4tZGV2aWNlLXdpZHRoID09IGZhbHNlIHtcblx0XHRAcmV0dXJuICgnKG1pbi1yZXNvbHV0aW9uOiAjeyRkcHB4fSknLCAnKG1pbi1yZXNvbHV0aW9uOiAjeyRkcGl9KScpO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICgnKG1pbi1yZXNvbHV0aW9uOiAjeyRkcHB4fSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiN7JG1pbi1kZXZpY2Utd2lkdGh9KScsICcobWluLXJlc29sdXRpb246ICN7JGRwaX0pIGFuZCAobWluLWRldmljZS13aWR0aDojeyRtaW4tZGV2aWNlLXdpZHRofSknKTtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBtZWRpYSBxdWVyeSB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uYWxzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHF1ZXJ5XG4vLy8gICBUaGUgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxzXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzY3JlZW4gW3RydWVdXG4vLy8gICBBZGQgYG9ubHkgc2NyZWVuYCBjb25kaXRpb25cbi8vL1xuQG1peGluIG1lZGlhKCRxdWVyeSwgJHNjcmVlbjogdHJ1ZSkge1xuXG5cdEBpZiAkcXVlcnkgPT0gZmFsc2Uge1xuXG5cdFx0QGNvbnRlbnQ7XG5cblx0fSBAZWxzZSB7XG5cblx0XHRAaWYgJHNjcmVlbiB7XG5cdFx0XHQkcXVlcnk6ICdvbmx5IHNjcmVlbiBhbmQgI3skcXVlcnl9Jztcblx0XHR9XG5cblx0XHRAbWVkaWEgI3skcXVlcnl9IHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBgbWF4LXdpZHRoYCBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG5AbWl4aW4gbWF4LXdpZHRoKCR3aWR0aCkge1xuXHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgoJHdpZHRoKSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIGBtaW4td2lkdGhgIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoXG4vLy9cbkBtaXhpbiBtaW4td2lkdGgoJHdpZHRoKSB7XG5cdEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCgkd2lkdGgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgYG1heC1oZWlnaHRgIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vXG5AbWl4aW4gbWF4LWhlaWdodCgkaGVpZ2h0KSB7XG5cdEBpbmNsdWRlIG1lZGlhKG1heC1oZWlnaHQoJGhlaWdodCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBgbWluLWhlaWdodGAgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0XG4vLy9cbkBtaXhpbiBtaW4taGVpZ2h0KCRoZWlnaHQpIHtcblx0QGluY2x1ZGUgbWVkaWEobWluLWhlaWdodCgkaGVpZ2h0KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIHJlc29sdXRpb24gLyBkZW5zaXR5IG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vXG5AbWl4aW4gcmV0aW5hKCRkZW5zaXR5OiAyKSB7XG5cdEBpbmNsdWRlIG1lZGlhKHJldGluYSgkZGVuc2l0eTogJGRlbnNpdHkpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgbWVkaWEgcXVlcnkgZm9yIHBvcnRyYWl0IG9yaWVudGF0aW9uXG4vLy9cbkBtaXhpbiBwb3J0cmFpdCgpIHtcblx0QGluY2x1ZGUgbWVkaWEocG9ydHJhaXQoKSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIG1lZGlhIHF1ZXJ5IGZvciBsYW5kc2NhcGUgb3JpZW50YXRpb25cbi8vL1xuQG1peGluIGxhbmRzY2FwZSgpIHtcblx0QGluY2x1ZGUgbWVkaWEobGFuZHNjYXBlKCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBtZWRpYSBxdWVyeSBmb3Igd2hlbiBhIGRpc3BsYXlzIGNvbG9ycyBoYXZlIGJlZW4gaW52ZXJ0ZWRcbi8vL1xuQG1peGluIGludmVydGVkLWNvbG9ycygpIHtcblx0QGluY2x1ZGUgbWVkaWEoaW52ZXJ0ZWQtY29sb3JzKCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI3LjEwLjBcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi50LWhlYWRsaW5lLWVsZXZhdGVkIHtcbiAgZm9udC1zaXplOiA2NHB4O1xuICBsaW5lLWhlaWdodDogMS4wNjI1O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDA5ZW07XG4gIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoYXIpIHtcbiAgICBsaW5lLWhlaWdodDogMS4yMDMxMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBBUlwiLCBcIlNGIFBybyBBUiBEaXNwbGF5XCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gR3VsZlwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1oZWFkbGluZS1lbGV2YXRlZDpsYW5nKGphKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTA5Mzg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSlBcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoa28pIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNzE4ODtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBLUlwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW5Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaGVhZGxpbmUtZWxldmF0ZWQ6bGFuZyh6aCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5Mzc1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgLnQtaGVhZGxpbmUtZWxldmF0ZWQ6bGFuZyh0aCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM0Mzc1O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUSFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gU0NcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIFNDXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoemgtSEspIHtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoemgtTU8pIHtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gVENcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gVENcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIFRDXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM0cHgpIHtcbiAgICAudC1oZWFkbGluZS1lbGV2YXRlZCB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmUtZWxldmF0ZWQ6bGFuZyhhcikge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gQVJcIiwgXCJTRiBQcm8gQVIgRGlzcGxheVwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEd1bGZcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoamEpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTc1O1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSlBcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1oZWFkbGluZS1lbGV2YXRlZDpsYW5nKGtvKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBLUlwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW5Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcodGgpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUSFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1oZWFkbGluZS1lbGV2YXRlZDpsYW5nKHpoLUNOKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBTQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWhlYWRsaW5lLWVsZXZhdGVkOmxhbmcoemgtSEspIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmUtZWxldmF0ZWQ6bGFuZyh6aC1NTykge1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gVENcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1oZWFkbGluZS1lbGV2YXRlZDpsYW5nKHpoLVRXKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH0gfVxuXG4udC1pbnRyby1lbGV2YXRlZCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzNDE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOWVtO1xuICBmb250LWZhbWlseTogXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRyby1lbGV2YXRlZDpsYW5nKGFyKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gQVJcIiwgXCJTRiBQcm8gQVIgRGlzcGxheVwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEd1bGZcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm8tZWxldmF0ZWQ6bGFuZyhqYSkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQxNjY3O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBKUFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm8tZWxldmF0ZWQ6bGFuZyhrbykge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ODQxO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBLUlwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW5Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm8tZWxldmF0ZWQ6bGFuZyh0aCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gVEhcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRyby1lbGV2YXRlZDpsYW5nKHpoLUNOKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFNDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRyby1lbGV2YXRlZDpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRyby1lbGV2YXRlZDpsYW5nKHpoLU1PKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRyby1lbGV2YXRlZDpsYW5nKHpoLVRXKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG4udC1leWVicm93LWVsZXZhdGVkIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA3ZW07XG4gIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWV5ZWJyb3ctZWxldmF0ZWQ6bGFuZyhrbykge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBLUlwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW5Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHRoKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzkyODY7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRIXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHpoKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKGFyKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEFSXCIsIFwiU0YgUHJvIEFSIERpc3BsYXlcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBHdWxmXCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWV5ZWJyb3ctZWxldmF0ZWQ6bGFuZyhqYSkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBKUFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHpoLUNOKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFNDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1leWVicm93LWVsZXZhdGVkOmxhbmcoemgtSEspIHtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWV5ZWJyb3ctZWxldmF0ZWQ6bGFuZyh6aC1NTykge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBIS1wiLCBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHpoLVRXKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNHB4KSB7XG4gICAgLnQtZXllYnJvdy1lbGV2YXRlZCB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xOTA0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTFlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1leWVicm93LWVsZXZhdGVkOmxhbmcoamEpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjM4MTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEpQXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKGtvKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI4NTg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBLUlwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW5Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWV5ZWJyb3ctZWxldmF0ZWQ6bGFuZyh0aCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zODE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUSFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1leWVicm93LWVsZXZhdGVkOmxhbmcoemgpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzNDsgfVxuICAgICAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKGFyKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBBUlwiLCBcIlNGIFBybyBBUiBEaXNwbGF5XCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gR3VsZlwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHpoLUNOKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBTQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWV5ZWJyb3ctZWxldmF0ZWQ6bGFuZyh6aC1ISykge1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1leWVicm93LWVsZXZhdGVkOmxhbmcoemgtTU8pIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtZXllYnJvdy1lbGV2YXRlZDpsYW5nKHpoLVRXKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH0gfVxuXG4udC1oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMDgzNDk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDNlbTtcbiAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaGVhZGxpbmU6bGFuZyhhcikge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEFSXCIsIFwiU0YgUHJvIEFSIERpc3BsYXlcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBHdWxmXCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lOmxhbmcoamEpIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNDU5OTtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBKUFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaGVhZGxpbmU6bGFuZyhrbykge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gS1JcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VuR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWhlYWRsaW5lOmxhbmcoemgpIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gIC50LWhlYWRsaW5lOmxhbmcodGgpIHtcbiAgICBsaW5lLWhlaWdodDogMS4zMzM0OTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gVEhcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1oZWFkbGluZTpsYW5nKHpoLUNOKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFNDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1oZWFkbGluZTpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1oZWFkbGluZTpsYW5nKHpoLU1PKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1oZWFkbGluZTpsYW5nKHpoLVRXKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNHB4KSB7XG4gICAgLnQtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAwNGVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWhlYWRsaW5lOmxhbmcoYXIpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzQzNzU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBBUlwiLCBcIlNGIFBybyBBUiBEaXNwbGF5XCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gR3VsZlwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmU6bGFuZyhqYSkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMTg3NTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEpQXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmU6bGFuZyhrbykge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMTg3NTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEtSXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJBcHBsZSBHb3RoaWNcIiwgXCJIWSBHdWxpbVwiLCBcIk1hbGd1bkdvdGhpY1wiLCBcIkhZIERvdHVtXCIsIFwiTGV4aSBHdWxpbVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmU6bGFuZyh0aCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUSFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1oZWFkbGluZTpsYW5nKHpoKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxODc1OyB9XG4gICAgICAudC1oZWFkbGluZTpsYW5nKHpoLUNOKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBTQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWhlYWRsaW5lOmxhbmcoemgtSEspIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaGVhZGxpbmU6bGFuZyh6aC1NTykge1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSEtcIiwgXCJTRiBQcm8gVENcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIEhLXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1oZWFkbGluZTpsYW5nKHpoLVRXKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH0gfVxuXG4udC1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzgxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTFlbTtcbiAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm86bGFuZyhhcikge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUyMzgxO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBBUlwiLCBcIlNGIFBybyBBUiBEaXNwbGF5XCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gR3VsZlwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1pbnRybzpsYW5nKGphKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NjtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSlBcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWludHJvOmxhbmcoa28pIHtcbiAgICBsaW5lLWhlaWdodDogMS41MjM4MTtcbiAgICBmb250LWZhbWlseTogXCJTRiBQcm8gS1JcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VuR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWludHJvOmxhbmcodGgpIHtcbiAgICBsaW5lLWhlaWdodDogMS4zODE7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRIXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm86bGFuZyh6aC1DTikge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBTQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm86bGFuZyh6aC1ISykge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBIS1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm86bGFuZyh6aC1NTykge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBIS1wiLCBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtaW50cm86bGFuZyh6aC1UVykge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUQ1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzRweCkge1xuICAgIC50LWludHJvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyMTE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyZW07XG4gICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaW50cm86bGFuZyhhcikge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41Nzg5NTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEFSXCIsIFwiU0YgUHJvIEFSIERpc3BsYXlcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBHdWxmXCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1pbnRybzpsYW5nKGphKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3Mzc2O1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gSlBcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1pbnRybzpsYW5nKGtvKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUyNjMyO1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gS1JcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VuR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1pbnRybzpsYW5nKHRoKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2ODQ0O1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gVEhcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaW50cm86bGFuZyh6aC1DTikge1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gU0NcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIFNDXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudC1pbnRybzpsYW5nKHpoLUhLKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBIS1wiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC50LWludHJvOmxhbmcoemgtTU8pIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnQtaW50cm86bGFuZyh6aC1UVykge1xuICAgICAgICBmb250LWZhbWlseTogXCJTRiBQcm8gVENcIiwgXCJTRiBQcm8gRGlzcGxheVwiLCBcIlNGIFBybyBJY29uc1wiLCBcIlBpbmdGYW5nIFRDXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9IH1cblxuLnQtbGFiZWwge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2NjY3O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDllbTtcbiAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnQtbGFiZWw6bGFuZyhhcikge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzQxO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBBUlwiLCBcIlNGIFBybyBBUiBEaXNwbGF5XCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gR3VsZlwiLCBcIlNGIFBybyBJY29uc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKGphKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEpQXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKGtvKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjkxNjc7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEtSXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJBcHBsZSBHb3RoaWNcIiwgXCJIWSBHdWxpbVwiLCBcIk1hbGd1bkdvdGhpY1wiLCBcIkhZIERvdHVtXCIsIFwiTGV4aSBHdWxpbVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKHRoKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNGIFBybyBUSFwiLCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIEljb25zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC50LWxhYmVsOmxhbmcoemgpIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOTE2NzsgfVxuICAudC1sYWJlbDpsYW5nKHpoLUNOKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFNDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKHpoLU1PKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIEhLXCIsIFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAudC1sYWJlbDpsYW5nKHpoLVRXKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU0YgUHJvIFRDXCIsIFwiU0YgUHJvIERpc3BsYXlcIiwgXCJTRiBQcm8gSWNvbnNcIiwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG5bY2xhc3MqPVwidC1leWVicm93XCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9XG4gIFtjbGFzcyo9XCJ0LWV5ZWJyb3dcIl0gKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi50LWhlYWRsaW5lICsgLnQtaW50cm8ge1xuICBtYXJnaW4tdG9wOiAxLjJlbTsgfVxuXG4udC1oZWFkbGluZS1zdXBlciArIC50LWludHJvLWVsZXZhdGVkIHtcbiAgbWFyZ2luLXRvcDogMS42ZW07IH1cblxuLnQtaGVhZGxpbmUtZWxldmF0ZWQgKyAudC1pbnRyby1lbGV2YXRlZCB7XG4gIG1hcmdpbi10b3A6IDEuNGVtOyB9XG5cbi50LWhlYWRsaW5lLXJlZHVjZWQgKyBwLCAudC1oZWFkbGluZS1yZWR1Y2VkICsgdWwsIC50LWhlYWRsaW5lLXJlZHVjZWQgKyAudC1ib2R5IHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5kZC1sLXBsYXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogOTgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtbC1wbGF0ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gIC5kZC1sLXBsYXRlOjpiZWZvcmUsIC5kZC1sLXBsYXRlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5kZC1sLXBsYXRlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmRkLWJpbGxib2FyZCBpbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZGQtYTExeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDBweCAwcHggOTkuOSUgOTkuOSUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbkBtZWRpYSAoaW52ZXJ0ZWQtY29sb3JzKSB7XG4gIC5kZC1pbnZlcnQtY2xhc3NpYyB7XG4gICAgZmlsdGVyOiBpbml0aWFsOyB9XG4gICAgLmRkLWludmVydC1jbGFzc2ljLWxhcmdlIHtcbiAgICAgIGZpbHRlcjogaW5pdGlhbDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoaW52ZXJ0ZWQtY29sb3JzKSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgICAuZGQtaW52ZXJ0LWNsYXNzaWMtbGFyZ2Uge1xuICAgICAgICBmaWx0ZXI6IHJldmVydDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKGludmVydGVkLWNvbG9ycykgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1pbnZlcnQtY2xhc3NpYy1zbWFsbCB7XG4gICAgICBmaWx0ZXI6IGluaXRpYWw7IH0gfVxuXG4uZGQtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5kZC10ZXh0LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZGQtdGV4dC1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uZGQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kZC1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRkLWFsaWduLWNlbnRlci1sYXJnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1hbGlnbi1jZW50ZXItbGFyZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmRkLWFsaWduLXJpZ2h0LWxhcmdlIHtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1hbGlnbi1yaWdodC1sYXJnZSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAuZGQtYWxpZ24tY2VudGVyLXNtYWxsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gIC5kZC1hbGlnbi1yaWdodC1zbWFsbCB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkge1xuICAuZGQtZXhwYW5kLWxhcmdlLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGVmdC1sYXJnZS0xIHtcbiAgICBtYXJnaW4tbGVmdDogLTElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1yaWdodC1sYXJnZS0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGFyZ2UtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLTIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sZWZ0LWxhcmdlLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMiUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXJpZ2h0LWxhcmdlLTIge1xuICAgIG1hcmdpbi1yaWdodDogLTIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sYXJnZS0zIHtcbiAgICBtYXJnaW4tbGVmdDogLTMlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMyUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLWxlZnQtbGFyZ2UtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtcmlnaHQtbGFyZ2UtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMyUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLWxhcmdlLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGVmdC1sYXJnZS00IHtcbiAgICBtYXJnaW4tbGVmdDogLTQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1yaWdodC1sYXJnZS00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGFyZ2UtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLTUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sZWZ0LWxhcmdlLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNSUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXJpZ2h0LWxhcmdlLTUge1xuICAgIG1hcmdpbi1yaWdodDogLTUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sYXJnZS02IHtcbiAgICBtYXJnaW4tbGVmdDogLTYlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNiUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLWxlZnQtbGFyZ2UtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IC02JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtcmlnaHQtbGFyZ2UtNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAzJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTMge1xuICAgIG1hcmdpbi1yaWdodDogMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS00IHtcbiAgICBtYXJnaW4tbGVmdDogNCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS00IHtcbiAgICBtYXJnaW4tbGVmdDogNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTYge1xuICAgIG1hcmdpbi1yaWdodDogNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS03IHtcbiAgICBtYXJnaW4tbGVmdDogNyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS03IHtcbiAgICBtYXJnaW4tbGVmdDogNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS03IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDglICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA5JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTkge1xuICAgIG1hcmdpbi1yaWdodDogOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTExIHtcbiAgICBtYXJnaW4tbGVmdDogMTElICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTExIHtcbiAgICBtYXJnaW4tbGVmdDogMTElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMTEge1xuICAgIG1hcmdpbi1yaWdodDogMTElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0xMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEzJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTEzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTE0IHtcbiAgICBtYXJnaW4tbGVmdDogMTQlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTE0IHtcbiAgICBtYXJnaW4tbGVmdDogMTQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMTQge1xuICAgIG1hcmdpbi1yaWdodDogMTQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiAxNSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiAxNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0xNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0xNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0xNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTE2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTE3IHtcbiAgICBtYXJnaW4tbGVmdDogMTclICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTE3IHtcbiAgICBtYXJnaW4tbGVmdDogMTclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMTcge1xuICAgIG1hcmdpbi1yaWdodDogMTclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiAxOCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiAxOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0xOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTE5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTIwIHtcbiAgICBtYXJnaW4tbGVmdDogMjAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTIwIHtcbiAgICBtYXJnaW4tbGVmdDogMjAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMjAge1xuICAgIG1hcmdpbi1yaWdodDogMjAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMjEge1xuICAgIG1hcmdpbi1sZWZ0OiAyMSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMjEge1xuICAgIG1hcmdpbi1sZWZ0OiAyMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0yMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIyJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTIyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTIzIHtcbiAgICBtYXJnaW4tbGVmdDogMjMlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTIzIHtcbiAgICBtYXJnaW4tbGVmdDogMjMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMjMge1xuICAgIG1hcmdpbi1yaWdodDogMjMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMjQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMjQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0yNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0yNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0yNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTI1IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTI2IHtcbiAgICBtYXJnaW4tbGVmdDogMjYlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTI2IHtcbiAgICBtYXJnaW4tbGVmdDogMjYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMjYge1xuICAgIG1hcmdpbi1yaWdodDogMjYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMjcge1xuICAgIG1hcmdpbi1sZWZ0OiAyNyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMjcge1xuICAgIG1hcmdpbi1sZWZ0OiAyNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0yNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0yOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI4JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0yOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTI4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTI5IHtcbiAgICBtYXJnaW4tbGVmdDogMjklICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTI5IHtcbiAgICBtYXJnaW4tbGVmdDogMjklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMjkge1xuICAgIG1hcmdpbi1yaWdodDogMjklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMzAge1xuICAgIG1hcmdpbi1sZWZ0OiAzMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMzAge1xuICAgIG1hcmdpbi1sZWZ0OiAzMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0zMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0zMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0zMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTMxIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTMyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTMyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMzIge1xuICAgIG1hcmdpbi1yaWdodDogMzIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMzMge1xuICAgIG1hcmdpbi1sZWZ0OiAzMyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMzMge1xuICAgIG1hcmdpbi1sZWZ0OiAzMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0zMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0zNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM0JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0zNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTM0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTM1IHtcbiAgICBtYXJnaW4tbGVmdDogMzUlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTM1IHtcbiAgICBtYXJnaW4tbGVmdDogMzUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMzUge1xuICAgIG1hcmdpbi1yaWdodDogMzUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMzYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMzYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0zNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS0zNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS0zNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTM3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxhcmdlLTM4IHtcbiAgICBtYXJnaW4tbGVmdDogMzglICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LWxhcmdlLTM4IHtcbiAgICBtYXJnaW4tbGVmdDogMzglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtbGFyZ2UtMzgge1xuICAgIG1hcmdpbi1yaWdodDogMzglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGFyZ2UtMzkge1xuICAgIG1hcmdpbi1sZWZ0OiAzOSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtbGFyZ2UtMzkge1xuICAgIG1hcmdpbi1sZWZ0OiAzOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1sYXJnZS0zOSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sYXJnZS00MCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNDAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1sYXJnZS00MCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LWxhcmdlLTQwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTEge1xuICAgIHBhZGRpbmctdG9wOiAxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTIge1xuICAgIHBhZGRpbmctdG9wOiAycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTMge1xuICAgIHBhZGRpbmctdG9wOiAzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTQge1xuICAgIHBhZGRpbmctdG9wOiA0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTUge1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTYge1xuICAgIHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtNiB7XG4gICAgcGFkZGluZy1ib3R0b206IDZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTcge1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTcge1xuICAgIHBhZGRpbmctdG9wOiA3cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtNyB7XG4gICAgcGFkZGluZy1ib3R0b206IDdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTgge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTgge1xuICAgIHBhZGRpbmctdG9wOiA4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtOCB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTkge1xuICAgIHBhZGRpbmctYm90dG9tOiA5cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogOXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTkge1xuICAgIHBhZGRpbmctdG9wOiA5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtOSB7XG4gICAgcGFkZGluZy1ib3R0b206IDlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTEwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTEwIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0xMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sYXJnZS0xMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDExcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1sYXJnZS0xMSB7XG4gICAgcGFkZGluZy10b3A6IDExcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGFyZ2UtMTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3AtbGFyZ2UtMTIge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLWxhcmdlLTEyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTEzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTEzIHtcbiAgICBwYWRkaW5nLXRvcDogMTNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0xMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sYXJnZS0xNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1sYXJnZS0xNCB7XG4gICAgcGFkZGluZy10b3A6IDE0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGFyZ2UtMTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3AtbGFyZ2UtMTUge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLWxhcmdlLTE1IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTE2IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTE2IHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0xNiB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sYXJnZS0xNyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE3cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1sYXJnZS0xNyB7XG4gICAgcGFkZGluZy10b3A6IDE3cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMTcge1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGFyZ2UtMTgge1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDE4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3AtbGFyZ2UtMTgge1xuICAgIHBhZGRpbmctdG9wOiAxOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLWxhcmdlLTE4IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTE5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTlweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxOXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTE5IHtcbiAgICBwYWRkaW5nLXRvcDogMTlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0xOSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sYXJnZS0yMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1sYXJnZS0yMCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMjAge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGFyZ2UtMjEge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDIxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3AtbGFyZ2UtMjEge1xuICAgIHBhZGRpbmctdG9wOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLWxhcmdlLTIxIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTIyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTIyIHtcbiAgICBwYWRkaW5nLXRvcDogMjJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0yMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDIycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sYXJnZS0yMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMjNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1sYXJnZS0yMyB7XG4gICAgcGFkZGluZy10b3A6IDIzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tbGFyZ2UtMjMge1xuICAgIHBhZGRpbmctYm90dG9tOiAyM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGFyZ2UtMjQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3AtbGFyZ2UtMjQge1xuICAgIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLWxhcmdlLTI0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxhcmdlLTI1IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLWxhcmdlLTI1IHtcbiAgICBwYWRkaW5nLXRvcDogMjVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1sYXJnZS0yNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTEge1xuICAgIHBhZGRpbmctbGVmdDogMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTQge1xuICAgIHBhZGRpbmctbGVmdDogNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtNSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtNiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS03IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTcge1xuICAgIHBhZGRpbmctbGVmdDogN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtOCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS04IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtOSB7XG4gICAgcGFkZGluZy1sZWZ0OiA5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0xMCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMTAge1xuICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTExIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0xMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTEyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0xMyB7XG4gICAgcGFkZGluZy1yaWdodDogMTNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMTMge1xuICAgIHBhZGRpbmctbGVmdDogMTNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTE0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0xNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTE1IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0xNiB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMTYge1xuICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTE3IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0xNyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMTgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTE4IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0xOSB7XG4gICAgcGFkZGluZy1yaWdodDogMTlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMTkge1xuICAgIHBhZGRpbmctbGVmdDogMTlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTIwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0yMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMjEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTIxIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0yMiB7XG4gICAgcGFkZGluZy1yaWdodDogMjJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMjIge1xuICAgIHBhZGRpbmctbGVmdDogMjJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LWxhcmdlLTIzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1sYXJnZS0yMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtbGFyZ2UtMjQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LWxhcmdlLTI0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1sYXJnZS0yNSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtbGFyZ2UtMjUge1xuICAgIHBhZGRpbmctbGVmdDogMjVweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgLmRkLWV4cGFuZC1zbWFsbC0xIHtcbiAgICBtYXJnaW4tbGVmdDogLTElICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMSUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLWxlZnQtc21hbGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtcmlnaHQtc21hbGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMSUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXNtYWxsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGVmdC1zbWFsbC0yIHtcbiAgICBtYXJnaW4tbGVmdDogLTIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1yaWdodC1zbWFsbC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtc21hbGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLTMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sZWZ0LXNtYWxsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMyUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXJpZ2h0LXNtYWxsLTMge1xuICAgIG1hcmdpbi1yaWdodDogLTMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1zbWFsbC00IHtcbiAgICBtYXJnaW4tbGVmdDogLTQlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNCUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLWxlZnQtc21hbGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtcmlnaHQtc21hbGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNCUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXNtYWxsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC01JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtbGVmdC1zbWFsbC01IHtcbiAgICBtYXJnaW4tbGVmdDogLTUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1yaWdodC1zbWFsbC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC01JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1leHBhbmQtc21hbGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IC02JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLTYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWV4cGFuZC1sZWZ0LXNtYWxsLTYge1xuICAgIG1hcmdpbi1sZWZ0OiAtNiUgIWltcG9ydGFudDsgfVxuICAuZGQtZXhwYW5kLXJpZ2h0LXNtYWxsLTYge1xuICAgIG1hcmdpbi1yaWdodDogLTYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDElICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAyJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA1JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTUge1xuICAgIG1hcmdpbi1yaWdodDogNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC02IHtcbiAgICBtYXJnaW4tbGVmdDogNiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC02IHtcbiAgICBtYXJnaW4tbGVmdDogNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC02IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDclICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA4JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTgge1xuICAgIG1hcmdpbi1yaWdodDogOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC05IHtcbiAgICBtYXJnaW4tbGVmdDogOSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC05IHtcbiAgICBtYXJnaW4tbGVmdDogOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC05IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0xMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDExJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDExJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTExIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDExJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTIlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMTIge1xuICAgIG1hcmdpbi1yaWdodDogMTIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0xMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTE0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTE1IHtcbiAgICBtYXJnaW4tbGVmdDogMTUlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTE1IHtcbiAgICBtYXJnaW4tbGVmdDogMTUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMTUge1xuICAgIG1hcmdpbi1yaWdodDogMTUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiAxNiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiAxNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0xNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE3JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTE3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTE4IHtcbiAgICBtYXJnaW4tbGVmdDogMTglICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTE4IHtcbiAgICBtYXJnaW4tbGVmdDogMTglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMTgge1xuICAgIG1hcmdpbi1yaWdodDogMTglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiAxOSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiAxOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0xOSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTIwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTIxIHtcbiAgICBtYXJnaW4tbGVmdDogMjElICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTIxIHtcbiAgICBtYXJnaW4tbGVmdDogMjElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMjEge1xuICAgIG1hcmdpbi1yaWdodDogMjElICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0yMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0yMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIzJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0yMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTIzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIzJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTI0IHtcbiAgICBtYXJnaW4tbGVmdDogMjQlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTI0IHtcbiAgICBtYXJnaW4tbGVmdDogMjQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMjQge1xuICAgIG1hcmdpbi1yaWdodDogMjQlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMjUge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMjUge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0yNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0yNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI2JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0yNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTI2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI2JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTI3IHtcbiAgICBtYXJnaW4tbGVmdDogMjclICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTI3IHtcbiAgICBtYXJnaW4tbGVmdDogMjclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMjcge1xuICAgIG1hcmdpbi1yaWdodDogMjclICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMjgge1xuICAgIG1hcmdpbi1sZWZ0OiAyOCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMjgge1xuICAgIG1hcmdpbi1sZWZ0OiAyOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0yOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyOCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0yOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0yOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTI5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI5JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTMwIHtcbiAgICBtYXJnaW4tbGVmdDogMzAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTMwIHtcbiAgICBtYXJnaW4tbGVmdDogMzAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMzAge1xuICAgIG1hcmdpbi1yaWdodDogMzAlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMzEge1xuICAgIG1hcmdpbi1sZWZ0OiAzMSUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMxJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMzEge1xuICAgIG1hcmdpbi1sZWZ0OiAzMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0zMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0zMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzIlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0zMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTMyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMyJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTMzIHtcbiAgICBtYXJnaW4tbGVmdDogMzMlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTMzIHtcbiAgICBtYXJnaW4tbGVmdDogMzMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMzMge1xuICAgIG1hcmdpbi1yaWdodDogMzMlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMzQge1xuICAgIG1hcmdpbi1sZWZ0OiAzNCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM0JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMzQge1xuICAgIG1hcmdpbi1sZWZ0OiAzNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0zNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0zNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzUlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0zNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTM1IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTM2IHtcbiAgICBtYXJnaW4tbGVmdDogMzYlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNiUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTM2IHtcbiAgICBtYXJnaW4tbGVmdDogMzYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMzYge1xuICAgIG1hcmdpbi1yaWdodDogMzYlICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtMzcge1xuICAgIG1hcmdpbi1sZWZ0OiAzNyUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM3JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtMzcge1xuICAgIG1hcmdpbi1sZWZ0OiAzNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC0zNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNyUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1zbWFsbC0zOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzglICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtbGVmdC1zbWFsbC0zOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXJpZ2h0LXNtYWxsLTM4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4JSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LXNtYWxsLTM5IHtcbiAgICBtYXJnaW4tbGVmdDogMzklICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzOSUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1sZWZ0LXNtYWxsLTM5IHtcbiAgICBtYXJnaW4tbGVmdDogMzklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3QtcmlnaHQtc21hbGwtMzkge1xuICAgIG1hcmdpbi1yaWdodDogMzklICFpbXBvcnRhbnQ7IH1cbiAgLmRkLWNvbXBhY3Qtc21hbGwtNDAge1xuICAgIG1hcmdpbi1sZWZ0OiA0MCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwJSAhaW1wb3J0YW50OyB9XG4gIC5kZC1jb21wYWN0LWxlZnQtc21hbGwtNDAge1xuICAgIG1hcmdpbi1sZWZ0OiA0MCUgIWltcG9ydGFudDsgfVxuICAuZGQtY29tcGFjdC1yaWdodC1zbWFsbC00MCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MCUgIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0zIHtcbiAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC00IHtcbiAgICBwYWRkaW5nLXRvcDogNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC01IHtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC02IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC02IHtcbiAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC03IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC03IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTcge1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC04IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC04IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTgge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC05IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC05IHtcbiAgICBwYWRkaW5nLXRvcDogOXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTkge1xuICAgIHBhZGRpbmctYm90dG9tOiA5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0xMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0xMCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtc21hbGwtMTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDExcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3Atc21hbGwtMTEge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTExIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXNtYWxsLTEyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLXNtYWxsLTEyIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1zbWFsbC0xMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0xMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0xMyB7XG4gICAgcGFkZGluZy10b3A6IDEzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtc21hbGwtMTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDE0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3Atc21hbGwtMTQge1xuICAgIHBhZGRpbmctdG9wOiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTE0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXNtYWxsLTE1IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLXNtYWxsLTE1IHtcbiAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1zbWFsbC0xNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0xNiB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0xNiB7XG4gICAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMTYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtc21hbGwtMTcge1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDE3cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3Atc21hbGwtMTcge1xuICAgIHBhZGRpbmctdG9wOiAxN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTE3IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXNtYWxsLTE4IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLXNtYWxsLTE4IHtcbiAgICBwYWRkaW5nLXRvcDogMThweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1zbWFsbC0xOCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0xOSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTlweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0xOSB7XG4gICAgcGFkZGluZy10b3A6IDE5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMTkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxOXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtc21hbGwtMjAge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3Atc21hbGwtMjAge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTIwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXNtYWxsLTIxIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLXNtYWxsLTIxIHtcbiAgICBwYWRkaW5nLXRvcDogMjFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1zbWFsbC0yMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIxcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0yMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDIycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMjJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0yMiB7XG4gICAgcGFkZGluZy10b3A6IDIycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMjIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtc21hbGwtMjMge1xuICAgIHBhZGRpbmctYm90dG9tOiAyM3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDIzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC10b3Atc21hbGwtMjMge1xuICAgIHBhZGRpbmctdG9wOiAyM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtYm90dG9tLXNtYWxsLTIzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXNtYWxsLTI0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtdG9wLXNtYWxsLTI0IHtcbiAgICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWJvdHRvbS1zbWFsbC0yNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1zbWFsbC0yNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMjVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXRvcC1zbWFsbC0yNSB7XG4gICAgcGFkZGluZy10b3A6IDI1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1ib3R0b20tc21hbGwtMjUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTMge1xuICAgIHBhZGRpbmctbGVmdDogM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC02IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTYge1xuICAgIHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtNyB7XG4gICAgcGFkZGluZy1yaWdodDogN3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC03IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtOCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC05IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTkge1xuICAgIHBhZGRpbmctbGVmdDogOXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTEwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0xMSB7XG4gICAgcGFkZGluZy1yaWdodDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMTEge1xuICAgIHBhZGRpbmctbGVmdDogMTFweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTEyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0xMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTEzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0xNCB7XG4gICAgcGFkZGluZy1yaWdodDogMTRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMTQge1xuICAgIHBhZGRpbmctbGVmdDogMTRweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTE1IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0xNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMTYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTE2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0xNyB7XG4gICAgcGFkZGluZy1yaWdodDogMTdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMTcge1xuICAgIHBhZGRpbmctbGVmdDogMTdweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTE4IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0xOCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMTkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTE5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE5cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0yMCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMjAge1xuICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTIxIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0yMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMjIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTIyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1yaWdodC1zbWFsbC0yMyB7XG4gICAgcGFkZGluZy1yaWdodDogMjNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLWxlZnQtc21hbGwtMjMge1xuICAgIHBhZGRpbmctbGVmdDogMjNweCAhaW1wb3J0YW50OyB9XG4gIC5kZC1wdXNoLXJpZ2h0LXNtYWxsLTI0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtbGVmdC1zbWFsbC0yNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRkLXB1c2gtcmlnaHQtc21hbGwtMjUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHggIWltcG9ydGFudDsgfVxuICAuZGQtcHVzaC1sZWZ0LXNtYWxsLTI1IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHggIWltcG9ydGFudDsgfSB9XG5cbi5kZC1nbHlwaC1ncmF5IHtcbiAgY29sb3I6ICMxZDFkMWY7IH1cblxuLmRkLWdseXBoLWdyYXktc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM2ZTZlNzM7IH1cblxuLmRkLWdseXBoLWdyYXktc2Vjb25kYXJ5LWFsdCB7XG4gIGNvbG9yOiAjNDI0MjQ1OyB9XG5cbi5kZC1nbHlwaC1ncmF5LXRlcnRpYXJ5IHtcbiAgY29sb3I6ICM4Njg2OGI7IH1cblxuLmRkLWdseXBoLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5kZC1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIC0tcmliYm9uLWJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5kZC1maWxsLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmQ7XG4gIC0tcmliYm9uLWJhY2tncm91bmQtY29sb3I6ICNmYmZiZmQ7IH1cblxuLmRkLWZpbGwtdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY3O1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY3OyB9XG5cbi5kZC1maWxsLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFmO1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFmOyB9XG5cbi5kZC1maWxsLWdyYXktc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2ODY4YjtcbiAgLS1yaWJib24tYmFja2dyb3VuZC1jb2xvcjogIzg2ODY4YjsgfVxuXG4uZGQtZmlsbC1ncmF5LXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyZDJkNztcbiAgLS1yaWJib24tYmFja2dyb3VuZC1jb2xvcjogI2QyZDJkNzsgfVxuXG4uZGQtZmlsbC1ncmF5LXF1YXRlcm5hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGVkO1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGVkOyB9XG5cbi5kZC1maWxsLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIC0tcmliYm9uLWJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi5kZC1maWxsLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbi5kZC1maWxsLWJhY2tncm91bmRmb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG5cbi50dy1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRkLWdyaWQgdWwucm93LFxuLmRkLWdyaWQgb2wucm93LFxuLmRkLWdyaWQgZGl2LnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5kZC1ncmlkIGxpLmNvbHVtbixcbi5kZC1ncmlkIGRpdi5jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmRkLWdyaWQgLmRkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgLmRkLWdyaWQgLmRkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gIC5kZC1ncmlkIC5jb2x1bW4uc21hbGwtMTIgLmRkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmRkLWdyaWQgLmRkLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZGQtZ3JpZCAuZGQtY29udGVudFtkYXRhLXRyaWdnZXItY2xpY2tdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRkLWdyaWQgLmRkLWNvbnRlbnQ6aG92ZXIgYVtkYXRhLWRkLWxpbmtdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZGQtb3BzLWRldmljZXMgLmRkLWluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4NDJweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgcGFkZGluZy1ib3R0b206IDQzcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLWRldmljZXMgLmRkLWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgcGFkZGluZy10b3A6IDU5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjNweDsgfSB9XG5cbi5kZC1vcHMtZGV2aWNlcyAuZGQtdGlsZXMge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyB1bC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5kZC1vcHMtZGV2aWNlcyAuZGQtdGlsZXMgbGkuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5kZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5jb2x1bW46bnRoLWNoaWxkKDMpLCAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5jb2x1bW46bnRoLWNoaWxkKDQpIHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgICAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5jb2x1bW46bnRoLWNoaWxkKDMpLCAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5jb2x1bW46bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5pdGlhbDsgfSB9XG4gIC5kZC1vcHMtZGV2aWNlcyAuZGQtdGlsZXMgLmNvbHVtbjpudGgtY2hpbGQob2RkKSAuZGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuY29sdW1uOm50aC1jaGlsZChvZGQpIC5kZC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuY29sdW1uOm50aC1jaGlsZChldmVuKSAuZGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuY29sdW1uOm50aC1jaGlsZChldmVuKSAuZGQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5kZC1vcHMtZGV2aWNlcyAuZGQtdGlsZXMgLmRkLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuZGQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9IH1cbiAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuZGQtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiA1MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAgIC5kZC1vcHMtZGV2aWNlcyAuZGQtdGlsZXMgLmRkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuZGQtdGlsZS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuZGQtdGlsZS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTEwcHg7IH0gfVxuICAuZGQtb3BzLWRldmljZXMgLmRkLXRpbGVzIC5kZC10aWxlLWhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xOXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1kZXZpY2VzIC5kZC10aWxlcyAuZGQtdGlsZS1oZXJvIHtcbiAgICAgICAgdG9wOiAtMTVweDsgfSB9XG5cbi5kZC1vcHMtZGV2aWNlcyAuZGQtYXgtaW5mbyB7XG4gIHdpZHRoOiAzMzdweDtcbiAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgLmRkLW9wcy1kZXZpY2VzIC5kZC1heC1pbmZvIHtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAuZGQtb3BzLWRldmljZXMgLmRkLWF4LWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuLmRkLW9wcy1kZXZpY2VzIC5kZC1heC1oZXJvIHtcbiAgbWFyZ2luLWxlZnQ6IDg4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLWRldmljZXMgLmRkLWF4LWhlcm8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4uZGQtb3BzLWRldmljZXMgLmRkLWF4IC5jb2x1bW4gKyAuY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDY5cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLWRldmljZXMgLmRkLWF4IC5jb2x1bW4gKyAuY29sdW1uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9IH1cblxuLmRkLW9wcy1oZWFkZXIgLmRkLWluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzhweDtcbiAgd2lkdGg6IDcxNXB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLWhlYWRlciAuZGQtaW5mbyB7XG4gICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nLXRvcDogNTJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7IH0gfVxuXG4uZGQtb3BzLWhlYWRlciAuZGQtaW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZGQtb3BzLXB1cmNoYXNlIC5kZC1pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1vcHMtcHVyY2hhc2UgLmRkLWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgcGFkZGluZy10b3A6IDU5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDsgfSB9XG5cbi5kZC1vcHMtcHVyY2hhc2UgLmRkLXNob3Age1xuICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1vcHMtcHVyY2hhc2UgLmRkLXNob3Age1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuXG4uZGQtb3BzLXB1cmNoYXNlIHVsLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgLmRkLW9wcy1wdXJjaGFzZSB1bC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH0gfVxuXG4uZGQtb3BzLXB1cmNoYXNlIGxpLmNvbHVtbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAuZGQtb3BzLXB1cmNoYXNlIC5jb2x1bW46bnRoLWNoaWxkKDMpLCAuZGQtb3BzLXB1cmNoYXNlIC5jb2x1bW46bnRoLWNoaWxkKDQpIHtcbiAgICBtYXJnaW4tdG9wOiAyOHB4OyB9IH1cblxuLmRkLW9wcy1wdXJjaGFzZSAuZGQtaXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1vcHMtcHVyY2hhc2UgLmRkLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5kZC1vcHMtcHVyY2hhc2UgLmRkLWltYWdlIHtcbiAgbWluLWhlaWdodDogNjVweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmRkLW9wcy1wdXJjaGFzZSAuZGQtc2NoZWR1bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgLmRkLW9wcy1wdXJjaGFzZSAuZGQtc2NoZWR1bGUge1xuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLmRkLW9wcy1wdXJjaGFzZSAuZGQtc2NoZWR1bGUgLnQtYm9keSA+IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5kZC1vcHMtc2Vzc2lvbnMgLmRkLWluZm8sIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLXNjaGVkdWxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5kZC1vcHMtc2Vzc2lvbnMgLmRkLWluZm8ge1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgcGFkZGluZy1ib3R0b206IDM0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLXNlc3Npb25zIC5kZC1pbmZvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmRkLW9wcy1zZXNzaW9ucyAuZGQtc2NoZWR1bGUge1xuICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLXNlc3Npb25zIC5kZC1zY2hlZHVsZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgNjdweDsgfSB9XG4gIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLXNjaGVkdWxlIHAgPiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZGQtb3BzLXNlc3Npb25zIC5kZC1ncmlkIHtcbiAgd2lkdGg6IDgyMnB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNzM2cHgpIHtcbiAgICAuZGQtb3BzLXNlc3Npb25zIC5kZC1ncmlkIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmRkLW9wcy1zZXNzaW9ucyAuZGQtZ3JpZCAuZGQtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLWdyaWQgLmRkLWdyaWQtaW5mbyB7XG4gICAgcGFkZGluZzogNDBweCAwIDQwcHggMzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgICAuZGQtb3BzLXNlc3Npb25zIC5kZC1ncmlkIC5kZC1ncmlkLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiA1NnB4IDMycHggMTJweDsgfSB9XG4gIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLWdyaWQgLmNvbHVtbjpudGgtY2hpbGQoMSkgLmRkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1zZXNzaW9ucyAuZGQtZ3JpZCAuY29sdW1uOm50aC1jaGlsZCgxKSAuZGQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuZGQtb3BzLXNlc3Npb25zIC5kZC1ncmlkIC5jb2x1bW46bnRoLWNoaWxkKDIpIC5kZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE3cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgLmRkLW9wcy1zZXNzaW9ucyAuZGQtZ3JpZCAuY29sdW1uOm50aC1jaGlsZCgyKSAuZGQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLWdyaWQgLmNvbHVtbjpudGgtY2hpbGQoMykgLmRkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAzNHB4OyB9XG4gICAgLmRkLW9wcy1zZXNzaW9ucyAuZGQtZ3JpZCAuY29sdW1uOm50aC1jaGlsZCgzKSAuZGQtd3JhcHBlciAuZGQtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgICAgICAuZGQtb3BzLXNlc3Npb25zIC5kZC1ncmlkIC5jb2x1bW46bnRoLWNoaWxkKDMpIC5kZC13cmFwcGVyIC5kZC1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmRkLW9wcy1zZXNzaW9ucyAuZGQtZ3JpZCAuY29sdW1uOm50aC1jaGlsZCgzKSAuZGQtd3JhcHBlciAuZGQtaGVybyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogLTE0cHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KSB7XG4gICAgICAgIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLWdyaWQgLmNvbHVtbjpudGgtY2hpbGQoMykgLmRkLXdyYXBwZXIgLmRkLWhlcm8ge1xuICAgICAgICAgIHJpZ2h0OiA4cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3MzZweCkge1xuICAgIC5kZC1vcHMtc2Vzc2lvbnMgLmRkLWdyaWQgLmNvbHVtbiArIC5jb2x1bW4gLmRkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7IH0gfVxuXG4uZGQtbC1wbGF0ZSAuZGQtaGVybyB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiIsIi8vLy9cbi8vLyBNb2R1bGVzIC8gVHlwb2dyYXBoeSAvIENvcmVcbi8vL1xuLy8vIEBncm91cCBtb2R1bGVzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vXG4vLy8gVHlwb2dyYXBoeSBjbGFzcyBuYW1lXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJHR5cG9ncmFwaHktY2xhc3NuYW1lOiAndHlwb2dyYXBoeScgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhbnkgY2xhc3MgY29udGFpbmluZyBgZXllYnJvd1steF1gXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGV5ZWJyb3ctbWFyZ2luOiAkZGVmYXVsdC1zdGFja2VkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgcGFyYWdyYXBoL2xpc3QgaW4gYSAncmVkdWNlZCcgbG9ja3VwXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGxvY2t1cC1yZWR1Y2VkLW1hcmdpbjogMWVtICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYW4gYGludHJvYCBpbiBhICdiYXNlJyBsb2NrdXBcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kbG9ja3VwLWJhc2UtbWFyZ2luOiAxLjJlbSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGFuIGBpbnRyby1lbGV2YXRlZGAgaW4gYSAnZWxldmF0ZWQnIGxvY2t1cFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRsb2NrdXAtZWxldmF0ZWQtbWFyZ2luOiAxLjRlbSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGFuIGBpbnRyby1lbGV2YXRlZGAgaW4gYSAnc3VwZXInIGxvY2t1cFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRsb2NrdXAtc3VwZXItbWFyZ2luOiAxLjZlbSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjdXN0b21pemluZyB0eXBvZ3JhcGh5IHNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlY2VkaW5nLXR5cG9ncmFwaHkgW2hlYWRsaW5lXVxuLy8vICAgTmFtZSBmb3IgdGhlIHByZWNlZGluZyB0eXBvZ3JhcGh5LiBNYXBzIHRvIGNsYXNzbmFtZSBgLnR5cG9ncmFwaHktWyRwcmVjZWRpbmctdHlwb2dyYXBoeV1gXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1Y2NlZWRpbmctdHlwb2dyYXBoeSBbaW50cm9dXG4vLy8gICBOYW1lIGZvciB0aGUgc3VjY2VlZGluZyB0eXBvZ3JhcGh5LiBNYXBzIHRvIGNsYXNzbmFtZSBgLnR5cG9ncmFwaHktWyRzdWNjZWVkaW5nLXR5cG9ncmFwaHldYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRsb2NrdXAtYmFzZS1tYXJnaW5dXG4vLy8gICBNYXJnaW4gdG9wIGZvciAkc3VjY2VlZGluZy10eXBvZ3JhcGh5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vL1x0IC5jdXN0b20tdHlwb2dyYXBoeSB7XG4vLy9cdFx0IEBpbmNsdWRlIHR5cG9ncmFwaHktc3BhY2luZyhcbi8vL1x0XHRcdCAkcHJlY2VkaW5nLXR5cG9ncmFwaHk6IGhlYWRsaW5lLXJlZHVjZWQsXG4vLy9cdFx0XHQgJHN1Y2NlZWRpbmctdHlwb2dyYXBoeTogYm9keVxuLy8vXHRcdCApO1xuLy8vXHQgfVxuLy8vXG5AbWl4aW4gdHlwb2dyYXBoeS1zcGFjaW5nKFxuXHQkcHJlY2VkaW5nLXR5cG9ncmFwaHk6IGhlYWRsaW5lLFxuXHQkc3VjY2VlZGluZy10eXBvZ3JhcGh5OiBpbnRybyxcblx0JG1hcmdpbjogJGxvY2t1cC1iYXNlLW1hcmdpblxuKSB7XG5cdCRzdWNjZWVkaW5nOiAnKyAuI3skdHlwb2dyYXBoeS1jbGFzc25hbWV9LSN7JHN1Y2NlZWRpbmctdHlwb2dyYXBoeX0nO1xuXG5cdC8vIGZvciBgYm9keWAgdHlwb2dyYXBoeSwgYXNzdW1lIGEgYHBgIG9yIGB1bGAgbWlnaHQgYmUgdXNlZFxuXHQvLyBpbnN0ZWFkIG9mIHRoZSBgLnR5cG9ncmFwaHktYm9keWAgY2xhc3Ncblx0JGxpc3Q6ICcrIHAnLCAnKyB1bCc7XG5cdEBpZiAkc3VjY2VlZGluZy10eXBvZ3JhcGh5ID09IGJvZHkge1xuXHRcdCRzdWNjZWVkaW5nOiBhcHBlbmQoJGxpc3QsICRzdWNjZWVkaW5nKTtcblx0fVxuXG5cdC4jeyR0eXBvZ3JhcGh5LWNsYXNzbmFtZX0tI3skcHJlY2VkaW5nLXR5cG9ncmFwaHl9IHtcblx0XHQjeyRzdWNjZWVkaW5nfSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHRcdH1cblx0fVxufVxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI3LjEwLjBcIjtcbiIsIi5kZC1sLXBsYXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSB2aWV3cG9ydC1jb250ZW50LWZvcihsYXJnZSk7XG4gIEBpbmNsdWRlIHZpZXdwb3J0LWNvbnRlbnQtZm9yKHNtYWxsKTtcbiAgQGluY2x1ZGUgc2VsZmNsZWFyKCk7XG59XG5cbi8vIEBpbmNsdWRlIGRkLWwtbXcodmFsdWUsIGJvb2xlYW4pO1xuLy8gVXNlIHdoZW4gcGxhdGUgaXMgd2lkZXIgdGhhbiA5ODBweFxuQG1peGluIGRkLXdpZHRoLWluaXRpYWxzIHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG59XG5AbWl4aW4gZGQtbC1tdygkd2lkdGgsICRkZWZhdWx0LXNtYWxsLXBsYXRlOiBmYWxzZSkgeyAvLyB3aGVuICd0cnVlJyBkZC1sLXBsYXRlIChzbWFsbCkgc3R5bGluZyBpcyBhcHBsaWVkXG4gIC5kZC1sLW13I3skd2lkdGh9IHtcbiAgICBtYXgtd2lkdGg6ICN7JHdpZHRofXB4O1xuICAgIG1pbi13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpZiAkZGVmYXVsdC1zbWFsbC1wbGF0ZSB7IFxuICAgICAgQGluY2x1ZGUgdmlld3BvcnQtY29udGVudC1mb3Ioc21hbGwpO1xuICAgIH1cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgZGQtd2lkdGgtaW5pdGlhbHMoKTtcbiAgICB9XG4gICAgQGNvbnRlbnQ7IC8vIGFsbG93cyBhZGRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgaWYgbmVlZGVkXG4gIH1cbn1cblxuIiwiLy8vL1xuLy8vIENvcmUgLyBWaWV3cG9ydHNcbi8vL1xuLy8vIEBncm91cCB2aWV3cG9ydHNcbi8vLy9cblxuLy8vXG4vLy8gVmlld3BvcnQgRGljdGlvbmFyeVxuLy8vXG4vLy8gQHR5cGUge01hcH1cbi8vL1xuLy8vIEBwcm9wIHtNYXB9ICRuYW1lXG4vLy8gICBBIE1hcCBvZiB2aWV3cG9ydCBwcm9wZXJ0aWVzXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkbmFtZS5taW4td2lkdGggW29wdGlvbmFsXVxuLy8vICAgVmFsdWUgZm9yIGEgYG1pbi13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9ICRuYW1lLm1heC13aWR0aCBbb3B0aW9uYWxdXG4vLy8gICBWYWx1ZSBmb3IgYSBgbWF4LXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gJG5hbWUubWF4LWRldmljZS13aWR0aCBbb3B0aW9uYWxdXG4vLy8gICBWYWx1ZSBmb3IgYSBgbWF4LWRldmljZS13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9ICRuYW1lLmNvbnRlbnQgW29wdGlvbmFsXVxuLy8vICAgQ29udGVudCBgd2lkdGhgIChmb3IgYHZpZXdwb3J0LWNvbnRlbnQoKWApXG4vLy9cbi8vLyBAcHJvcCB7U3RyaW5nfEJvb2xlYW59ICRuYW1lLnF1ZXJ5IFtvcHRpb25hbF1cbi8vLyAgIEEgY3VzdG9tIHF1ZXJ5IG9yIGBmYWxzZWAgZm9yIG5vIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkLXZpZXdwb3J0czogKFxuLy8vICAgICBsYXJnZTogKFxuLy8vICAgICAgIG1pbi13aWR0aDogMTA2OXB4LFxuLy8vICAgICAgIG1heC13aWR0aDogMTQ0MHB4LFxuLy8vICAgICAgIGNvbnRlbnQ6IDk4MHB4XG4vLy8gICAgICksXG4vLy8gICAgIHhsYXJnZTogKFxuLy8vICAgICAgIG1pbi13aWR0aDogMTQ0MXB4LFxuLy8vICAgICAgIGNvbnRlbnQ6IDk4MHB4XG4vLy8gICAgICksXG4vLy8gICAgIG1lZGl1bTogKFxuLy8vICAgICAgIG1pbi13aWR0aDogNzM1cHgsXG4vLy8gICAgICAgbWF4LXdpZHRoOiAxMDY4cHgsXG4vLy8gICAgICAgY29udGVudDogNjkycHhcbi8vLyAgICAgKSxcbi8vLyAgICAgc21hbGw6IChcbi8vLyAgICAgICBtaW4td2lkdGg6IDMyMHB4LFxuLy8vICAgICAgIG1heC13aWR0aDogNzM0cHgsXG4vLy8gICAgICAgY29udGVudDogMjg4cHhcbi8vLyAgICAgKVxuLy8vICAgKTtcbi8vL1xuJC12aWV3cG9ydHM6ICgpO1xuXG4vLy9cbi8vLyBNZW1vaXplZCBtZWRpYSBxdWVyaWVzIGZvciB2aWV3cG9ydHNcbi8vL1xuJC12aWV3cG9ydHMtbWVtb2l6ZWQ6ICgpO1xuXG4vLy9cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIHZpZXdwb3J0IG5hbWVzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVzcGFjZSBbbnVsbF1cbi8vLyAgIFJlcXVlc3QgYSBsaXN0IG9mIHZpZXdwb3J0cyB1bmRlciBhIHNoYXJlZCBuYW1lc3BhY2UuXG4vLy8gICBOYW1lc3BhY2VzIGFyZSBpbiB0aGUgZm9ybSBvZiBgbmFtZXNwYWNlOnZpZXdwb3J0YC5cbi8vLyAgIGBudWxsYCBmb3IgYWxsIHZpZXdwb3J0cywgYGRlZmF1bHRgIGZvciB2aWV3cG9ydHMgd2l0aG91dCBhIG5hbWVzcGFjZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fVxuLy8vICAgQSBsaXN0IG9mIHZpZXdwb3J0IG5hbWVzIC8gbWFwIGtleXNcbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZTogbnVsbCkge1xuXHRAaWYgdHlwZS1vZigkLXZpZXdwb3J0cykgIT0gXCJtYXBcIiB7XG5cdFx0QGVycm9yICdUaGUgVmlld3BvcnRzIERpY3Rpb25hcnkgaGFzIGJlZW4gdW5leHBlY3RlZGx5IG1vZGlmaWVkLic7XG5cdH1cblxuXHQka2V5czogbWFwLWtleXMoJC12aWV3cG9ydHMpO1xuXG5cdEBpZiBub3QgJG5hbWVzcGFjZSB7XG5cdFx0QHJldHVybiAka2V5cztcblx0fVxuXG5cdCRsaXN0OiAoKTtcblxuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHRAaWYgJG5hbWVzcGFjZSA9PSBkZWZhdWx0IHtcblx0XHRcdEBpZiBzdHItaW5kZXgoJGtleSwgJzonKSA9PSBudWxsIHtcblx0XHRcdFx0JGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGtleSk7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaWYgc3RyLWluZGV4KCRrZXksICRuYW1lc3BhY2UgKyAnOicpID09IDEge1xuXHRcdFx0XHQkbGlzdDogYXBwZW5kKCRsaXN0LCAka2V5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICRsaXN0O1xufVxuXG4vLy9cbi8vLyBDaGVjayBpZiBhIHZpZXdwb3J0IHdpdGggdGhlIGdpdmVuIG5hbWUgaXMgZGVmaW5lZFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufVxuLy8vICAgYHRydWVgIGlmIHRoZSB2aWV3cG9ydCBpcyBkZWZpbmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtZXhpc3RzKCRuYW1lKSB7XG5cdEByZXR1cm4gbWFwLWhhcy1rZXkoJC12aWV3cG9ydHMsICRuYW1lKTtcbn1cblxuLy8vXG4vLy8gR2V0IHZpZXdwb3J0IGRhdGEgZm9yIGEgZ2l2ZW4gbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEByZXR1cm5zIHtNYXB9XG4vLy8gICBBIHR5cG9ncmFwaHkgTWFwLCBvciBgbnVsbGAgaWYgdW5kZWZpbmVkXG4vLy9cbkBmdW5jdGlvbiB2aWV3cG9ydC1nZXQoJG5hbWUpIHtcblx0JHZpZXdwb3J0OiBtYXAtZ2V0KCQtdmlld3BvcnRzLCAkbmFtZSk7XG5cblx0QGlmICR2aWV3cG9ydCB7XG5cdFx0QHJldHVybiAkdmlld3BvcnQ7XG5cdH1cblxuXHRAcmV0dXJuIHdhcm4tdW5kZWZpbmVkKHZpZXdwb3J0LCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEFkZCBhIHZpZXdwb3J0IHRvIHRoZSBWaWV3cG9ydCBEaWN0aW9uYXJ5LlxuLy8vIE92ZXJ3cml0ZXMgZXhpc3Rpbmcgdmlld3BvcnQgZGF0YS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHByb3BlcnRpZXNcbi8vLyAgIEEgbWFwIG9mIHZpZXdwb3J0IHByb3BlcnRpZXNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRlZmF1bHQgW2ZhbHNlXVxuLy8vICAgVHJlYXQgbGlrZSBhIGAhZGVmYXVsdGAgZGVmaW5pdGlvblxuLy8vXG5AbWl4aW4gdmlld3BvcnQtc2V0KCRuYW1lLCAkcHJvcGVydGllcywgJGRlZmF1bHQ6IGZhbHNlKSB7XG5cblx0QGlmICRkZWZhdWx0ID09IGZhbHNlIG9yIHZpZXdwb3J0LWV4aXN0cygkbmFtZSkgPT0gZmFsc2Uge1xuXHRcdCQtdmlld3BvcnRzOiBtYXAtc2V0KCQtdmlld3BvcnRzLCAkbmFtZSwgJHByb3BlcnRpZXMpICFnbG9iYWw7XG5cdH1cblxuXHQkLXZpZXdwb3J0cy1tZW1vaXplZDogbWFwLXJlbW92ZSgkLXZpZXdwb3J0cy1tZW1vaXplZCwgJG5hbWUpICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIEFkZCBhIHZpZXdwb3J0IHRvIHRoZSBWaWV3cG9ydCBEaWN0aW9uYXJ5LlxuLy8vIE1lcmdlcyBleGlzdGluZyB2aWV3cG9ydCBkYXRhLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkcHJvcGVydGllc1xuLy8vICAgQSBtYXAgb2Ygdmlld3BvcnQgcHJvcGVydGllc1xuLy8vXG5AbWl4aW4gdmlld3BvcnQtbWVyZ2UoJG5hbWUsICRwcm9wZXJ0aWVzKSB7XG5cdEBpZiAodmlld3BvcnQtZXhpc3RzKCRuYW1lKSA9PSBmYWxzZSkge1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtc2V0KCRuYW1lLCAkcHJvcGVydGllcyk7XG5cblx0fSBAZWxzZSB7XG5cblx0XHQkcHJvcGVydGllczogbWFwLW1lcmdlKG1hcC1nZXQoJC12aWV3cG9ydHMsICRuYW1lKSwgJHByb3BlcnRpZXMpO1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtc2V0KCRuYW1lLCAkcHJvcGVydGllcyk7XG5cblx0XHQkdmlld3BvcnRzLXRtcDogKCk7XG5cblx0XHQvLyBjbGVhbnVwIG51bGwgdmFsdWVzXG5cdFx0QGVhY2ggJHZpZXdwb3J0LW5hbWUgaW4gdmlld3BvcnQtbGlzdCgpIHtcblxuXHRcdFx0JHZpZXdwb3J0LXByb3BlcnRpZXM6IHZpZXdwb3J0LWdldCgkdmlld3BvcnQtbmFtZSk7XG5cblx0XHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICR2aWV3cG9ydC1wcm9wZXJ0aWVzIHtcblxuXHRcdFx0XHRAaWYgJHZhbHVlID09IG51bGwge1xuXHRcdFx0XHRcdCR2aWV3cG9ydC1wcm9wZXJ0aWVzOiBtYXAtcmVtb3ZlKCR2aWV3cG9ydC1wcm9wZXJ0aWVzLCAkcHJvcGVydHkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCR2aWV3cG9ydHMtdG1wOiBtYXAtc2V0KCR2aWV3cG9ydHMtdG1wLCAkdmlld3BvcnQtbmFtZSwgJHZpZXdwb3J0LXByb3BlcnRpZXMpO1xuXHRcdH1cblxuXHRcdCQtdmlld3BvcnRzOiAkdmlld3BvcnRzLXRtcCAhZ2xvYmFsO1xuXHRcdCQtdmlld3BvcnRzLW1lbW9pemVkOiBtYXAtcmVtb3ZlKCQtdmlld3BvcnRzLW1lbW9pemVkLCAkbmFtZSkgIWdsb2JhbDtcblxuXHR9XG59XG5cbi8vL1xuLy8vIFJlbW92ZSBhIHZpZXdwb3J0IGZyb20gdGhlIFZpZXdwb3J0IERpY3Rpb25hcnlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWUgLyBtYXAga2V5XG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1yZW1vdmUoJG5hbWUpIHtcblx0JC12aWV3cG9ydHM6IG1hcC1yZW1vdmUoJC12aWV3cG9ydHMsICRuYW1lKSAhZ2xvYmFsO1xufVxuXG4vLy9cbi8vLyBSZXR1cm5zIHRoZSBtZWRpYSBxdWVyeSBmb3IgYSBnaXZlbiB2aWV3cG9ydFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ3xCb29sZWFufVxuLy8vIFx0VGhlIG1lZGlhIHF1ZXJ5IG9yIGBmYWxzZWAgaWYgdGhlIHZpZXdwb3J0IGhhcyBubyBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQoJG5hbWUpIHtcblx0JHF1ZXJ5OiBmYWxzZTtcblx0JHZpZXdwb3J0OiB2aWV3cG9ydC1nZXQoJG5hbWUpO1xuXG5cdEBpZiAkdmlld3BvcnQge1xuXHRcdCRxdWVyeTogbWFwLWdldCgkLXZpZXdwb3J0cy1tZW1vaXplZCwgJG5hbWUpO1xuXG5cdFx0QGlmIG5vdCAkcXVlcnkge1xuXHRcdFx0QGlmIG1hcC1oYXMta2V5KCR2aWV3cG9ydCwgcXVlcnkpIHtcblx0XHRcdFx0JHF1ZXJ5OiBtYXAtZ2V0KCR2aWV3cG9ydCwgcXVlcnkpO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRtaW4td2lkdGg6IHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoJG5hbWUsIG1pbi13aWR0aCk7XG5cdFx0XHRcdCRtYXgtd2lkdGg6IHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoJG5hbWUsIG1heC13aWR0aCk7XG5cblx0XHRcdFx0QGlmICRtaW4td2lkdGggPT0gJHZpZXdwb3J0LWJhc2Utd2lkdGgge1xuXHRcdFx0XHRcdCRxdWVyeTogZmFsc2U7XG5cdFx0XHRcdH0gQGVsc2UgaWYgJG1heC13aWR0aCA9PSBmYWxzZSBvciAkbWluLXdpZHRoIGFuZCAkbWluLXdpZHRoID4gJHZpZXdwb3J0LWJhc2Utd2lkdGgge1xuXHRcdFx0XHRcdCRxdWVyeTogbWluLXdpZHRoKCRtaW4td2lkdGgpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHQkcXVlcnk6IG1heC13aWR0aCgkbWF4LXdpZHRoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCRtYXgtZGV2aWNlLXdpZHRoOiBtYXAtZ2V0KCR2aWV3cG9ydCwgbWF4LWRldmljZS13aWR0aCk7XG5cblx0XHRcdFx0QGlmICRtYXgtZGV2aWNlLXdpZHRoIHtcblx0XHRcdFx0XHQkcXVlcnk6ICRxdWVyeSArICcgYW5kICcgKyBtYXgtZGV2aWNlLXdpZHRoKCRtYXgtZGV2aWNlLXdpZHRoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQkLXZpZXdwb3J0cy1tZW1vaXplZDogbWFwLXNldCgkLXZpZXdwb3J0cy1tZW1vaXplZCwgJG5hbWUsICRxdWVyeSkgIWdsb2JhbDtcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICRxdWVyeTtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgdmlld3BvcnQgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZSAvIG1hcCBrZXksIG9yXG4vLy8gICBBIGxpc3Qgb2YgcG9zc2libGUgdmlld3BvcnRzICh0aGUgZmlyc3Qgb25lIGRlZmluZWQgdG8gYmUgdXNlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgICBoZWlnaHQ6IDEwMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIG91dHB1dFxuLy8vICAgQG1lZGlhICguLi4pIHtcbi8vLyAgICAgLmV4YW1wbGUge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgICBoZWlnaHQ6IDEwMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbkBtaXhpbiB2aWV3cG9ydCgkbmFtZSkge1xuXHQkbmV3LW5hbWU6IGZhbHNlO1xuXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBsaXN0IHtcblx0XHRAZWFjaCAkbmFtZS1uIGluICRuYW1lIHtcblx0XHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJG5hbWUtbikgYW5kICRuZXctbmFtZSA9PSBmYWxzZSB7XG5cdFx0XHRcdCRuZXctbmFtZTogJG5hbWUtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJG5ldy1uYW1lICE9IGZhbHNlIHtcblx0XHQkbmFtZTogJG5ldy1uYW1lO1xuXHR9XG5cblx0Ly8gSWYgYXQgbGVhc3Qgb25lIGZhbGxiYWNrIHZpZXdwb3J0IGhhcyBiZWVuIGZvdW5kXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBzdHJpbmcge1xuXHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJG5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKHZpZXdwb3J0KCRuYW1lKSkge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIHdhcm4tdW5kZWZpbmVkKHZpZXdwb3J0LCAkbmFtZSk7XG5cdH1cbn1cblxuLy8vXG4vLy8gQ2hlY2sgaWYgYSBwcm9wZXJ0eSBpcyBkZWZpbmVkIGZvciBhIGdpdmVuIHZpZXdwb3J0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgVGhlIHZpZXdwb3J0IG5hbWVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFRoZSBwcm9wZXJ0eSBrZXlcbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufVxuLy8vICAgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBkZWZpbmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtaGFzLXByb3BlcnR5LWZvcigkbmFtZSwgJHByb3BlcnR5KSB7XG5cdEByZXR1cm4gdmlld3BvcnQtZXhpc3RzKCRuYW1lKSBhbmQgbWFwLWhhcy1rZXkodmlld3BvcnQtZ2V0KCRuYW1lKSwgJHByb3BlcnR5KTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgcHJvcGVydHkgZm9yIGEgZ2l2ZW4gdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgVGhlIHByb3BlcnR5IGtleVxuLy8vXG4vLy8gQHJldHVybnMgeyp9XG4vLy8gICBUaGUgcHJvcGVydHkncyB2YWx1ZSwgb3IgYG51bGxgIGlmIHVuZGVmaW5lZFxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgJHByb3BlcnR5KSB7XG5cdEBpZiB2aWV3cG9ydC1oYXMtcHJvcGVydHktZm9yKCRuYW1lLCAkcHJvcGVydHkpIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQodmlld3BvcnQtZ2V0KCRuYW1lKSwgJHByb3BlcnR5KTtcblx0fVxuXG5cdEByZXR1cm4gbnVsbDtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGB3aWR0aGAgZm9yIGFsbCB2aWV3cG9ydHMgYmFzZWQgb24gdGhlIGBjb250ZW50YCBwcm9wZXJ0eVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lc3BhY2UgW2RlZmF1bHRdXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZXNwYWNlIHRvIG91dHB1dFxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY29udGVudCgkbmFtZXNwYWNlOiBkZWZhdWx0KSB7XG5cdEBlYWNoICRuYW1lIGluIHZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZSkge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNvbnRlbnQtZm9yKCRuYW1lKTtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYHdpZHRoYCBmb3IgYSBnaXZlbiB2aWV3cG9ydCBiYXNlZCBvbiB0aGUgYGNvbnRlbnRgIHByb3BlcnR5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY29udGVudC1mb3IoJG5hbWUpIHtcblx0JHdpZHRoOiB2aWV3cG9ydC1jb250ZW50LWZvcigkbmFtZSk7XG5cblx0QGlmICR3aWR0aCB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIGNlbnRlcigpO1xuXHRcdFx0d2lkdGg6ICR3aWR0aDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBjb250ZW50IHdpZHRoIG9mIGEgZ2l2ZW4gdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vICAgVGhlIHZpZXdwb3J0J3MgY29udGVudCB3aWR0aC5cbi8vLyAgIEluIGBweGAgZm9yIG5vbi1mbGV4aWJsZSB2aWV3cG9ydHMuXG4vLy8gICBJbiBgJWAgZm9yIGZsZXhpYmxlIHZpZXdwb3J0cy5cbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWNvbnRlbnQtZm9yKCRuYW1lKSB7XG5cdCRjb250ZW50OiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCRuYW1lLCBjb250ZW50KTtcblxuXHRAaWYgJGNvbnRlbnQge1xuXHRcdCRtYXgtd2lkdGg6IHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoJG5hbWUsIG1heC13aWR0aCk7XG5cdFx0JG1pbi13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgbWluLXdpZHRoKTtcblxuXHRcdEBpZiAkbWF4LXdpZHRoIGFuZCAkbWluLXdpZHRoIGFuZCAkbWF4LXdpZHRoIDw9IHZpZXdwb3J0LWZsZXhpYmxlLW1heC13aWR0aCgpIHtcblx0XHRcdEByZXR1cm4gcGVyY2VudGFnZSgkY29udGVudCAvICRtaW4td2lkdGgpXG5cdFx0fVxuXG5cdFx0QHJldHVybiAkY29udGVudDtcblx0fVxuXG5cdEByZXR1cm4gbnVsbDtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBgbWF4LXdpZHRoYCBvZiB0aGUgZmxleGlibGUgdmlld3BvcnQuXG4vLy9cbi8vLyBAc2VlICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbVxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn1cbi8vLyAgIFRoZSBgbWF4LXdpZHRoYCBvZiB0aGUgZmxleGlibGUgdmlld3BvcnQsXG4vLy8gICBvciBgMGAgd2hlbiBzZXQgdG8gYGZhbHNlYC5cbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWZsZXhpYmxlLW1heC13aWR0aCgpIHtcblx0QGlmICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSB7XG5cdFx0QHJldHVybiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSwgbWF4LXdpZHRoKTtcblx0fVxuXG5cdEByZXR1cm4gMDtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGBwYWRkaW5nYCBmb3IgYWxsIHZpZXdwb3J0cyBiYXNlZCBvbiB0aGUgYGNvbnRlbnRgIHByb3BlcnR5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVzcGFjZSBbZGVmYXVsdF1cbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lc3BhY2UgdG8gb3V0cHV0XG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1jb250ZW50LXBhZGRpbmcoJG5hbWVzcGFjZTogZGVmYXVsdCkge1xuXHRAZWFjaCAkbmFtZSBpbiB2aWV3cG9ydC1saXN0KCRuYW1lc3BhY2UpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jb250ZW50LXBhZGRpbmctZm9yKCRuYW1lKTtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYHBhZGRpbmdgIGZvciBhIHNwZWNpZmljIHZpZXdwb3J0IGJhc2VkIG9uIHRoZSBgY29udGVudGAgcHJvcGVydHlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY29udGVudC1wYWRkaW5nLWZvcigkbmFtZSkge1xuXHQkbmV3LW5hbWU6IGZhbHNlO1xuXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBsaXN0IHtcblx0XHRAZWFjaCAkbmFtZS1uIGluICRuYW1lIHtcblx0XHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJG5hbWUtbikgYW5kICRuZXctbmFtZSA9PSBmYWxzZSB7XG5cdFx0XHRcdCRuZXctbmFtZTogJG5hbWUtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJG5ldy1uYW1lICE9IGZhbHNlIHtcblx0XHQkbmFtZTogJG5ldy1uYW1lO1xuXHR9XG5cblx0Ly8gSWYgYXQgbGVhc3Qgb25lIGZhbGxiYWNrIHZpZXdwb3J0IGhhcyBiZWVuIGZvdW5kXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBzdHJpbmcge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCRuYW1lKSB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHBhZGRpbmctbGVmdDogdmlld3BvcnQtY29udGVudC1wYWRkaW5nLWZvcigkbmFtZSk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2aWV3cG9ydC1jb250ZW50LXBhZGRpbmctZm9yKCRuYW1lKTtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gR2V0IGhvcml6b250YWwgYHBhZGRpbmdgIGZvciBvbmUgc2lkZSBvZiBhIHNwZWNpZmljIHZpZXdwb3J0IGJhc2VkIG9uIHRoZSBgY29udGVudGAgcHJvcGVydHlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIEEgYGNhbGNgIGV4cHJlc3Npb24gdGhhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuXG4vLy8gICB0aGUgdmlld3BvcnQgd2lkdGggYW5kIHRoZSBgY29udGVudGAgd2lkdGhcbi8vLyAgIGRpdmlkZWQgYnkgdHdvIHRvIGdldCBwYWRkaW5nIGZvciBvbmUgc2lkZVxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtY29udGVudC1wYWRkaW5nLWZvcigkbmFtZSkge1xuXHQkY29udGVudDogdmlld3BvcnQtY29udGVudC1mb3IoJG5hbWUpO1xuXG5cdEBpZiAkY29udGVudCB7XG5cdFx0JHBhZGRpbmc6IGNhbGMoKDEwMHZ3IC0gI3skY29udGVudH0pIC8gMik7XG5cblx0XHRAcmV0dXJuICRwYWRkaW5nO1xuXHR9XG5cblx0QHJldHVybiBudWxsO1xufVxuXG4vLy9cbi8vLyBPdXRwdXRzIHByb3BlcnRpZXMgd2l0aCB2aWV3cG9ydC1zcGVjaWZpYyBjbGFzcyBuYW1lc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzc25hbWVcbi8vLyAgIFRoZSBjbGFzcyBuYW1lIGFwcGVuZGVkIHRvIGVhY2ggdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lc3BhY2UgW2RlZmF1bHRdXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZXNwYWNlIHRvIG91dHB1dFxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY2xhc3NlcygkY2xhc3NuYW1lLCAkbmFtZXNwYWNlOiBkZWZhdWx0LCAkdmlld3BvcnRsZXNzLWNsYXNzOiBmYWxzZSkge1xuXHRAaWYgJHZpZXdwb3J0bGVzcy1jbGFzcyB7XG5cdFx0LiN7JGNsYXNzbmFtZX0ge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG5cblx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZSkge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydCkge1xuXHRcdFx0JHZpZXdwb3J0OiBzdHItcmVwbGFjZSgkdmlld3BvcnQsICc6JywgJy0nKTtcblxuXHRcdFx0LiN7JHZpZXdwb3J0fS0jeyRjbGFzc25hbWV9IHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIENoYW5nZSB0aGUgb3JkZXIgb2YgZGVmaW5lZCB2aWV3cG9ydHNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZXMuLi5cbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lcywgaW4gdGhlIG5ldyBvcmRlci5cbi8vLyAgIE9taXR0ZWQgdmlld3BvcnRzIHdpbGwgY29tZSBsYXN0LCBtYWludGFpbmluZyB0aGUgY3VycmVudCBvcmRlci5cbi8vL1xuQG1peGluIHZpZXdwb3J0LXJlb3JkZXIoJG5hbWVzLi4uKSB7XG5cdCQtdmlld3BvcnRzOiBtYXAtc29ydC1rZXlzKCQtdmlld3BvcnRzLCAkbmFtZXMpICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIFRoZSBsYXJnZXN0IHZpZXdwb3J0IHdpdGggZmxleGlibGUgY29udGVudCB3aWR0aC5cbi8vL1xuLy8vIFJlc3VsdHMgaW4gYSBjb250ZW50IHdpZHRoIHNldCBpbiBgJWAgaW5zdGVhZCBvZiBgcHhgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJHZpZXdwb3J0cy1mbGV4aWJsZS1mcm9tOiBzbWFsbCAhZGVmYXVsdDtcblxuLy9cbi8vIERlZmluZSBkZWZhdWx0IHZpZXdwb3J0c1xuLy9cbkBpbmNsdWRlIHZpZXdwb3J0LXNldChsYXJnZSwgKFxuXHRtaW4td2lkdGg6IDEwNjlweCxcblx0bWF4LXdpZHRoOiAxNDQwcHgsXG5cdGNvbnRlbnQ6IDk4MHB4XG4pLCB0cnVlKTtcblxuQGluY2x1ZGUgdmlld3BvcnQtc2V0KHhsYXJnZSwgKFxuXHRtaW4td2lkdGg6IDE0NDFweCxcblx0Y29udGVudDogOTgwcHhcbiksIHRydWUpO1xuXG5AaW5jbHVkZSB2aWV3cG9ydC1zZXQobWVkaXVtLCAoXG5cdG1pbi13aWR0aDogNzM1cHgsXG5cdG1heC13aWR0aDogMTA2OHB4LFxuXHRjb250ZW50OiA2OTJweFxuKSwgdHJ1ZSk7XG5cbkBpbmNsdWRlIHZpZXdwb3J0LXNldChzbWFsbCwgKFxuXHRtaW4td2lkdGg6IDMyMHB4LFxuXHRtYXgtd2lkdGg6IDczNHB4LFxuXHRjb250ZW50OiAyODBweFxuKSwgdHJ1ZSk7XG5cbi8vL1xuLy8vIERlZmluZSBkZWZhdWx0IHJhbmdlOm9ubHkvdXAvZG93biB2aWV3cG9ydHNcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kdmlld3BvcnQtcmFuZ2VzOiBvbmx5LCB1cCwgZG93biAhZGVmYXVsdDtcblxuLy9cbi8vIERlZmluZSBkZWZhdWx0IHJhbmdlOm9ubHkvdXAvZG93biB2aWV3cG9ydHNcbi8vXG4vLyBAZGVwcmVjYXRlZCBVc2UgJHZpZXdwb3J0LXJhbmdlcyBpbnN0ZWFkXG4vL1xuJC1yYW5nZXM6IG9ubHksIHVwLCBkb3duO1xuXG5AaW5jbHVkZSB3YXJuLWRlcHJlY2F0ZWQoJ3ZhcmlhYmxlJywgJyQtcmFuZ2VzJywgJyR2aWV3cG9ydC1yYW5nZXMnKTtcblxuQGZ1bmN0aW9uIC1yYW5nZS12aWV3cG9ydCgkdmlld3BvcnQsICRyYW5nZTogbnVsbCkge1xuXHQkbWluLXdpZHRoOiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCR2aWV3cG9ydCwgbWluLXdpZHRoKTtcblx0JG1heC13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkdmlld3BvcnQsIG1heC13aWR0aCk7XG5cblx0JHByb3BzOiAoXG5cdFx0Y29udGVudDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkdmlld3BvcnQsIGNvbnRlbnQpXG5cdCk7XG5cblx0QGlmICgkcmFuZ2UgPT0gb25seSkge1xuXHRcdCRxdWVyeTogbnVsbDtcblxuXHRcdEBpZiAkbWluLXdpZHRoIGFuZCAkbWF4LXdpZHRoIHtcblx0XHRcdCRwcm9wczogbWFwLXNldCgkcHJvcHMsIG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cdFx0XHQkcHJvcHM6IG1hcC1zZXQoJHByb3BzLCBtYXgtd2lkdGgsICRtYXgtd2lkdGgpO1xuXHRcdFx0JHF1ZXJ5OiAnKG1pbi13aWR0aDogI3skbWluLXdpZHRofSkgYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJztcblx0XHR9IEBlbHNlIGlmICRtYXgtd2lkdGgge1xuXHRcdFx0JHByb3BzOiBtYXAtc2V0KCRwcm9wcywgbWF4LXdpZHRoLCAkbWF4LXdpZHRoKTtcblx0XHRcdCRxdWVyeTogJyhtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJztcblx0XHR9IEBlbHNlIGlmICRtaW4td2lkdGgge1xuXHRcdFx0JHByb3BzOiBtYXAtc2V0KCRwcm9wcywgbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblx0XHRcdCRxdWVyeTogJyhtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJztcblx0XHR9XG5cblx0XHQkcHJvcHM6IG1hcC1zZXQoJHByb3BzLCBxdWVyeSwgJHF1ZXJ5KTtcblxuXHR9IEBlbHNlIGlmICgkcmFuZ2UgPT0gdXApIHtcblx0XHRAaWYgJG1pbi13aWR0aCB7XG5cdFx0XHQkcHJvcHM6IG1hcC1zZXQoJHByb3BzLCBtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXHRcdFx0JHByb3BzOiBtYXAtc2V0KCRwcm9wcywgcXVlcnksICN7JyhtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJ30pO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAoJHJhbmdlID09IGRvd24pIHtcblx0XHRAaWYgJG1heC13aWR0aCB7XG5cdFx0XHQkcHJvcHM6IG1hcC1zZXQoJHByb3BzLCBtYXgtd2lkdGgsICRtYXgtd2lkdGgpO1xuXHRcdFx0JHByb3BzOiBtYXAtc2V0KCRwcm9wcywgcXVlcnksICN7JyhtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJ30pO1xuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gJHByb3BzO1xufVxuXG5AZWFjaCAkcmFuZ2UgaW4gJHZpZXdwb3J0LXJhbmdlcyB7XG5cdEBlYWNoICR2aWV3cG9ydCBpbiB2aWV3cG9ydC1saXN0KGRlZmF1bHQpIHtcblx0XHQkbmFtZTogJ3JhbmdlOiN7JHZpZXdwb3J0fSAjeyRyYW5nZX0nO1xuXHRcdCRwcm9wczogLXJhbmdlLXZpZXdwb3J0KCR2aWV3cG9ydCwgJHJhbmdlKTtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LXNldCgkbmFtZSwgJHByb3BzLCB0cnVlKTtcblx0fVxufVxuXG4vLy9cbi8vLyBUaGUgYmFzZS13aWR0aCBmb3Igdmlld3BvcnRzLlxuLy8vXG4vLy8gSWYgYSB2aWV3cG9ydCdzIGBtaW4td2lkdGhgIG1hdGNoZXMgdGhpcywgbm8gcXVlcnkgaXMgdXNlZCAoZS5nLiwgbGFyZ2UpLlxuLy8vIFRoaXMgYWxzbyBkZXRlcm1pbmVzIHdoZXRoZXIgdG8gdXNlIGBtaW4td2lkdGhgIG9yIGBtYXgtd2lkdGhgIGZvciBlYWNoIHZpZXdwb3J0LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiR2aWV3cG9ydC1iYXNlLXdpZHRoOiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKGZpcnN0KHZpZXdwb3J0LWxpc3QoKSksIG1pbi13aWR0aCkgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENsYXNzIG5hbWUgZm9yIHRoZSAudmlld3BvcnQtY29udGVudCBoZWxwZXIgY2xhc3MuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJHZpZXdwb3J0LWNvbnRlbnQtY2xhc3NuYW1lOiAndmlld3BvcnQtY29udGVudCc7XG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjcuMTAuMFwiO1xuIiwiLmRkLWJpbGxib2FyZCB7XG4gIGltZyB7IGRpc3BsYXk6IGJsb2NrIH1cbn1cbiIsIi8vIEFYXG4vLyBETyBOT1QgVVNFIFwiZGQtYTExeVwiIChEZXByZWNhdGVkKVxuLy8gVXNlIGNsYXNzIFwidmlzdWFsbHloaWRkZW5cIiBpbiBtYXJrdXBcbi5kZC1hMTF5IHtcbiAgQGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcbn1cblxuLy8gU2FmYXJpIGZpeDogXG4vLyBJbnZlcnQgY29sb3IgbW9kZSBmcm9tIFNtYXJ0IHRvIENsYXNzaWNcbkBtZWRpYSAoaW52ZXJ0ZWQtY29sb3JzKSB7XG4gIC5kZC1pbnZlcnQtY2xhc3NpYyB7XG4gICAgZmlsdGVyOiBpbml0aWFsO1xuXG4gICAgJi1sYXJnZSB7XG4gICAgICBmaWx0ZXI6IGluaXRpYWw7XG5cbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIGZpbHRlcjogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtc21hbGwge1xuICAgICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgICAgZmlsdGVyOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEFMSUdOTUVOVFNcblxuLy8gIyBBbGlnbiBUZXh0XG4uZGQtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyAvL2ZvciBhbGwgdmlld3BvcnRzXG59XG4uZGQtdGV4dC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IC8vZm9yIGFsbCB2aWV3cG9ydHNcbn1cbi5kZC10ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyAvL2ZvciBhbGwgdmlld3BvcnRzXG59XG5cbi8vICMgQWxpZ24gQmxvY2sgRWxlbWVudHNcbi5kZC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW46IDAgYXV0bzsgLy9mb3IgYWxsIHZpZXdwb3J0c1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5kZC1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbjogMCAwIDAgYXV0bzsgLy9mb3IgYWxsIHZpZXdwb3J0c1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5kZC1hbGlnbi1jZW50ZXItbGFyZ2Uge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4uZGQtYWxpZ24tcmlnaHQtbGFyZ2Uge1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLmRkLWFsaWduLWNlbnRlci1zbWFsbCB7XG4gIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5kZC1hbGlnbi1yaWdodC1zbWFsbCB7XG4gIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBQVVNIIC0gRVhBUEFORCAtIENPTVBBQ1RcblxuLy8gLmRkLWV4cGFuZC1YICAgICAgWDogWzEtNV0gIG1hcmdpbi1sZWZ0IGFuZCBtYXJnaW4tcmlnaHQgb2YgLVglXG5cbi8vIC5kZC1jb21wYWN0LVggICAgICBYOiBbMS00MF0gIG1hcmdpbi1sZWZ0IGFuZCBtYXJnaW4tcmlnaHQgb2YgWCVcbi8vIC5kZC1jb21wYWN0LWxlZnQtWCAgICBYOiBbMS00MF0gIG1hcmdpbi1sZWZ0IG9mIFglXG4vLyAuZGQtY29tcGFjdC1yaWdodC1YICAgIFg6IFsxLTQwXSAgbWFyZ2luLXJpZ2h0IG9mIFglXG5cbi8vIC5kZC1wdXNoLVggICAgICAgICBYOiBbMS0yNV0gIHBhZGRpbmctdG9wIGFuZCBwYWRkaW5nLWJvdHRvbSBvZiBYcHhcbi8vIC5kZC1wdXNoLXRvcC1YICAgICAgWDogWzEtMjVdICBwYWRkaW5nLXRvcCBvZiBYcHhcbi8vIC5kZC1wdXNoLWJvdHRvbS1YICAgIFg6IFsxLTI1XSAgcGFkZGluZy1ib3R0b20gb2YgWHB4XG4vLyAuZGQtcHVzaC1sZWZ0LVggICAgICBYOiBbMS0yNV0gIHBhZGRpbmctbGVmdCBvZiBYcHhcbi8vIC5kZC1wdXNoLXJpZ2h0LVggICAgWDogWzEtMjVdICBwYWRkaW5nLXJpZ2h0IG9mIFhweFxuXG4kZGQtY291bnQtY29tcGFjdDogNDA7XG4kZGQtY291bnQtZXhwYW5kOiA2O1xuJGRkLWNvdW50LXB1c2gtdmVydGljYWw6IDI1O1xuJGRkLWNvdW50LXB1c2gtaG9yaXpvbnRhbDogMjU7XG5AbWl4aW4gY29tcGFjdC1jbGFzc2VzKCRpcy1tb2JpbGU6IGZhbHNlKSB7XG4gICRtb2RpZmllcjogaWYoJGlzLW1vYmlsZSwgJ3NtYWxsJywgJ2xhcmdlJyk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGRkLWNvdW50LWNvbXBhY3Qge1xuICAgIC5kZC1jb21wYWN0LSN7JG1vZGlmaWVyfS0jeyRpfXtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaSAqIDElICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpICogMSUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZGQtY29tcGFjdC1sZWZ0LSN7JG1vZGlmaWVyfS0jeyRpfXtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaSAqIDElICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmRkLWNvbXBhY3QtcmlnaHQtI3skbW9kaWZpZXJ9LSN7JGl9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGkgKiAxJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuQG1peGluIGV4cGFuZC1jbGFzc2VzKCRpcy1tb2JpbGU6IGZhbHNlKSB7XG4gICRtb2RpZmllcjogaWYoJGlzLW1vYmlsZSwgJ3NtYWxsJywgJ2xhcmdlJyk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGRkLWNvdW50LWV4cGFuZCB7XG4gICAgLmRkLWV4cGFuZC0jeyRtb2RpZmllcn0tI3skaX17XG4gICAgICBtYXJnaW4tbGVmdDogLSRpICogMSUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRpICogMSUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRkLWV4cGFuZC1sZWZ0LSN7JG1vZGlmaWVyfS0jeyRpfXtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGkgKiAxJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZGQtZXhwYW5kLXJpZ2h0LSN7JG1vZGlmaWVyfS0jeyRpfXtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRpICogMSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBwdXNoLWNsYXNzZXMoJGlzLW1vYmlsZTogZmFsc2UpIHtcbiAgJG1vZGlmaWVyOiBpZigkaXMtbW9iaWxlLCAnc21hbGwnLCAnbGFyZ2UnKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGQtY291bnQtcHVzaC12ZXJ0aWNhbCB7XG4gICAgLmRkLXB1c2gtI3skbW9kaWZpZXJ9LSN7JGl9e1xuICAgICAgcGFkZGluZy1ib3R0b206ICRpK3B4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogJGkrcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRkLXB1c2gtdG9wLSN7JG1vZGlmaWVyfS0jeyRpfXtcbiAgICAgIHBhZGRpbmctdG9wOiAkaStweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZGQtcHVzaC1ib3R0b20tI3skbW9kaWZpZXJ9LSN7JGl9e1xuICAgICAgcGFkZGluZy1ib3R0b206ICRpK3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGRkLWNvdW50LXB1c2gtaG9yaXpvbnRhbCB7XG4gICAgLmRkLXB1c2gtcmlnaHQtI3skbW9kaWZpZXJ9LSN7JGl9e1xuICAgICAgcGFkZGluZy1yaWdodDogJGkrcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRkLXB1c2gtbGVmdC0jeyRtb2RpZmllcn0tI3skaX17XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpK3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSB7XG4gIEBpbmNsdWRlIGV4cGFuZC1jbGFzc2VzKCk7XG4gIEBpbmNsdWRlIGNvbXBhY3QtY2xhc3NlcygpO1xuICBAaW5jbHVkZSBwdXNoLWNsYXNzZXMoKTtcbn1cbkBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gIEBpbmNsdWRlIGV4cGFuZC1jbGFzc2VzKHRydWUpO1xuICBAaW5jbHVkZSBjb21wYWN0LWNsYXNzZXModHJ1ZSk7XG4gIEBpbmNsdWRlIHB1c2gtY2xhc3Nlcyh0cnVlKTtcbn1cbiIsIi8vIFNXQVRDSCBDT0xPUlNcbiRmaWxsOiBzd2F0Y2goZmlsbCk7XG4kZmlsbC1zZWNvbmRhcnk6IHN3YXRjaChmaWxsLXNlY29uZGFyeSk7XG4kZmlsbC10ZXJ0aWFyeTogc3dhdGNoKGZpbGwtdGVydGlhcnkpO1xuJGZpbGwtZ3JheTogc3dhdGNoKGZpbGwtZ3JheSk7XG4kZmlsbC1ncmF5LXNlY29uZGFyeTogc3dhdGNoKGZpbGwtZ3JheS1zZWNvbmRhcnkpO1xuJGZpbGwtZ3JheS10ZXJ0aWFyeTogc3dhdGNoKGZpbGwtZ3JheS10ZXJ0aWFyeSk7XG4kZmlsbC1ncmF5LXF1YXRlcm5hcnk6IHN3YXRjaChmaWxsLWdyYXktcXVhdGVybmFyeSk7XG4kZ2x5cGg6IHN3YXRjaChnbHlwaCk7XG5cbi8vIEdseXBoc1xuLmRkLWdseXBoLWdyYXkge1xuICBjb2xvcjogc3dhdGNoKGdseXBoLWdyYXkpO1xufVxuLmRkLWdseXBoLWdyYXktc2Vjb25kYXJ5IHtcbiAgY29sb3I6IHN3YXRjaChnbHlwaC1ncmF5LXNlY29uZGFyeSk7XG59XG4uZGQtZ2x5cGgtZ3JheS1zZWNvbmRhcnktYWx0IHtcbiAgY29sb3I6IHN3YXRjaChnbHlwaC1ncmF5LXNlY29uZGFyeS1hbHQpO1xufVxuLmRkLWdseXBoLWdyYXktdGVydGlhcnkge1xuICBjb2xvcjogc3dhdGNoKGdseXBoLWdyYXktdGVydGlhcnkpO1xufVxuLmRkLWdseXBoLXdoaXRlIHtcbiAgY29sb3I6IHN3YXRjaChmaWxsKTtcbn1cblxuLy8gRmlsbHNcbi5kZC1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGw7XG4gIC0tcmliYm9uLWJhY2tncm91bmQtY29sb3I6ICN7JGZpbGx9O1xufVxuLmRkLWZpbGwtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtc2Vjb25kYXJ5O1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRmaWxsLXNlY29uZGFyeX07XG59XG4uZGQtZmlsbC10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLXRlcnRpYXJ5O1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRmaWxsLXRlcnRpYXJ5fTtcbn1cbi5kZC1maWxsLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1ncmF5O1xuICAtLXJpYmJvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRmaWxsLWdyYXl9O1xufVxuLmRkLWZpbGwtZ3JheS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1ncmF5LXNlY29uZGFyeTtcbiAgLS1yaWJib24tYmFja2dyb3VuZC1jb2xvcjogI3skZmlsbC1ncmF5LXNlY29uZGFyeX07XG59XG4uZGQtZmlsbC1ncmF5LXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtZ3JheS10ZXJ0aWFyeTtcbiAgLS1yaWJib24tYmFja2dyb3VuZC1jb2xvcjogI3skZmlsbC1ncmF5LXRlcnRpYXJ5fTtcbn1cbi5kZC1maWxsLWdyYXktcXVhdGVybmFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWdyYXktcXVhdGVybmFyeTtcbiAgLS1yaWJib24tYmFja2dyb3VuZC1jb2xvcjogI3skZmlsbC1ncmF5LXF1YXRlcm5hcnl9O1xufVxuLmRkLWZpbGwtYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2x5cGg7XG4gIC0tcmliYm9uLWJhY2tncm91bmQtY29sb3I6ICN7JGdseXBofTtcbn1cblxuLy8gRmlsbHMgU0s2XG4kZmlsbC1iYWNrZ3JvdW5kOiAjZmFmYWZhO1xuJGZpbGwtYmFja2dyb3VuZGZvb3RlcjogI2YyZjJmMjtcblxuLmRkLWZpbGwtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWJhY2tncm91bmQ7XG59XG4uZGQtZmlsbC1iYWNrZ3JvdW5kZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtYmFja2dyb3VuZGZvb3Rlcjtcbn1cbiIsIi50dy1zZW1pYm9sZCB7IEBpbmNsdWRlIGZvbnQtd2VpZ2h0KHNlbWlib2xkKTsgfSIsIi8vLy9cbi8vLyBDb3JlIC8gRm9udHNcbi8vL1xuLy8vIEBncm91cCBmb250c1xuLy8vL1xuXG4vLy9cbi8vLyBFbmFibGUgdXNlIG9mIHN5c3RlbSBmb250IHN0YWNrc1xuLy8vIFRoaXMgd2lsbCBzd2l0Y2ggU2Fzc0tpdCB0byB1c2luZyBTRiBVSSBpbnN0ZWFkIG9mIFNGIFByb1xuLy8vXG4vLy8gQHR5cGUgQm9vbGVhbiBbRmFsc2VdXG4vLy9cbiRzeXN0ZW0tZm9udHMtZW5hYmxlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEZvbnQgR3JvdXBzXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gZm9udC1ncm91cC1zZXRcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4kLWZvbnQtZ3JvdXBzOiAoKTtcblxuLy8vXG4vLy8gRm9udCBTdGFja3Ncbi8vL1xuLy8vIEBzZWUge21peGlufSBmb250LXN0YWNrLXNldFxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbiQtZm9udC1zdGFja3M6ICgpO1xuXG4vLy9cbi8vLyBMaXN0IG9mIHdlYiBmb250cyB0aGF0IGFyZSBzaWduZmljYW50bHkgc3Vic2V0dGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbiRmb250LXN1YnNldHM6ICgnU0YgUHJvIFNDJywgJ1NGIFBybyBUQycsICdTRiBQcm8gSEsnKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gTWFwIG9mIGZvbnQgd2VpZ2h0IGtleXdvcmRzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IHVsdHJhbGlnaHQgWzEwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IHRoaW4gWzIwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IGxpZ2h0IFszMDBdXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSByZWd1bGFyIFs0MDBdXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSBub3JtYWwgWzQwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IG1lZGl1bSBbNTAwXVxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gc2VtaWJvbGQgWzYwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IGJvbGQgWzcwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IGhlYXZ5IFs4MDBdXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSBibGFjayBbOTAwXVxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2ZvbnQtd2VpZ2h0XG4vLy9cbiRmb250LXdlaWdodHM6IChcblx0dWx0cmFsaWdodDogMTAwLFxuXHR0aGluOiAyMDAsXG5cdGxpZ2h0OiAzMDAsXG5cdHJlZ3VsYXI6IDQwMCxcblx0bm9ybWFsOiA0MDAsXG5cdG1lZGl1bTogNTAwLFxuXHRzZW1pYm9sZDogNjAwLFxuXHRib2xkOiA3MDAsXG5cdGhlYXZ5OiA4MDAsXG5cdGJsYWNrOiA5MDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZSBhIG5ldyBmb250IGdyb3VwXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleVxuLy8vICAgVGhlIGZvbnQgZ3JvdXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnRzXG4vLy8gICBBIG1hcCBvZiBvbmUgb3IgbW9yZSBmb250IG5hbWVzIGJ5IGxvY2FsZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gIEBpbmNsdWRlIGZvbnQtZ3JvdXAtc2V0KGV4YW1wbGUsIChcbi8vLyAgICBhcjogJ0d1bGYnLFxuLy8vICAgIGphOiAnQXBwbGUgVFAnLFxuLy8vICAgIGtvOiAoJ1lvb24gR290aGljJywgJ011bHRpcGxlIEZvbnQgRmFsbGJhY2tzJylcbi8vLyAgKSk7XG4vLy9cbkBtaXhpbiBmb250LWdyb3VwLXNldCgka2V5LCAkZm9udHMpIHtcblx0JC1mb250LWdyb3VwczogbWFwLXNldCgkLWZvbnQtZ3JvdXBzLCAka2V5LCAkZm9udHMpICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIEFkZCBvciBvdmVycmlkZSBsb2NhbGVzIGZvciBhbiBleGlzdGluZyBmb250IGdyb3VwXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleVxuLy8vICAgVGhlIGZvbnQgZ3JvdXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnRzXG4vLy8gICBBIG1hcCBvZiBvbmUgb3IgbW9yZSBmb250IG5hbWVzIGJ5IGxvY2FsZVxuLy8vXG5AbWl4aW4gZm9udC1ncm91cC1tZXJnZSgka2V5LCAkZm9udHMpIHtcblx0JC1mb250LWdyb3VwczogbWFwLW5lc3RlZC1tZXJnZSgkLWZvbnQtZ3JvdXBzLCAoJGtleTogJGZvbnRzKSkgIWdsb2JhbDtcbn1cblxuLy8vXG4vLy8gRGVmaW5lIGEgbmV3IGZvbnQgc3RhY2tcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5XG4vLy8gICBUaGUgZm9udCBzdGFjayBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZ3JvdXBcbi8vLyAgIEEgbGlzdCBvZiBmb250IGdyb3VwIGtleXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICBAaW5jbHVkZSBmb250LXN0YWNrLXNldCh0ZXh0LCAobG9jYWxlLCB0ZXh0LCBpY29uLCBmYWxsYmFjaywgc2hhcmVkKSk7XG4vLy9cbkBtaXhpbiBmb250LXN0YWNrLXNldCgka2V5LCAkZ3JvdXApIHtcblx0JC1mb250LXN0YWNrczogbWFwLXNldCgkLWZvbnQtc3RhY2tzLCAka2V5LCAkZ3JvdXApICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBgZm9udC1mYW1pbHlgIHdpdGggbG9jYWxlLXNwZWNpZmljIGZvbnQgc3RhY2tzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIFt0ZXh0XVxuLy8vICAgVGhlIGZvbnQgc3RhY2sgKGUuZy4sIGB0ZXh0YCBvciBgZGlzcGxheWApXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzdWJzZXQgW3RydWVdXG4vLy8gICBXaGV0aGVyIG9yIG5vdCBzdWJzZXR0ZWQgd2ViIGZvbnRzIHNob3VsZCBiZSBpbmNsdWRlZFxuLy8vXG5AbWl4aW4gZm9udC1mYW1pbHkoJHN0YWNrOiB0ZXh0LCAkc3Vic2V0OiB0cnVlKSB7XG5cdCRmb250LWZhbWlseTogZm9udC1mYW1pbHkoJHN0YWNrLCAkc3Vic2V0KTtcblxuXHRAaWYgJGZvbnQtZmFtaWx5IHtcblx0XHRAaW5jbHVkZSBjc3MoKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpLCBsb2NhbGUpO1xuXHR9XG59XG5cbi8vL1xuLy8vIEdldCBhIE1hcCBvZiBmb250IGZhbWlsaWVzIGJ5IGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayBbdGV4dF1cbi8vLyAgIFRoZSBmb250IHN0YWNrIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc3Vic2V0IFt0cnVlXVxuLy8vICAgV2hldGhlciBvciBub3Qgc3Vic2V0dGVkIHdlYiBmb250cyBzaG91bGQgYmUgaW5jbHVkZWRcbi8vL1xuLy8vIEByZXR1cm5zIHtNYXB9XG4vLy8gICBBIG1hcCBvZiBmb250IGZhbWlseSB2YWx1ZXMsIGdyb3VwZWQgYnkgbG9jYWxlXG4vLy9cbkBmdW5jdGlvbiBmb250LWZhbWlseSgkc3RhY2s6IHRleHQsICRzdWJzZXQ6IHRydWUpIHtcblx0JGZvbnRzdGFja3M6IG1hcC1nZXQoJC1mb250LXN0YWNrcywgJHN0YWNrKTtcblxuXHRAaWYgbm90ICRmb250c3RhY2tzIHtcblx0XHRAcmV0dXJuIHdhcm4tdW5kZWZpbmVkKGZvbnQtc3RhY2ssICRzdGFjayk7XG5cdH1cblxuXHQkaXNvczogKGVuLVdXKTtcblxuXHRAZWFjaCAkZm9udHN0YWNrIGluICRmb250c3RhY2tzIHtcblx0XHQkZm9udC1ncm91cC1tYXA6IG1hcC1nZXQoJC1mb250LWdyb3VwcywgJGZvbnRzdGFjayk7XG5cblx0XHRAaWYgJGZvbnQtZ3JvdXAtbWFwIHtcblx0XHRcdCRpc29zOiBqb2luKCRpc29zLCBtYXAta2V5cygkZm9udC1ncm91cC1tYXApKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCR3YXJuOiB3YXJuLXVuZGVmaW5lZChmb250LWdyb3VwLCAkZm9udHN0YWNrKTtcblx0XHR9XG5cdH1cblxuXHQkaXNvczogbGlzdC11bmlxdWUoJGlzb3MpO1xuXHQkZmFtaWx5OiAoKTtcblxuXHRAZWFjaCAkaXNvIGluICRpc29zIHtcblx0XHQkZmFtaWx5OiBtYXAtc2V0KCRmYW1pbHksICRpc28sIGZvbnQtZmFtaWx5LWxvY2FsZSgkaXNvLCAkc3RhY2ssICRzdWJzZXQsIGZhbHNlKSk7XG5cdH1cblxuXHQvLyBAdG9kbyBtZW1vaXplIHRoZSByZXN1bHRzIG9mIHRoaXM/XG5cdC8vIGNsZWFyIG1lbW9pemF0aW9uIGluIGZvbnQtZ3JvdXAvc3RhY2stc2V0L21lcmdlIGFib3ZlXG5cblx0QHJldHVybiAkZmFtaWx5O1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGZvbnQgZmFtaWx5IGZvciBhIHNwZWNpZmljIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayBbdGV4dF1cbi8vLyAgIFRoZSBmb250IHN0YWNrIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc3Vic2V0IFt0cnVlXVxuLy8vICAgV2hldGhlciBvciBub3Qgc3Vic2V0dGVkIHdlYiBmb250cyBzaG91bGQgYmUgaW5jbHVkZWRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW5oZXJpdCBbdHJ1ZV1cbi8vLyAgIFdoZXRoZXIgb3Igbm90IGBlbi1XV2Agc2hvdWxkIGJlIHVzZWQgYXMgYSBmYWxsYmFja1xuLy8vXG5AZnVuY3Rpb24gZm9udC1mYW1pbHktbG9jYWxlKCRpc286IGVuLVdXLCAkc3RhY2s6IHRleHQsICRzdWJzZXQ6IHRydWUsICRpbmhlcml0OiB0cnVlKSB7XG5cdCRmYW1pbHk6ICgpO1xuXG5cdCRmb250c3RhY2tzOiBtYXAtZ2V0KCQtZm9udC1zdGFja3MsICRzdGFjayk7XG5cblx0QGlmIG5vdCAkZm9udHN0YWNrcyB7XG5cdFx0QHJldHVybiB3YXJuLXVuZGVmaW5lZChmb250LXN0YWNrLCAkc3RhY2spO1xuXHR9XG5cblx0QGVhY2ggJGZvbnRzdGFjayBpbiAkZm9udHN0YWNrcyB7XG5cdFx0JGZvbnQtZ3JvdXAtbWFwOiBtYXAtZ2V0KCQtZm9udC1ncm91cHMsICRmb250c3RhY2spO1xuXG5cdFx0QGlmICRmb250LWdyb3VwLW1hcCB7XG5cdFx0XHQkZm9udHM6IGxvY2FsZS1tYXAtZ2V0KCRmb250LWdyb3VwLW1hcCwgJGlzbyk7XG5cblx0XHRcdEBpZiAkZm9udHMge1xuXHRcdFx0XHQkZmFtaWx5OiBqb2luKCRmYW1pbHksICRmb250cywgY29tbWEpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JHdhcm46IHdhcm4tdW5kZWZpbmVkKGZvbnQtZ3JvdXAsICRmb250c3RhY2spO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAkaW5oZXJpdCBhbmQgaXMtZW1wdHkoJGZhbWlseSkge1xuXHRcdEByZXR1cm4gZm9udC1mYW1pbHktbG9jYWxlKGVuLVdXLCAkc3RhY2ssICRzdWJzZXQpO1xuXHR9XG5cblx0QGlmIG5vdCAkc3Vic2V0IHtcblx0XHQkZmFtaWx5OiBsaXN0LWRlbnlsaXN0KCRmYW1pbHksICRmb250LXN1YnNldHMpO1xuXHR9XG5cblx0QHJldHVybiAkZmFtaWx5O1xufVxuXG4vLy9cbi8vLyBPdXRwdXQgYGZvbnQtd2VpZ2h0YCB1c2luZyB3ZWIgZm9udCBzcGVjaWZpYyBrZXl3b3Jkc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkd2VpZ2h0XG4vLy8gICBUaGUgZm9udCB3ZWlnaHRcbi8vLyAgIGFzIGEgTnVtYmVyICgxMDAtOTAwKVxuLy8vICAgb3IgYSBTdHJpbmcgKHVsdHJhbGlnaHQsIHRoaW4sIGxpZ2h0LCByZWd1bGFyLCBub3JtYWwsIG1lZGl1bSwgc2VtaWJvbGQsIGJvbGQsIGhlYXZ5LCBibGFjaylcbi8vL1xuQG1peGluIGZvbnQtd2VpZ2h0KCR3ZWlnaHQpIHtcblx0Zm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KCR3ZWlnaHQpO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGBmb250LXdlaWdodGAgdmFsdWUgZm9yIGEga2V5d29yZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkd2VpZ2h0XG4vLy8gICBUaGUgZm9udCB3ZWlnaHRcbi8vLyAgIGFzIGEgTnVtYmVyICgxMDAtOTAwKVxuLy8vICAgb3IgYSBTdHJpbmcgKHVsdHJhbGlnaHQsIHRoaW4sIGxpZ2h0LCByZWd1bGFyLCBub3JtYWwsIG1lZGl1bSwgc2VtaWJvbGQsIGJvbGQsIGhlYXZ5LCBibGFjaylcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG4vLy8gICBUaGUgbnVtZXJpYyBgZm9udC13ZWlnaHRgIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBmb250LXdlaWdodCgkd2VpZ2h0KSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkZm9udC13ZWlnaHRzLCAkd2VpZ2h0KSB7XG5cdFx0JHdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCAkd2VpZ2h0KTtcblx0fVxuXG5cdEBpZiB0eXBlLW9mKCR3ZWlnaHQpICE9IG51bWJlciBhbmQgJHdlaWdodCAhPSBpbmhlcml0IHtcblx0XHQkd2Fybjogd2Fybi11bmRlZmluZWQoZm9udC13ZWlnaHQsICR3ZWlnaHQpO1xuXHR9XG5cblx0QHJldHVybiAkd2VpZ2h0O1xufVxuXG4vLy9cbi8vLyBPdXRwdXQgc3R5bGVzIGZvciBjb25zaXN0ZW50IGNyb3NzLWJyb3dzZXIgZm9udCByZW5kZXJpbmdcbi8vL1xuQG1peGluIGZvbnQtcmVuZGVyaW5nKCkge1xuXHRmb250LXN5bnRoZXNpczogbm9uZTtcblx0LW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdrZXJuJztcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vXG4vLyBGb250IEdyb3VwIFNldHRpbmdzXG4vL1xuLy8gMS4gcHV0IFNGIEd1bGYgaW4gbmV3IGxlZ2FjeSBncm91cCBmb3Igbm93IHNvIHdlIGNhbiBkZXByZWNhdGUgaXRcbi8vXG5AaW5jbHVkZSBmb250LWdyb3VwLXNldCh0ZXh0LCAoXG5cdGVuLVdXOiAnU0YgUHJvIFRleHQnLFxuXHRhcjogKCdTRiBQcm8gQVIgVGV4dCcsICdTRiBQcm8gVGV4dCcpLFxuKSk7XG5cbkBpbmNsdWRlIGZvbnQtZ3JvdXAtc2V0KGRpc3BsYXksIChcblx0ZW4tV1c6ICdTRiBQcm8gRGlzcGxheScsXG5cdGFyOiAoJ1NGIFBybyBBUiBEaXNwbGF5JywgJ1NGIFBybyBEaXNwbGF5JyksXG4pKTtcblxuQGluY2x1ZGUgZm9udC1ncm91cC1zZXQoaWNvbiwgKFxuXHRlbi1XVzogKCdTRiBQcm8gSWNvbnMnKVxuKSk7XG5cbkBpbmNsdWRlIGZvbnQtZ3JvdXAtc2V0KG1vbm8sIChcblx0ZW4tV1c6ICgnU0YgTW9ubycpXG4pKTtcblxuQGluY2x1ZGUgZm9udC1ncm91cC1zZXQobG9jYWxlLCAoXG5cdGFyOiAnU0YgUHJvIEFSJyxcblx0amE6ICdTRiBQcm8gSlAnLFxuXHRrbzogJ1NGIFBybyBLUicsXG5cdHRoOiAnU0YgUHJvIFRIJyxcblx0emgtQ046ICdTRiBQcm8gU0MnLFxuXHR6aC1ISzogJ1NGIFBybyBISycsXG5cdHpoLU1POiAoJ1NGIFBybyBISycsICdTRiBQcm8gVEMnKSxcblx0emgtVFc6ICdTRiBQcm8gVEMnXG4pKTtcblxuQGluY2x1ZGUgZm9udC1ncm91cC1zZXQobG9jYWxlLWxlZ2FjeSwgKFxuXHRhcjogJ1NGIFBybyBHdWxmJywgLy8gMS5cbikpO1xuXG5AaW5jbHVkZSBmb250LWdyb3VwLXNldChmYWxsYmFjaywgKFxuXHRqYTogKCdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm8nLCAn44OS44Op44Ku44OO6KeS44K0IFBybyBXMycsICfjg6HjgqTjg6rjgqonLCAnTWVpcnlvJywgJ++8re+8syDvvLDjgrTjgrfjg4Pjgq8nKSxcblx0a286ICgnQXBwbGUgR290aGljJywgJ0hZIEd1bGltJywgJ01hbGd1bkdvdGhpYycsICdIWSBEb3R1bScsICdMZXhpIEd1bGltJyksXG5cdHpoLUNOOiAnUGluZ0ZhbmcgU0MnLFxuXHR6aC1ISzogJ1BpbmdGYW5nIEhLJyxcblx0emgtTU86ICdQaW5nRmFuZyBISycsXG5cdHpoLVRXOiAnUGluZ0ZhbmcgVEMnXG4pKTtcblxuQGluY2x1ZGUgZm9udC1ncm91cC1zZXQoc2hhcmVkLCAoXG5cdGVuLVdXOiAoJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpXG4pKTtcblxuQGluY2x1ZGUgZm9udC1ncm91cC1zZXQobW9ub3NwYWNlLXNoYXJlZCwgKFxuICAgIGVuLVdXOiAoTWVubG8sIG1vbm9zcGFjZSlcbikpO1xuXG4vL1xuLy8gRm9udCBTdGFjayBTZXR0aW5nc1xuLy9cbkBpbmNsdWRlIGZvbnQtc3RhY2stc2V0KHRleHQsIChsb2NhbGUsIHRleHQsIGxvY2FsZS1sZWdhY3ksIGljb24sIGZhbGxiYWNrLCBzaGFyZWQpKTtcbkBpbmNsdWRlIGZvbnQtc3RhY2stc2V0KGRpc3BsYXksIChsb2NhbGUsIGRpc3BsYXksIGxvY2FsZS1sZWdhY3ksIGljb24sIGZhbGxiYWNrLCBzaGFyZWQpKTtcbkBpbmNsdWRlIGZvbnQtc3RhY2stc2V0KGljb25zLCBpY29uKTtcbkBpbmNsdWRlIGZvbnQtc3RhY2stc2V0KG1vbm8sIChtb25vLCBpY29uLCBtb25vc3BhY2Utc2hhcmVkKSk7XG5cbi8vXG4vLyBPdmVycmlkZSB3ZWJmb250cyB3aXRoIHN5c3RlbSBmb250c1xuLy9cbkBpZiAkc3lzdGVtLWZvbnRzLWVuYWJsZWQge1xuXHRAaW5jbHVkZSBmb250LWdyb3VwLXNldChzeXN0ZW0sIChcblx0XHRlbi1XVzogKHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknKSxcblx0XHR0aDogKCdTdWtodW12aXQgU2V0Jywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScpXG5cdCkpO1xuXG5cdEBpbmNsdWRlIGZvbnQtc3RhY2stc2V0KHRleHQsIChzeXN0ZW0sIGZhbGxiYWNrLCBzaGFyZWQsIGljb24pKTtcblx0QGluY2x1ZGUgZm9udC1zdGFjay1zZXQoZGlzcGxheSwgKHN5c3RlbSwgZmFsbGJhY2ssIHNoYXJlZCwgaWNvbikpO1xuXHRAaW5jbHVkZSBmb250LXN0YWNrLXNldChtb25vLCAobW9ub3NwYWNlLXNoYXJlZCwgaWNvbikpO1xufVxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI3LjEwLjBcIjtcbiIsIkBtaXhpbiBkZC1ncmlkKCRuby1wYWRkaW5nOiBmYWxzZSkge1xuICAvLyBCYXNlIFRlbXBsYXRlIENvZGVcbiAgLmRkLWdyaWQge1xuICAgIHVsLnJvdyxcbiAgICBvbC5yb3csXG4gICAgZGl2LnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gICAgbGkuY29sdW1uLFxuICAgIGRpdi5jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgLmRkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbiB7XG4gICAgICAmLnNtYWxsLTEyIC5kZC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZGQtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICZbZGF0YS10cmlnZ2VyLWNsaWNrXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIgYVtkYXRhLWRkLWxpbmtdIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIERlc2t0b3AgTm8gTC9SIFBhZGRpbmdcbiAgICBAaWYgJG5vLXBhZGRpbmcge1xuICAgICAgLmNvbHVtbiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQgLmRkLXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIC5kZC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc21hbGwtMTIgLmRkLXdyYXBwZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmRkLW9wcy1kZXZpY2VzIHtcbiAgLmRkLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogODQycHg7ICAgXG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0M3B4O1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmctdG9wOiA1OXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIzcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gVGlsZSBTZWN0aW9uXG4gIC5kZC10aWxlcyB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgdWwucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIGxpLmNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cblxuICAgIC5kZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmNvbHVtbiB7XG4gICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4ge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSAuZGQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIC5kZC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGQtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZC1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChmaWxsKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4O1xuXG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZC10aWxlLSB7XG4gICAgICAmaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmaGVybyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMTlweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBY2Nlc3NpYmxpdHkgU2VjdGlvblxuICAuZGQtYXgge1xuICAgICYtaW5mbyB7XG4gICAgICB3aWR0aDogMzM3cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWhlcm8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDg4cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4gKyAuY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tbGVmdDogNjlweDtcblxuICAgICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZGQtb3BzLWhlYWRlciB7XG4gIC5kZC1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDc4cHg7XG4gICAgd2lkdGg6IDcxNXB4O1xuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nLXRvcDogNTJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgfVxuICB9XG5cbiAgLmRkLWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4iLCIuZGQtb3BzLXB1cmNoYXNlIHtcblxuICAuZGQtaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nLXRvcDogNTlweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5kZC1zaG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICB1bC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKXtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIGxpLmNvbHVtbiB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmNvbHVtbiB7XG4gICAgJjpudGgtY2hpbGQoMyksICY6bnRoLWNoaWxkKDQpIHtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkgeyBcbiAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAuZGQtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmRkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiA2NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmRkLXNjaGVkdWxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgIC50LWJvZHk+YSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5kZC1vcHMtc2Vzc2lvbnMge1xuICAuZGQtaW5mbywgLmRkLXNjaGVkdWxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmRkLWluZm8ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzNHB4O1xuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0NHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbiAgLmRkLXNjaGVkdWxlIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCA2N3B4O1xuICAgIH1cbiAgICBwID4gYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgLmRkLWdyaWQge1xuICAgIHdpZHRoOiA4MjJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgQGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5kZC1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChmaWxsKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuZGQtZ3JpZC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4IDMwcHg7XG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiA1NnB4IDMycHggMTJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbjpudGgtY2hpbGQoMSkgLmRkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMTdweDtcbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2x1bW46bnRoLWNoaWxkKDIpIC5kZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTdweDtcbiAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbjpudGgtY2hpbGQoMykgLmRkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDM0cHg7XG4gICAgICAuZGQtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5kZC1oZXJvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogLTE0cHg7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29sdW1uICsgLmNvbHVtbiAuZGQtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLyBTYXNza2l0XG4kd2Fybi1kZXByZWNhdGVkOiBmYWxzZTtcbkBpbXBvcnQgJ2FjLXNhc3NraXQvY29yZSc7XG5AaW5jbHVkZSB2aWV3cG9ydC1yZW1vdmUobWVkaXVtKTtcbiR0eXBvZ3JhcGh5LWNsYXNzZXM6IChcbiAgaGVhZGxpbmUtZWxldmF0ZWQsXG4gIGludHJvLWVsZXZhdGVkLFxuICBleWVicm93LWVsZXZhdGVkLFxuICBoZWFkbGluZSxcbiAgaW50cm8sXG4gIGxhYmVsXG4pO1xuJHR5cG9ncmFwaHktY2xhc3NuYW1lOiAndCc7XG5AaW1wb3J0ICdhYy1zYXNza2l0L21vZHVsZXMvdHlwb2dyYXBoeSc7XG5cbi8vIENvcmVcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC8wMS1jb25maWcvX2Z1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiL1VzZXJzL2RhbWlhbm1ha2tpL1NpdGVzLzYtYmxhY2stMjAyNC9fd2ViL3Nhc3MvZGQvMDEtY29uZmlnL19taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzAxLWNvbmZpZy9fdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC8wMS1jb25maWcvX3ZpZXdwb3J0LnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC8wMi1iYXNlL19sYXlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzAyLWJhc2UvX3Jlc2V0cy5zY3NzXCI7XG5AaW1wb3J0IFwiL1VzZXJzL2RhbWlhbm1ha2tpL1NpdGVzLzYtYmxhY2stMjAyNC9fd2ViL3Nhc3MvZGQvMDItYmFzZS9fdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwiL1VzZXJzL2RhbWlhbm1ha2tpL1NpdGVzLzYtYmxhY2stMjAyNC9fd2ViL3Nhc3MvZGQvMDItYmFzZS9fdmlld3BvcnQuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA0LWdsb2JhbHMvX2JmZS1tb2RhbHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA0LWdsb2JhbHMvX2JpbGxib2FyZHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA0LWdsb2JhbHMvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA0LWdsb2JhbHMvX21vZGFscy1yZXNldC5zY3NzXCI7XG5AaW1wb3J0IFwiL1VzZXJzL2RhbWlhbm1ha2tpL1NpdGVzLzYtYmxhY2stMjAyNC9fd2ViL3Nhc3MvZGQvMDQtZ2xvYmFscy9fbW9kYWxzLnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC8wNS11dGlsaXRpZXMvX2FjY2Vzc2liaWxpdHkuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA1LXV0aWxpdGllcy9fYWxpZ25tZW50cy5zY3NzXCI7XG5AaW1wb3J0IFwiL1VzZXJzL2RhbWlhbm1ha2tpL1NpdGVzLzYtYmxhY2stMjAyNC9fd2ViL3Nhc3MvZGQvMDUtdXRpbGl0aWVzL19wdXNoLWV4cGFuZC1jb21wYWN0LnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC8wNS11dGlsaXRpZXMvX3N3YXRjaC1jb2xvcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkLzA1LXV0aWxpdGllcy9fdHlwb2dyYXBoeS5zY3NzXCI7XG5cbi8vIEdsb2JhbHNcbkBpbmNsdWRlIGRkLWdyaWQ7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC9jb21wb25lbnRzL3Byb2dyYW1zL3BlcnNvbmFsLXNlc3Npb24vb3ZlcnZpZXcvX2lucGFnZS1kZXZpY2VzLnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC9jb21wb25lbnRzL3Byb2dyYW1zL3BlcnNvbmFsLXNlc3Npb24vb3ZlcnZpZXcvX2lucGFnZS1oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi9Vc2Vycy9kYW1pYW5tYWtraS9TaXRlcy82LWJsYWNrLTIwMjQvX3dlYi9zYXNzL2RkL2NvbXBvbmVudHMvcHJvZ3JhbXMvcGVyc29uYWwtc2Vzc2lvbi9vdmVydmlldy9faW5wYWdlLXB1cmNoYXNlLnNjc3NcIjtcbkBpbXBvcnQgXCIvVXNlcnMvZGFtaWFubWFra2kvU2l0ZXMvNi1ibGFjay0yMDI0L193ZWIvc2Fzcy9kZC9jb21wb25lbnRzL3Byb2dyYW1zL3BlcnNvbmFsLXNlc3Npb24vb3ZlcnZpZXcvX2lucGFnZS1zZXNzaW9ucy5zY3NzXCI7XG5cbi8vIE92ZXJyaWRlc1xuLmRkLWwtcGxhdGUgLmRkLWhlcm8geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9Il19 */
