@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */ }

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit; }

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit; }

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0; }

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0; }

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */ }

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

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

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */ }

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

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */ }

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */ }

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */ }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */ }

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */ }

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */ }

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000; }

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0; }

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer; }

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default; }

[type="number"] {
  width: auto;
  /* Firefox 36+ */ }

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */ }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */ }

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */ }

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */ }

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */ }

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

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

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */ }

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */ }

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */ }

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */ }

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */ }

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

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

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */ }

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

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */ }

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */ }

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important; } }

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default; }

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none; }

/*
# radio & checkbox
*/
[type="number"],
[type="email"],
[type="radio"],
[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none; }

li {
  list-style: none; }

html {
  font-size: 62.5%;
  font-family: -apple-system,BlinkMacSystemFont,"\6E38\30B4\30B7\30C3\30AF   Medium","Yu Gothic Medium","\6E38\30B4\30B7\30C3\30AF\4F53",YuGothic,"Hiragino Kaku Gothic ProN","Helvetica Neue",Meiryo,sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  html.index_page {
    overflow: hidden; }
  html.popup {
    overflow: auto; }
    html.popup body {
      overflow: hidden; }

a, a span {
  color: #c7b299;
  text-decoration: none; }
  a:hover, a span:hover {
    text-decoration: underline; }

button[type="button"]:focus {
  outline: 0; }

hr.primary {
  border: 0.5px solid #f1f1f1;
  position: relative;
  z-index: 50; }

h3 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.57;
  color: #333333;
  text-align: left; }
  @media screen and (max-width: 960px) {
    h3 {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5; } }

.btn {
  display: block;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 10;
  overflow: hidden;
  color: #c7b299;
  background-color: #fff;
  border: solid 1px #c7b299;
  width: 400px;
  height: 40px;
  font-size: 14px;
  font-size: 1.4rem; }
  .btn a {
    display: block; }
    .btn a span {
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      z-index: 20;
      position: relative;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      line-height: 38px; }
      @media all and (-ms-high-contrast: none) {
        .btn a span {
          line-height: 40px; } }
    .btn a:hover {
      text-decoration: none; }
  .btn span {
    z-index: 20;
    position: relative;
    font-weight: bold;
    text-align: center;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
  .btn::after {
    content: '';
    position: absolute;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1);
    transform-origin: left top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: 10;
    background: #ad9474; }
  .btn:hover::after {
    content: '';
    transform: scale(1, 1); }
  .btn a span {
    color: #c7b299; }
  .btn span {
    color: #c7b299; }
  .btn:hover {
    background: #ad9474 !important;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; }
    .btn:hover a span {
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
    .btn:hover span {
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
  .btn:disabled {
    border-color: #e0e0e0; }
    .btn:disabled span {
      color: #e0e0e0; }
    .btn:disabled::before, .btn:disabled::after {
      content: none; }
    .btn:disabled:hover {
      background: #fff !important; }
  @media screen and (max-width: 600px) {
    .btn {
      max-width: 295px;
      width: 100%;
      height: 40px; } }

.btn_txt {
  outline: none; }
  .btn_txt span {
    text-decoration: underline; }
    .btn_txt span:hover {
      text-decoration: none; }

.btn_putty {
  display: block;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 10;
  overflow: hidden;
  color: #fff;
  background-color: #c7b299;
  border: solid 1px #fff;
  width: 400px;
  height: 40px;
  font-size: 14px;
  font-size: 1.4rem; }
  .btn_putty a {
    display: block; }
    .btn_putty a span {
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      z-index: 20;
      position: relative;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      line-height: 38px; }
      @media all and (-ms-high-contrast: none) {
        .btn_putty a span {
          line-height: 40px; } }
    .btn_putty a:hover {
      text-decoration: none; }
  .btn_putty span {
    z-index: 20;
    position: relative;
    font-weight: bold;
    text-align: center;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
  .btn_putty::after {
    content: '';
    position: absolute;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1);
    transform-origin: left top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: 10;
    background: #ad9474; }
  .btn_putty:hover::after {
    content: '';
    transform: scale(1, 1); }
  .btn_putty a span {
    color: #fff; }
  .btn_putty:hover {
    background: #ad9474 !important;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; }
  .btn_putty.bdn {
    border: solid 1px #c7b299; }
  @media screen and (max-width: 600px) {
    .btn_putty {
      max-width: 295px;
      width: 100%;
      height: 40px; } }

.btn_brdblk {
  display: block;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 10;
  overflow: hidden;
  color: #333333;
  background-color: #fff;
  border: solid 1px #333333;
  width: 400px;
  height: 40px;
  font-size: 14px;
  font-size: 1.4rem; }
  .btn_brdblk a {
    display: block; }
    .btn_brdblk a span {
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      z-index: 20;
      position: relative;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      line-height: 38px; }
      @media all and (-ms-high-contrast: none) {
        .btn_brdblk a span {
          line-height: 40px; } }
    .btn_brdblk a:hover {
      text-decoration: none; }
  .btn_brdblk span {
    z-index: 20;
    position: relative;
    font-weight: bold;
    text-align: center;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
  .btn_brdblk::after {
    content: '';
    position: absolute;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1);
    transform-origin: left top;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: 10;
    background: #ad9474; }
  .btn_brdblk:hover::after {
    content: '';
    transform: scale(1, 1); }
  .btn_brdblk a span {
    color: #333333; }
  .btn_brdblk span {
    color: #333333; }
  .btn_brdblk::after {
    background: #333; }
  .btn_brdblk:hover {
    background: #333;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; }
    .btn_brdblk:hover a span {
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
    .btn_brdblk:hover span {
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
  @media screen and (max-width: 600px) {
    .btn_brdblk {
      max-width: 295px;
      width: 100%;
      height: 40px; } }

.btn, .btn_putty, .btn_brdblk, .btn_txt {
  margin-bottom: 24px; }

body {
  font-size: 14px;
  font-size: 1.4rem;
  color: #333333;
  line-height: 1.57;
  /* /sidebar */ }
  body header {
    position: fixed;
    color: #033560;
    width: 100%;
    text-align: center;
    z-index: 200;
    pointer-events: none; }
    @media screen and (max-width: 960px) {
      body header {
        pointer-events: auto;
        position: relative;
        width: 100%;
        height: 56px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between; } }
    body header .brand_logo {
      width: 108px;
      float: left;
      margin: 16px 0 18px 24px;
      pointer-events: auto; }
      @media screen and (max-width: 960px) {
        body header .brand_logo {
          width: 100px;
          margin: 1px 0px 0px 16px;
          position: fixed;
          -webkit-animation: fadeIn 1.3s ease 0s 1 normal;
          -moz-animation: fadeIn 1.3s ease 0s 1 normal;
          -ms-animation: fadeIn 1.3s ease 0s 1 normal;
          -o-animation: fadeIn 1.3s ease 0s 1 normal;
          animation: fadeIn 1.3s ease 0s 1 normal; }
        @-moz-keyframes fadeIn {
          0% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
            opacity: 0; }
          100% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1; } }
        @-webkit-keyframes fadeIn {
          0% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
            opacity: 0; }
          100% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1; } }
        @-o-keyframes fadeIn {
          0% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
            opacity: 0; }
          100% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1; } }
        @-ms-keyframes fadeIn {
          body header .brand_logo 0% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
            opacity: 0; }
          body header .brand_logo 100% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1; } }
        @keyframes fadeIn {
          0% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
            opacity: 0; }
          100% {
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1; } } }
      body header .brand_logo a {
        background: url("/img/common/logo.png") 0 0/108px 64px no-repeat;
        display: block;
        width: 100%;
        height: 64px; }
        @media screen and (max-width: 960px) {
          body header .brand_logo a {
            width: 108px; } }
    body header ul {
      display: none; }
      @media screen and (max-width: 960px) {
        body header ul {
          display: -webkit-box;
          display: -moz-box;
          display: -ms-box;
          display: box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          margin: 0;
          padding: 0;
          position: fixed;
          right: 0; } }
      @media screen and (max-width: 960px) {
        body header ul li.btn {
          -webkit-border-radius: 16px;
          -moz-border-radius: 16px;
          -ms-border-radius: 16px;
          -o-border-radius: 16px;
          border-radius: 16px;
          margin: 16px 8px 8px 0;
          width: 88px;
          height: 32px;
          font-size: 10px;
          font-size: 1rem;
          -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          -moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2); }
          body header ul li.btn a span {
            line-height: 30px; } }
      @media screen and (max-width: 960px) {
        body header ul li.btn_putty {
          -webkit-border-radius: 16px;
          -moz-border-radius: 16px;
          -ms-border-radius: 16px;
          -o-border-radius: 16px;
          border-radius: 16px;
          margin: 16px 16px 8px 0;
          width: 88px;
          height: 32px;
          font-size: 10px;
          font-size: 1rem;
          -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          -moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          border: solid 1px #c7b299; }
          body header ul li.btn_putty a span {
            line-height: 30px; } }
    body header button.close {
      float: right;
      margin-right: 40px;
      margin-top: 30px;
      height: 40px;
      width: 40px;
      pointer-events: auto; }
      @media screen and (max-width: 960px) {
        body header button.close {
          width: 30px;
          height: 56px;
          margin-right: 18px;
          padding-top: 8px;
          margin-top: 0;
          position: fixed;
          right: 0; } }
      body header button.close::before {
        content: "";
        height: 2px;
        display: block;
        background: #333333;
        position: relative;
        top: 0;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg); }
      body header button.close::after {
        content: "";
        height: 2px;
        display: block;
        background: #333333;
        position: relative;
        top: -2px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  body .sp_nav {
    display: none; }
    @media screen and (max-width: 960px) {
      body .sp_nav {
        z-index: 400;
        position: fixed;
        /* top: 478px; */
        bottom: 106px;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        width: 48px;
        height: 64px;
        background-color: #c7b299;
        -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
        display: block;
        -webkit-transition: 0.35s ease-in-out;
        -moz-transition: 0.35s ease-in-out;
        -o-transition: 0.35s ease-in-out;
        transition: 0.35s ease-in-out; }
        body .sp_nav.is-hide {
          filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
          opacity: 0;
          pointer-events: none; }
        body .sp_nav button {
          position: relative;
          margin: 0 auto;
          width: 100%;
          height: 100%; }
          body .sp_nav button::before {
            content: "";
            height: 2px;
            left: 10px;
            display: block;
            background: #fff;
            position: absolute;
            -webkit-transition: 0.35s ease-in-out;
            -moz-transition: 0.35s ease-in-out;
            -o-transition: 0.35s ease-in-out;
            transition: 0.35s ease-in-out;
            top: 20px;
            width: 28px; }
          body .sp_nav button span {
            width: 100%; }
            body .sp_nav button span::before {
              content: "";
              width: 28px;
              height: 2px;
              left: 10px;
              display: block;
              background: #fff;
              position: absolute;
              -webkit-transition: 0.35s ease-in-out;
              -moz-transition: 0.35s ease-in-out;
              -o-transition: 0.35s ease-in-out;
              transition: 0.35s ease-in-out;
              top: 26px; }
            body .sp_nav button span::after {
              content: "menu";
              display: block;
              position: relative;
              top: 18px;
              left: 10px;
              text-align: center;
              font-weight: normal;
              color: #fff;
              font-size: 10px;
              font-size: 1rem;
              line-height: 12px;
              width: 28px; }
          body .sp_nav button::after {
            content: "close";
            display: none;
            position: relative;
            top: 18px;
            left: 10px;
            text-align: center;
            font-weight: normal;
            color: #fff;
            font-size: 10px;
            font-size: 1rem;
            line-height: 12px;
            width: 28px; } }
  body .sidebar {
    padding-top: 120px;
    width: 200px;
    height: 100%;
    position: fixed;
    background-color: #fff;
    -webkit-box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 2px 0 4px 0 rgba(0, 0, 0, 0.1);
    z-index: 100;
    /* /nav */ }
    @media screen and (max-width: 960px) {
      body .sidebar {
        z-index: 300;
        position: fixed;
        left: -200px;
        top: 0;
        padding-top: 0px;
        height: 100%;
        width: 200px;
        color: #333333;
        background: #fff;
        -webkit-transition: 0.35s ease-in-out;
        -moz-transition: 0.35s ease-in-out;
        -o-transition: 0.35s ease-in-out;
        transition: 0.35s ease-in-out;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none; } }
    body .sidebar .brand_logo {
      display: none; }
      @media screen and (max-width: 960px) {
        body .sidebar .brand_logo {
          display: block; }
          body .sidebar .brand_logo a {
            display: block; } }
    @media screen and (max-width: 960px) and (max-width: 960px) {
      body .sidebar .brand_logo a {
        margin: 8px 0 4px 16px;
        background: url("/img/common/logo.png") 0 0/98px 58px no-repeat;
        height: 58px;
        width: 98px; } }
    body .sidebar nav {
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1;
      text-align: left;
      color: #333333;
      width: 200px; }
      @media screen and (max-width: 960px) {
        body .sidebar nav {
          display: block;
          margin: 0 auto;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: normal;
          line-height: 1;
          position: relative;
          margin-top: 48px; } }
      @media screen and (max-width: 320px) {
        body .sidebar nav {
          margin-top: 24px; } }
      body .sidebar nav ul {
        margin: 0 auto; }
        body .sidebar nav ul li {
          position: relative;
          height: 60px; }
          @media screen and (max-width: 960px) {
            body .sidebar nav ul li {
              position: relative;
              height: 54px; } }
          @media screen and (max-width: 320px) {
            body .sidebar nav ul li {
              height: 46px; } }
          body .sidebar nav ul li a {
            color: #333333;
            text-decoration: none;
            display: block;
            padding: 24px 36px 24px 40px;
            position: relative;
            z-index: 20;
            font-weight: normal; }
            @media screen and (max-width: 960px) {
              body .sidebar nav ul li a {
                padding: 20px 36px 20px 40px; } }
            @media screen and (max-width: 320px) {
              body .sidebar nav ul li a {
                padding: 16px 36px 16px 40px; } }
            body .sidebar nav ul li a.current {
              background: #f1f1f1;
              -webkit-transition: background-color 0.3s linear;
              -moz-transition: background-color 0.3s linear;
              -o-transition: background-color 0.3s linear;
              transition: background-color 0.3s linear; }
          body .sidebar nav ul li::after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            -webkit-transform: scale(0, 1);
            -moz-transform: scale(0, 1);
            -ms-transform: scale(0, 1);
            -o-transform: scale(0, 1);
            transform: scale(0, 1);
            transform-origin: left top;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
            z-index: 10;
            background: #e0e0e0; }
          body .sidebar nav ul li:hover {
            background: #e0e0e0;
            -webkit-transition: 0.6s ease-in-out;
            -moz-transition: 0.6s ease-in-out;
            -o-transition: 0.6s ease-in-out;
            transition: 0.6s ease-in-out; }
            body .sidebar nav ul li:hover::after {
              content: '';
              transform: scale(1, 1); }
    body .sidebar .btn {
      margin-top: 39px;
      width: 136px;
      height: 39px;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1; }
      @media screen and (max-width: 960px) {
        body .sidebar .btn {
          height: 40px;
          margin-top: 16px; } }
    body .sidebar .btn_putty {
      margin-top: 23px;
      width: 136px;
      height: 39px;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1; }
      @media screen and (max-width: 960px) {
        body .sidebar .btn_putty {
          height: 40px;
          margin-top: 16px; } }
  body .modal_overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.35s ease-in-out;
    -moz-transition: opacity 0.35s ease-in-out;
    -o-transition: opacity 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out;
    z-index: 200;
    display: none; }
    body .modal_overlay.menu {
      display: block;
      pointer-events: none; }
  @media screen and (max-width: 960px) {
    body.open {
      overflow: hidden; }
      body.open header .brand_logo {
        display: none;
        -webkit-transition: 0.35s ease-in-out;
        -moz-transition: 0.35s ease-in-out;
        -o-transition: 0.35s ease-in-out;
        transition: 0.35s ease-in-out; }
      body.open .sp_nav {
        -webkit-transform: translate3d(200px, 0, 0);
        -moz-transform: translate3d(200px, 0, 0);
        -ms-transform: translate3d(200px, 0, 0);
        -o-transform: translate3d(200px, 0, 0);
        transform: translate3d(200px, 0, 0);
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1; }
        body.open .sp_nav button::before {
          content: "";
          top: 24px;
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -o-transform: rotate(45deg);
          transform: rotate(45deg); }
        body.open .sp_nav button span::before {
          content: "";
          top: 24px;
          -webkit-transform: rotate(-45deg);
          -moz-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          -o-transform: rotate(-45deg);
          transform: rotate(-45deg); }
        body.open .sp_nav button span::after {
          content: "";
          display: none; }
        body.open .sp_nav button::after {
          content: "close";
          display: block; }
      body.open .sidebar {
        -webkit-transform: translate3d(200px, 0, 0);
        -moz-transform: translate3d(200px, 0, 0);
        -ms-transform: translate3d(200px, 0, 0);
        -o-transform: translate3d(200px, 0, 0);
        transform: translate3d(200px, 0, 0); }
      body.open .modal_overlay {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1;
        pointer-events: auto; }
        body.open .modal_overlay.menu {
          z-index: 200; } }
  body main:after {
    content: '';
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background: #c7b299;
    z-index: 99998;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  body main:after {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    -o-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  body main.page_close:after {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  body main .load_logo {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background: #c7b299;
    z-index: 99998;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    body main .load_logo.page_show {
      -webkit-transform: translate3d(-100%, 0, 0);
      -moz-transform: translate3d(-100%, 0, 0);
      -ms-transform: translate3d(-100%, 0, 0);
      -o-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0); }
    body main .load_logo .logo {
      opacity: 0;
      margin: auto;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      position: absolute;
      width: 160px;
      height: 95px;
      background: url("/img/common/loading_logo.png") center center no-repeat;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      -webkit-background-size: 160px 95px;
      -moz-background-size: 160px 95px;
      -o-background-size: 160px 95px;
      background-size: 160px 95px;
      animation: logoshow .5s both; }
      @media screen and (max-width: 600px) {
        body main .load_logo .logo {
          width: 120px;
          height: 71px;
          background: url("/img/common/loading_logo.png") center center no-repeat;
          -webkit-background-size: 120px 71px;
          -moz-background-size: 120px 71px;
          -o-background-size: 120px 71px;
          background-size: 120px 71px; } }
    body main .load_logo svg {
      display: none; }
  body main .main_in {
    padding-left: 200px; }
    @media screen and (max-width: 960px) {
      body main .main_in {
        padding-left: 0;
        width: 100%; } }
  body main .main_head {
    background: #f0ebe6;
    height: 140px;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 38px 40px; }
    @media screen and (max-width: 600px) {
      body main .main_head {
        height: 96px;
        padding: 25px 16px; } }
    body main .main_head h1 {
      font-size: 26px;
      font-size: 2.6rem;
      font-family: 'Open Sans', YuGo-Bold, sans-serif;
      font-weight: 600;
      text-align: center;
      line-height: 1.31;
      color: #333333; }
      @media screen and (max-width: 600px) {
        body main .main_head h1 {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.27; } }
      body main .main_head h1 small {
        font-size: 18px;
        font-size: 1.8rem; }
        @media screen and (max-width: 600px) {
          body main .main_head h1 small {
            font-size: 12px;
            font-size: 1.2rem; } }
      body main .main_head h1 span {
        display: block;
        font-size: 16px;
        font-size: 1.6rem;
        font-family: 'Open Sans', sans-serif;
        line-height: 1.25;
        text-align: center;
        color: #333333;
        font-weight: normal;
        margin-top: 8px; }
        @media screen and (max-width: 600px) {
          body main .main_head h1 span {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.33; } }
        @media screen and (max-width: 600px) {
          body main .main_head h1 span {
            margin-top: 4px; } }
  body main .sub_head {
    background: #f1f1f1;
    height: 56px;
    margin-top: 1px;
    padding: 16px 40px 18px; }
    @media screen and (max-width: 600px) {
      body main .sub_head {
        height: 48px;
        padding: 15px 16px 15px; } }
  body main .common_head {
    background: #f1f1f1;
    height: 106px;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 35px 0; }
    @media screen and (max-width: 600px) {
      body main .common_head {
        height: 80px;
        padding: 26px 0; } }
    body main .common_head h1 {
      font-size: 26px;
      font-size: 2.6rem;
      font-weight: bold;
      text-align: center;
      line-height: 1.38;
      color: #333333; }
      @media screen and (max-width: 600px) {
        body main .common_head h1 {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.27; } }
  body main section {
    padding: 40px 40px 16px; }
    @media screen and (max-width: 600px) {
      body main section {
        padding: 20px 16px 16px; } }
    body main section.reserve_here {
      background: #c7b299;
      width: 100%;
      height: 202px;
      padding: 40px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        body main section.reserve_here {
          height: 200px; } }
      body main section.reserve_here p:nth-of-type(1) {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.17;
        color: #fff; }
        @media screen and (max-width: 600px) {
          body main section.reserve_here p:nth-of-type(1) {
            font-size: 22px;
            font-size: 2.2rem;
            line-height: 1.18; } }
      body main section.reserve_here p:nth-of-type(2) {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.57;
        color: #fff;
        margin: 8px 0 24px; }
        @media screen and (max-width: 600px) {
          body main section.reserve_here p:nth-of-type(2) {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.5;
            margin-top: 10px; } }
  body footer {
    width: 100%;
    padding: 0px;
    background: rgba(255, 255, 255, 0.8);
    transition: .5s; }
    body footer .footer_in {
      width: 100%;
      padding-left: 200px; }
      @media screen and (max-width: 960px) {
        body footer .footer_in {
          padding-left: 0;
          width: 100%; } }
    body footer .breadcrumb {
      margin-left: 0;
      text-align: left;
      overflow: hidden;
      font-size: 12px;
      font-size: 1.2rem;
      background: #f1f1f1;
      padding: 12px 40px 14px;
      height: 48px;
      line-height: 22px;
      width: 100%;
      display: inline-table; }
      @media screen and (max-width: 960px) {
        body footer .breadcrumb {
          padding: 12px 16px 14px;
          height: auto; } }
      body footer .breadcrumb li {
        display: inline;
        list-style: none;
        font-weight: bold;
        line-height: 1.83;
        text-align: left;
        color: #333333;
        height: 22px; }
        body footer .breadcrumb li a {
          text-decoration: none;
          font-weight: 500;
          color: #c7b299; }
          body footer .breadcrumb li a:hover {
            text-decoration: underline; }
        body footer .breadcrumb li::after {
          content: '>';
          padding: 0 3px;
          color: #8186a0; }
        body footer .breadcrumb li:last-child::after {
          content: ''; }
    body footer .search {
      background: #e0e0e0;
      height: 142px;
      text-align: center;
      padding-top: 24px;
      padding-bottom: 32px; }
      @media screen and (max-width: 600px) {
        body footer .search {
          padding-top: 20px;
          height: 136px; } }
      body footer .search p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.57;
        color: #333333;
        font-weight: bold; }
        @media screen and (max-width: 600px) {
          body footer .search p {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.5; } }
      body footer .search ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        margin-top: 16px; }
        @media screen and (max-width: 600px) {
          body footer .search ul {
            margin-left: 16px;
            margin-right: 16px; } }
        body footer .search ul li {
          height: 48px; }
          @media screen and (max-width: 600px) {
            body footer .search ul li {
              width: 100%;
              max-width: 295px; } }
          body footer .search ul li [type="text"] {
            background: #fff;
            width: 352px;
            height: 48px;
            border: none; }
            @media screen and (max-width: 600px) {
              body footer .search ul li [type="text"] {
                width: 100%; } }
          body footer .search ul li button {
            background: #c7b299;
            width: 48px;
            height: 48px;
            border-width: 0;
            position: relative;
            -webkit-transition: 0.2s ease-in-out;
            -moz-transition: 0.2s ease-in-out;
            -o-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out; }
            body footer .search ul li button:hover {
              background: #ad9474;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
            body footer .search ul li button span {
              content: "";
              position: absolute;
              top: 14px;
              left: 14px;
              margin-top: 0px;
              margin-left: 0px;
              width: 16px;
              height: 16px;
              border: solid 2px #fff;
              border-radius: 100%;
              -webkit-transform: rotate(-45deg);
              -moz-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
              -o-transform: rotate(-45deg);
              transform: rotate(-45deg); }
              body footer .search ul li button span::before {
                content: "";
                position: absolute;
                top: 14px;
                left: 5px;
                height: 8px;
                width: 2px;
                background-color: #fff; }
          @media screen and (max-width: 600px) {
            body footer .search ul li:nth-of-type(2) {
              width: 48px; } }
    body footer .information {
      width: 100%;
      height: 62px;
      background-color: #fff;
      padding: 18px 40px 24px; }
      @media screen and (max-width: 960px) {
        body footer .information {
          height: 282px;
          padding: 0px 16px 32px; } }
      body footer .information ul {
        text-align: center; }
        @media screen and (max-width: 960px) {
          body footer .information ul {
            height: 100%; } }
        body footer .information ul li {
          display: inline;
          color: #c7b299;
          height: 20px;
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: bold;
          line-height: 1.83;
          padding: 0 8px; }
          @media screen and (max-width: 960px) {
            body footer .information ul li {
              display: block;
              padding: 0;
              position: relative;
              margin-top: 20px;
              text-align: left; } }
          @media screen and (max-width: 960px) {
            body footer .information ul li:nth-of-type(1) {
              margin-top: 28px; } }
          body footer .information ul li a {
            text-decoration: none;
            font-weight: normal;
            color: #c7b299; }
            body footer .information ul li a:hover {
              text-decoration: underline; }
    body footer .copyright {
      width: 100%;
      height: 80px;
      padding: 16px 40px 24px;
      font-size: 12px;
      font-size: 1.2rem;
      font-weight: normal;
      line-height: 1.67;
      text-align: center;
      color: #333333; }
      @media screen and (max-width: 960px) {
        body footer .copyright {
          padding: 24px 0 24px;
          height: 76px;
          font-size: 10px;
          font-size: 1rem;
          line-height: 1.4; } }
      body footer .copyright a {
        text-decoration: none; }
        body footer .copyright a:hover {
          text-decoration: underline; }

[type="text"],
[type="password"],
[type="email"],
[type="tel"],
[type="number"],
select {
  width: 100%;
  border: solid 1px #e0e0e0;
  height: 48px;
  padding: 0 16px; }
  [type="text"]:disabled,
  [type="password"]:disabled,
  [type="email"]:disabled,
  [type="tel"]:disabled,
  [type="number"]:disabled,
  select:disabled {
    background: #f1f1f1; }
  [type="text"]:placeholder-shown,
  [type="password"]:placeholder-shown,
  [type="email"]:placeholder-shown,
  [type="tel"]:placeholder-shown,
  [type="number"]:placeholder-shown,
  select:placeholder-shown {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #e0e0e0; }
    @media screen and (max-width: 600px) {
      [type="text"]:placeholder-shown,
      [type="password"]:placeholder-shown,
      [type="email"]:placeholder-shown,
      [type="tel"]:placeholder-shown,
      [type="number"]:placeholder-shown,
      select:placeholder-shown {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5; } }
  [type="text"]::-webkit-input-placeholder,
  [type="password"]::-webkit-input-placeholder,
  [type="email"]::-webkit-input-placeholder,
  [type="tel"]::-webkit-input-placeholder,
  [type="number"]::-webkit-input-placeholder,
  select::-webkit-input-placeholder {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #e0e0e0; }
    @media screen and (max-width: 600px) {
      [type="text"]::-webkit-input-placeholder,
      [type="password"]::-webkit-input-placeholder,
      [type="email"]::-webkit-input-placeholder,
      [type="tel"]::-webkit-input-placeholder,
      [type="number"]::-webkit-input-placeholder,
      select::-webkit-input-placeholder {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5; } }
  [type="text"]:-moz-placeholder,
  [type="password"]:-moz-placeholder,
  [type="email"]:-moz-placeholder,
  [type="tel"]:-moz-placeholder,
  [type="number"]:-moz-placeholder,
  select:-moz-placeholder {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #e0e0e0; }
    @media screen and (max-width: 600px) {
      [type="text"]:-moz-placeholder,
      [type="password"]:-moz-placeholder,
      [type="email"]:-moz-placeholder,
      [type="tel"]:-moz-placeholder,
      [type="number"]:-moz-placeholder,
      select:-moz-placeholder {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5; } }
  [type="text"]::-moz-placeholder,
  [type="password"]::-moz-placeholder,
  [type="email"]::-moz-placeholder,
  [type="tel"]::-moz-placeholder,
  [type="number"]::-moz-placeholder,
  select::-moz-placeholder {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #e0e0e0; }
    @media screen and (max-width: 600px) {
      [type="text"]::-moz-placeholder,
      [type="password"]::-moz-placeholder,
      [type="email"]::-moz-placeholder,
      [type="tel"]::-moz-placeholder,
      [type="number"]::-moz-placeholder,
      select::-moz-placeholder {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5; } }
  [type="text"]:-ms-input-placeholder,
  [type="password"]:-ms-input-placeholder,
  [type="email"]:-ms-input-placeholder,
  [type="tel"]:-ms-input-placeholder,
  [type="number"]:-ms-input-placeholder,
  select:-ms-input-placeholder {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    color: #e0e0e0; }
    @media screen and (max-width: 600px) {
      [type="text"]:-ms-input-placeholder,
      [type="password"]:-ms-input-placeholder,
      [type="email"]:-ms-input-placeholder,
      [type="tel"]:-ms-input-placeholder,
      [type="number"]:-ms-input-placeholder,
      select:-ms-input-placeholder {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5; } }

.radio {
  padding-left: 28px;
  position: relative;
  display: inline-block; }
  @media screen and (max-width: 600px) {
    .radio {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5;
      margin-top: 8px; } }
  .radio + .radio {
    margin-left: 20px; }
  .radio::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 1px solid #c7b299;
    border-radius: 50%;
    margin-right: 8px;
    background: #fff;
    z-index: 1; }
  .radio [type="radio"] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border: none;
    outline: none; }
    .radio [type="radio"] + span {
      display: none; }
    .radio [type="radio"]:checked + span {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 3px;
      width: 14px;
      height: 14px;
      margin: auto;
      background: #c7b299;
      border-radius: 50%;
      z-index: 2; }

.check {
  padding-left: 28px;
  position: relative;
  cursor: pointer; }
  @media screen and (max-width: 600px) {
    .check {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5; } }
  .check + .check {
    margin-left: 20px; }
  .check::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 1px solid #c7b299;
    background: #fff;
    z-index: 1; }
  .check [type="checkbox"] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border: none;
    outline: none; }
    .check [type="checkbox"] + span {
      display: none; }
    .check [type="checkbox"]:checked + span {
      position: absolute;
      top: -3px;
      bottom: 0;
      left: 6px;
      display: block;
      margin: auto;
      width: 7px;
      height: 11px;
      border-right: 2px solid #c7b299;
      border-bottom: 2px solid #c7b299;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
      z-index: 2; }

.page_err {
  background: #e91e63;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin: -40px -40px 32px; }
  @media screen and (max-width: 600px) {
    .page_err {
      margin: -20px -16px 32px; } }

.err {
  font-size: 14px;
  font-size: 1.4rem;
  color: #e91e63; }
  @media screen and (max-width: 600px) {
    .err {
      font-size: 13px;
      font-size: 1.3rem; } }

.pagination {
  text-align: center; }
  @media screen and (max-width: 960px) {
    .pagination span {
      font-size: 12px;
      font-size: 1.2rem; } }
  .pagination span a {
    display: inline-block;
    text-align: center;
    width: 80px;
    height: 40px;
    line-height: 40px;
    border: 1px solid #e0e0e0;
    color: #333333; }
    .pagination span a:hover {
      background: #e0e0e0;
      text-decoration: none; }
    .pagination span a.disable {
      pointer-events: none;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
      opacity: 0.5; }
    @media screen and (max-width: 960px) {
      .pagination span a {
        width: 74px; } }
  .pagination span.previous {
    margin-right: 12px; }
  .pagination span.next {
    margin-left: 12px; }
  .pagination label {
    position: relative; }
    .pagination label:after {
      display: block;
      content: "";
      position: absolute;
      top: 50%;
      right: 12px;
      width: 8px;
      height: 8px;
      margin-top: -6px;
      border-left: 1px solid #e0e0e0;
      border-bottom: 1px solid #e0e0e0;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
      pointer-events: none; }
    .pagination label select {
      width: 80px;
      height: 40px;
      line-height: 40px;
      padding-left: 28px;
      border-radius: 0;
      cursor: pointer; }
      @media screen and (max-width: 960px) {
        .pagination label select {
          width: 74px;
          padding-left: 24px; } }

.system_error {
  margin: 0 auto 40px;
  max-width: 992px;
  width: 90%; }
  @media screen and (max-width: 960px) {
    .system_error {
      width: 100%;
      min-width: 100%;
      font-size: 12px;
      font-size: 1.2rem; } }
  .system_error p span {
    display: inline-block;
    margin-bottom: 32px;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold; }
    @media screen and (max-width: 960px) {
      .system_error p span {
        margin-bottom: 24px; } }
  .system_error ul {
    font-weight: bold;
    margin: 24px 0; }

@media screen and (max-width: 960px) {
  body.admin header {
    top: 0; } }

@media screen and (max-width: 960px) {
  body.admin header .brand_logo, body.admin header ul {
    position: static; } }

@media screen and (max-width: 960px) {
  body.admin header .brand_logo.is-fixed, body.admin header ul.is-fixed {
    position: fixed;
    top: 0; } }

body.admin main {
  clear: both; }

body.admin .admin_head {
  background: #3c8dbc;
  height: 48px;
  width: 100%;
  position: relative;
  padding-top: 8px;
  float: right;
  z-index: 50; }
  @media screen and (max-width: 960px) {
    body.admin .admin_head {
      z-index: 300; } }
  body.admin .admin_head .btn_brdblk {
    border: none;
    width: 80px;
    height: 32px;
    float: left;
    margin-left: 280px; }
    @media screen and (max-width: 960px) {
      body.admin .admin_head .btn_brdblk {
        margin-left: 16px; } }
    @media screen and (max-width: 400px) {
      body.admin .admin_head .btn_brdblk {
        width: 65px;
        font-size: 11px;
        font-size: 1.1rem; } }
    body.admin .admin_head .btn_brdblk span {
      line-height: 32px; }
    body.admin .admin_head .btn_brdblk + .btn_brdblk {
      margin-left: 10px; }
  body.admin .admin_head p {
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    text-align: right;
    position: absolute;
    right: 105px;
    height: 22px;
    margin-top: 4px; }
    @media screen and (max-width: 960px) {
      body.admin .admin_head p {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1;
        padding-top: 8px;
        height: 10px;
        right: 74px; } }
  body.admin .admin_head dl {
    position: absolute;
    right: 0; }
    body.admin .admin_head dl dt {
      position: relative;
      right: 48px; }
      @media screen and (max-width: 960px) {
        body.admin .admin_head dl dt {
          right: 16px; } }
      body.admin .admin_head dl dt a::after {
        content: '';
        width: 9px;
        height: 8px;
        border-top: 8px solid #fff;
        border-right: 5px solid transparent;
        border-left: 5px solid transparent;
        position: absolute;
        top: 12px; }
        @media screen and (max-width: 960px) {
          body.admin .admin_head dl dt a::after {
            width: 6px;
            height: 5px;
            border-top: 5px solid #fff;
            border-right: 3px solid transparent;
            border-left: 3px solid transparent;
            right: 0;
            top: 14px; } }
      body.admin .admin_head dl dt a img {
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        border-radius: 50%;
        width: 32px;
        height: 32px;
        position: absolute;
        right: 8px;
        object-fit: cover;
        object-position: 50% 50%; }
        @media screen and (max-width: 960px) {
          body.admin .admin_head dl dt a img {
            right: 12px; } }
      body.admin .admin_head dl dt.active a::after {
        content: '';
        border-top: none;
        border-bottom: 8px solid #fff; }
        @media screen and (max-width: 960px) {
          body.admin .admin_head dl dt.active a::after {
            border-bottom: 5px solid #fff; } }
    body.admin .admin_head dl dd {
      background: #fff;
      border: solid 1px #e0e0e0;
      padding: 16px;
      position: absolute;
      display: none;
      top: 36px;
      right: 41px;
      width: 240px; }
      @media screen and (max-width: 960px) {
        body.admin .admin_head dl dd {
          right: 16px;
          min-width: 160px;
          width: auto;
          padding: 16px 0 16px; } }
      @media screen and (max-width: 960px) {
        body.admin .admin_head dl dd ul {
          width: 100%; } }
      body.admin .admin_head dl dd ul li {
        height: 24px;
        margin-top: 2px; }
        body.admin .admin_head dl dd ul li:nth-of-type(1) {
          margin-top: 0; }
        body.admin .admin_head dl dd ul li a {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.57;
          color: #333333;
          display: block;
          padding: 0 8px; }
          @media screen and (max-width: 960px) {
            body.admin .admin_head dl dd ul li a {
              font-size: 12px;
              font-size: 1.2rem;
              line-height: 1.5; } }
          body.admin .admin_head dl dd ul li a:hover {
            text-decoration: none; }
          body.admin .admin_head dl dd ul li a:active, body.admin .admin_head dl dd ul li a:focus {
            background: #f1f1f1; }

html.cat_top .main_head {
  height: 200px;
  padding: 68px 40px 70px; }
  @media screen and (max-width: 600px) {
    html.cat_top .main_head {
      height: 160px;
      padding: 57px 40px 57px; } }
  html.cat_top .main_head h1 span {
    margin-top: 8px; }
    @media screen and (max-width: 600px) {
      html.cat_top .main_head h1 span {
        margin-top: 4px; } }

html.android_old .btn span {
  line-height: 40px; }

html.android_old .btn_putty span {
  line-height: 40px; }

html.android_old .btn_brdblk span {
  line-height: 40px; }

html.android_old header ul .btn span {
  line-height: 34px; }

html.android_old header ul .btn_putty span {
  line-height: 34px; }

html.android .btn span {
  line-height: 38px; }

html.android .btn_putty span {
  line-height: 38px; }

html.android .btn_brdblk span {
  line-height: 38px; }

html.android header ul .btn span {
  line-height: 32px; }

html.android header ul .btn_putty span {
  line-height: 32px; }

@-webkit-keyframes logoshow {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes logoshow {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes logoshow {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes circle {
  0% {
    stroke-dasharray: 0 377; }
  99.9%, to {
    stroke-dasharray: 377 377; } }

@-ms-keyframes circle {
  0% {
    stroke-dasharray: 0 377; }
  99.9%, to {
    stroke-dasharray: 377 377; } }

@keyframes circle {
  0% {
    stroke-dasharray: 0 377; }
  99.9%, to {
    stroke-dasharray: 377 377; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL19jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9fbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9hbmltYXRpb24vX2NvcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fb3BhY2l0eS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIrRUFBQSxpQkFBaUI7QUNBakI7Ozs7R0FJRztBQUVIOzt5RUFFeUU7QUFFekU7RUFDRSx1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQUcsZ0RBQWdEO0VBQ3JFLCtCQUE4QjtFQUFHLFlBQVksRUFDOUM7O0FBRUQ7OztFQUdFLDZCQUE0QjtFQUFHLDRFQUE0RTtFQUMzRyxvQkFBbUIsRUFDcEI7O0FBRUQ7O0VBRUUseUJBQXdCO0VBQUcsd0ZBQXdGO0VBQ25ILHdCQUF1QixFQUN4Qjs7QUFFRDtFQUNFLFdBQVU7RUFBRyxrREFBa0Q7RUFDL0QsVUFBUyxFQUNWOztBQUVEOzt5RUFFeUU7QUFFekUsd0NBQXdDO0FBQ3hDO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDtFQUNFLGtC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QUNYLGFBQVk7SUMzZDJDLCtCRXVPdEI7SUZyT3lCLDRCRXFPekI7SUZwTzBCLDJCRW9PMUI7SUZuTzJCLDBCRW1PM0I7SUZsTzhCLHVCRWtPOUI7SUhzUGpDLDJCQUEwQjtJRXBUc0IscUNGcVRiO0lFbFRnQixrQ0ZrVGhCO0lFalRrQixnQ0ZpVGxCO0lFaFRxQiw2QkZnVHJCO0lBQ25DLFlBQVc7SUFDWCxvQkFBb0IsRUFDcEI7RUg1YkY7SUc4YkUsWUFBVztJQUNYLHVCQUFzQixFQUN0QjtFSGhjRjtJR3VjSSxlRC9lVyxFQ2dmWDtFSHhjSjtJRzJjRyxlRG5mWSxFQ29mWjtFSDVjSDtJRzhjRywrQkFBOEI7SUUxVWlCLHFDRjJVWjtJRXhVZSxrQ0Z3VWY7SUV2VWlCLGdDRnVVakI7SUV0VW9CLDZCRnNVcEIsRUFXbkM7SUgxZEg7TUdrZEssWUFBVztNRTlVa0MscUNGK1VWO01FNVVhLGtDRjRVYjtNRTNVZSxnQ0YyVWY7TUUxVWtCLDZCRjBVbEIsRUFDbkM7SUhwZEw7TUd1ZEksWUFBVztNRW5WbUMscUNGb1ZYO01FalZjLGtDRmlWZDtNRWhWZ0IsZ0NGZ1ZoQjtNRS9VbUIsNkJGK1VuQixFQUNuQztFSHpkSjtJRzRkRyxzQkFBcUIsRUFVckI7SUh0ZUg7TUc4ZEksZUFBYyxFQUNkO0lIL2RKO01HaWVJLGNBQVksRUFDWjtJSGxlSjtNR29lSSw0QkFBMkIsRUFDM0I7RUhoZUg7SUFMRDtNQU1FLGlCQUFnQjtNQUNoQixZQUFXO01BQ1gsYUFBWSxFQUViOztBQUNEO0VBQ0MsY0FBYSxFQU9iO0VBUkQ7SUFHRSwyQkFBMEIsRUFJMUI7SUFQRjtNQUtHLHNCQUFxQixFQUNyQjs7QUFHSDtFR3NYQyxlQUFjO0VDL2EwQyw0QkRnYjdCO0VDOWFnQyx5QkQ4YWhDO0VDN2FpQyx3QkQ2YWpDO0VDNWFrQyx1QkQ0YWxDO0VDM2FxQyxvQkQyYXJDO0VBQzNCLGVBQWE7RUFDYixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxpQkFBZ0I7RUF5RlQsWUFBVztFQUNqQiwwQkRsaEJhO0VDbWhC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TUV2UmUsa0NGdVJmO01FdFJpQixnQ0ZzUmpCO01FclJvQiw2QkZxUnBCO01BQ25DLGtCQUFpQixFQUlqQjtNQUhBO1FIOVhIO1VHK1hJLGtCQUFpQixFQUVsQjtJSGpZSDtNR21ZSSxzQkFBcUIsRUFDdEI7RUhwWUg7SUd1WUUsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixrQkFBaUI7SUFDakIsbUJBQWtCO0lFeFM4QixxQ0Z5U2I7SUV0U2dCLGtDRnNTaEI7SUVyU2tCLGdDRnFTbEI7SUVwU3FCLDZCRm9TckIsRUFDbkM7RUg1WUY7SUc4WUUsWUFBVztJQUNYLG1CQUFrQjtJQ3RkcUMsNEJEdWQ1QjtJQ3JkK0IseUJEcWQvQjtJQ3BkZ0Msd0JEb2RoQztJQ25kaUMsdUJEbWRqQztJQ2xkb0Msb0JEa2RwQztJQUMzQixRQUFPO0lBQ1AsT0FBTTtJQUNOLFlBQVc7SUFDWCxhQUFZO0lDM2QyQywrQkV1T3RCO0lGck95Qiw0QkVxT3pCO0lGcE8wQiwyQkVvTzFCO0lGbk8yQiwwQkVtTzNCO0lGbE84Qix1QkVrTzlCO0lIc1BqQywyQkFBMEI7SUVwVHNCLHFDRnFUYjtJRWxUZ0Isa0NGa1RoQjtJRWpUa0IsZ0NGaVRsQjtJRWhUcUIsNkJGZ1RyQjtJQUNuQyxZQUFXO0lBQ1gsb0JBQW9CLEVBQ3BCO0VIMVpGO0lHNFpFLFlBQVc7SUFDWCx1QkFBc0IsRUFDdEI7RUg5WkY7SUcwZEksZURoaUJVLEVDaWlCVjtFSDNkSjtJRzhkRyxlRHBpQlcsRUNxaUJYO0VIL2RIO0lHaWVHLGlCQUFnQixFQUNoQjtFSGxlSDtJR29lRyxpQkFBZ0I7SUVsWStCLHFDRm1ZWjtJRWhZZSxrQ0ZnWWY7SUUvWGlCLGdDRitYakI7SUU5WG9CLDZCRjhYcEIsRUFXbkM7SUhoZkg7TUd3ZUssWUFBVztNRXRZa0MscUNGdVlWO01FcFlhLGtDRm9ZYjtNRW5ZZSxnQ0ZtWWY7TUVsWWtCLDZCRmtZbEIsRUFDbkM7SUgxZUw7TUc2ZUksWUFBVztNRTNZbUMscUNGNFlYO01FelljLGtDRnlZZDtNRXhZZ0IsZ0NGd1loQjtNRXZZbUIsNkJG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QyxpQ0owY25CO1VJeGNzQiw4Qkp3Y3RCO1VJdmN1Qiw2Qkp1Y3ZCO1VJdGN3Qiw0QkpzY3hCO1VJcmMyQix5QkpxYzNCLEVBQ2hDO1FBcFhOO1VBdVhPLFlBQVc7VUFDWCxVQUFTO1VJL2N5QyxrQ0pnZGpCO1VJOWNvQiwrQko4Y3BCO1VJN2NxQiw4Qko2Y3JCO1VJNWNzQiw2Qko0Y3RCO1VJM2N5QiwwQkoyY3pCLEVBQ2pDO1FBMVhQO1VBNFhPLFlBQVc7VUFDWCxjQUFhLEVBQ2I7UUE5WFA7VUFpWU0saUJBQWdCO1VBQ2hCLGVBQWMsRUFDZDtNQW5ZTjtRSXZGeUQsNENKOGRaO1FJNWRlLHlDSjRkZjtRSTNkZ0Isd0NKMmRoQjtRSTFkaUIsdUNKMGRqQjtRSXpkb0Isb0NKeWRwQixFQUN6QztNQXhZSjtRUTVGSSw2REFBNEY7UUFFOUYsV1JvZW9CO1FBQ2hCLHFCQUFvQixFQUl0QjtRQS9ZSjtVQTZZTyxhQUFZLEVBQ1o7RUE5WVA7SUFvWkcsWUFBVztJQUNYLGdCQUFlO0lBQ2YsT0FBTTtJQUNOLFlBQVc7SUFDWCxhQUFZO0lBQ1osb0JFbmZZO0lGb2ZaLGVBQWM7SUt4VWlDLHlDTHlVUDtJS3RVVSxzQ0xzVVY7SUtyVVksb0NMcVVaO0lLcFVlLGlDTG9VZixFQUN4QztFQTVaSDtJSXZGeUQsMkNKcWZkO0lJbmZpQix3Q0ptZmpCO0lJbGZrQix1Q0prZmxCO0lJamZtQixzQ0ppZm5CO0lJaGZzQixtQ0pnZnRCLEVBQ3hDO0VBL1pIO0lJdkZ5RCx3Q0p3ZmpCO0lJdGZvQixxQ0pzZnBCO0lJcmZxQixvQ0pxZnJCO0lJcGZzQixtQ0pvZnRCO0lJbmZ5QixnQ0ptZnpCLEVBQ3JDO0VBbGFIO0lBb2FHLGdCQUFlO0lBQ2YsT0FBTTtJQUNOLFlBQVc7SUFDWCxhQUFZO0lBQ1osb0JFbGdCWTtJRm1nQlosZUFBYztJS3ZWaUMseUNMd1ZQO0lLclZVLHNDTHFWVjtJS3BWWSxvQ0xvVlo7SUtuVmUsaUNMbVZmO0lJamdCYyx3Q0prZ0JqQjtJSWhnQm9CLHFDSmdnQnBCO0lJL2ZxQixvQ0orZnJCO0lJOWZz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aUIsRUFDakI7O0FBOURKO0VBbUVLLGtCQUFpQixFQUNqQjs7QUFwRUw7RUF3RUssa0JBQWlCLEVBQ2pCOztBQUtMO0VBQ0U7SUFBSyxXQUFVO0VBQ2Y7SUFBTyxXQUFVOztBQUVuQjtFQUNFO0lBQUssV0FBVSxFQUFLO0VBQ3BCO0lBQU8sV0FBVSxFQUFLOztBQUV4QjtFQUNFO0lBQUssV0FBVTtFQUNmO0lBQU8sV0FBVTs7QUFFbkI7RUFDRTtJQUFLLHdCQUF1QjtFQUM1QjtJQUFXLDBCQUF5Qjs7QUFFdEM7RUFDRTtJQUFLLHdCQUF1QixFQUFLO0VBQ2pDO0lBQVcsMEJBQXlCLEVBQUs7O0FBRTNDO0VBQ0U7SUFBSyx3QkFBdUI7RUFDNUI7SUFBVywwQkFBeUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiByZXNzLmNzcyDigKIgdjEuMi4yXG4gKiBNSVQgTGljZW5zZVxuICogZ2l0aHViLmNvbS9maWxpcGVsaW5oYXJlcy9yZXNzXG4gKi9cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2xvYmFsIHNlbGVjdG9yc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMFwiKTtcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC8qIEFsbCBicm93c2VycyB3aXRob3V0IG92ZXJsYXlpbmcgc2Nyb2xsYmFycyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGlPUyA4KyAqLyB9XG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvKiBTZXQgYGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXRgIHRvIGFsbCBlbGVtZW50cyBhbmQgcHNldWRvIGVsZW1lbnRzICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBJbmhlcml0IHRleHQtZGVjb3JhdGlvbiBhbmQgdmVydGljYWwgYWxpZ24gdG8gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG5cbioge1xuICBwYWRkaW5nOiAwO1xuICAvKiBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAqL1xuICBtYXJnaW46IDA7IH1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBHZW5lcmFsIGVsZW1lbnRzXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LiovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuaHIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUgKi8gfVxuXG4vKlxuKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85XG4qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4qIGFuZCBGaXJlZm94XG4qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTFcbiovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgKi8gfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICAvKiBTZXQgZm9udC1zaXplIHRvIDgwJSBpbiBgc21hbGxgIGVsZW1lbnRzICovIH1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovIH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICAvKiBBZGQgYSBib3JkZXJlZCB1bmRlcmxpbmUgZWZmZWN0IGluIGFsbCBicm93c2VycyAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8qIFJlbW92ZSB0ZXh0IGRlY29yYXRpb24gaW4gRmlyZWZveCA0MCsgKi8gfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMCAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsgKi8gfVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xuICAvKiBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiBob3ZlcmluZyBpbiBhbGwgYnJvd3NlcnMgKi8gfVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAqLyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xuICAvKiBDb3JyZWN0IHN0eWxlIHNldCB0byBgYm9sZGAgaW4gRWRnZSAxMissIFNhZmFyaSA2LjIrLCBhbmQgQ2hyb21lIDE4KyAqLyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgLyogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lICovIH1cblxuLyogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEZvcm1zXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogQXBwbHkgY3Vyc29yIHBvaW50ZXIgdG8gYnV0dG9uIGVsZW1lbnRzICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIFJlcGxhY2UgcG9pbnRlciBjdXJzb3IgaW4gZGlzYWJsZWQgZWxlbWVudHMgKi9cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICB3aWR0aDogYXV0bztcbiAgLyogRmlyZWZveCAzNisgKi8gfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiBTYWZhcmkgOCsgKi8gfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBTYWZhcmkgOCAqLyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIEludGVybmV0IEV4cGxvcmVyIDExKyAqL1xuICByZXNpemU6IHZlcnRpY2FsO1xuICAvKiBTcGVjaWZ5IHRleHRhcmVhIHJlc2l6YWJpbGl0eSAqLyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIFNwZWNpZnkgZm9udCBpbmhlcml0YW5jZSBvZiBmb3JtIGVsZW1lbnRzICovIH1cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgLyogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovIH1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExICovIH1cblxuLyogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyAqLyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBGaXJlZm94IDQwKywgSW50ZXJuZXQgRXhwbG9yZXIgMTEtICovIH1cblxuLyogUmVtb3ZlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nIGluIGFsbCBicm93c2VycyAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qIFN0eWxlIHNlbGVjdCBsaWtlIGEgc3RhbmRhcmQgaW5wdXQgKi9cbnNlbGVjdCB7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogRmlyZWZveCAzNisgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBDaHJvbWUgNDErICovIH1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovIH1cblxuc2VsZWN0OjotbXMtdmFsdWUge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi8gfVxuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovIH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIENocm9tZSBhbmQgU2FmYXJpICovIH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpICovIH1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBTcGVjaWZ5IG1lZGlhIGVsZW1lbnQgc3R5bGVcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgLyogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAgKi8gfVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEludGVybmV0IEV4cGxvcmVyIDExLSAqLyB9XG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErLCBXaW5kb3dzIFBob25lIDguMSsgKi8gfVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEFjY2Vzc2liaWxpdHlcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEhpZGUgY29udGVudCBmcm9tIHNjcmVlbnMgYnV0IG5vdCBzY3JlZW5yZWFkZXJzICovXG5AbWVkaWEgc2NyZWVuIHtcbiAgW2hpZGRlbn49XCJzY3JlZW5cIl0ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgW2hpZGRlbn49XCJzY3JlZW5cIl06bm90KDphY3RpdmUpOm5vdCg6Zm9jdXMpOm5vdCg6dGFyZ2V0KSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50OyB9IH1cblxuLyogU3BlY2lmeSB0aGUgcHJvZ3Jlc3MgY3Vyc29yIG9mIHVwZGF0aW5nIGVsZW1lbnRzICovXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLyogU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIFNwZWNpZnkgdGhlIHVuc3R5bGVkIGN1cnNvciBvZiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2UgaW5vcGVyYWJsZSBlbGVtZW50cyAqL1xuW2FyaWEtZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgU2VsZWN0aW9uXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTcGVjaWZ5IHRleHQgc2VsZWN0aW9uIGJhY2tncm91bmQgY29sb3IgYW5kIG9taXQgZHJvcCBzaGFkb3cgKi9cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNGZjO1xuICAvKiBSZXF1aXJlZCB3aGVuIGRlY2xhcmluZyA6OnNlbGVjdGlvbiAqL1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNGZjO1xuICAvKiBSZXF1aXJlZCB3aGVuIGRlY2xhcmluZyA6OnNlbGVjdGlvbiAqL1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLypcbiMgcmFkaW8gJiBjaGVja2JveFxuKi9cblt0eXBlPVwibnVtYmVyXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwicmFkaW9cIl0sXG5bdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFwi5ri444K044K344OD44KvIE1lZGl1bVwiLFwiWXUgR290aGljIE1lZGl1bVwiLFwi5ri444K044K344OD44Kv5L2TXCIsWXVHb3RoaWMsXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLE1laXJ5byxzYW5zLXNlcmlmO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICBodG1sLmluZGV4X3BhZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgaHRtbC5wb3B1cCB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICBodG1sLnBvcHVwIGJvZHkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5hLCBhIHNwYW4ge1xuICBjb2xvcjogI2M3YjI5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsIGEgc3Bhbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYnV0dG9uW3R5cGU9XCJidXR0b25cIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbmhyLnByaW1hcnkge1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICNmMWYxZjE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTA7IH1cblxuaDMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIC1vLWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjYzdiMjk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYzdiMjk5O1xuICB3aWR0aDogNDAwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuYnRuIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJ0biBhIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICBkaXNwbGF5OiAtbXMtYm94O1xuICAgICAgZGlzcGxheTogYm94O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIC5idG4gYSBzcGFuIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG4gICAgLmJ0biBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuIHNwYW4ge1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC1vLWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDogI2FkOTQ3NDsgfVxuICAuYnRuOmhvdmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxuICAuYnRuIGEgc3BhbiB7XG4gICAgY29sb3I6ICNjN2IyOTk7IH1cbiAgLmJ0biBzcGFuIHtcbiAgICBjb2xvcjogI2M3YjI5OTsgfVxuICAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWQ5NDc0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuYnRuOmhvdmVyIGEgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmJ0bjpob3ZlciBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bjpkaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLmJ0bjpkaXNhYmxlZCBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLmJ0bjpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmJ0bjpkaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYnRuIHtcbiAgICAgIG1heC13aWR0aDogMjk1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDBweDsgfSB9XG5cbi5idG5fdHh0IHtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuYnRuX3R4dCBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5idG5fdHh0IHNwYW46aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idG5fcHV0dHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtby1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3YjI5OTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmZjtcbiAgd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmJ0bl9wdXR0eSBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5idG5fcHV0dHkgYSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgICAgZGlzcGxheTogLW1zLWJveDtcbiAgICAgIGRpc3BsYXk6IGJveDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7IH1cbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAuYnRuX3B1dHR5IGEgc3BhbiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5idG5fcHV0dHkgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bl9wdXR0eSBzcGFuIHtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG5fcHV0dHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAtby1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6ICNhZDk0NzQ7IH1cbiAgLmJ0bl9wdXR0eTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7IH1cbiAgLmJ0bl9wdXR0eSBhIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idG5fcHV0dHk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhZDk0NzQgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDsgfVxuICAuYnRuX3B1dHR5LmJkbiB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M3YjI5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5idG5fcHV0dHkge1xuICAgICAgbWF4LXdpZHRoOiAyOTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cblxuLmJ0bl9icmRibGsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtby1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzMzMzMzMztcbiAgd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmJ0bl9icmRibGsgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYnRuX2JyZGJsayBhIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICBkaXNwbGF5OiAtbXMtYm94O1xuICAgICAgZGlzcGxheTogYm94O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIC5idG5fYnJkYmxrIGEgc3BhbiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5idG5fYnJkYmxrIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5idG5fYnJkYmxrIHNwYW4ge1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bl9icmRibGs6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAtby1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6ICNhZDk0NzQ7IH1cbiAgLmJ0bl9icmRibGs6aG92ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XG4gIC5idG5fYnJkYmxrIGEgc3BhbiB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmJ0bl9icmRibGsgc3BhbiB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmJ0bl9icmRibGs6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzOyB9XG4gIC5idG5fYnJkYmxrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmJ0bl9icmRibGs6aG92ZXIgYSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAuYnRuX2JyZGJsazpob3ZlciBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYnRuX2JyZGJsayB7XG4gICAgICBtYXgtd2lkdGg6IDI5NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuXG4uYnRuLCAuYnRuX3B1dHR5LCAuYnRuX2JyZGJsaywgLmJ0bl90eHQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbmJvZHkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzMzMzMzMztcbiAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gIC8qIC9zaWRlYmFyICovIH1cbiAgYm9keSBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogIzAzMzU2MDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIGJvZHkgaGVhZGVyIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtYm94O1xuICAgICAgICBkaXNwbGF5OiBib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tb3otYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIGJvZHkgaGVhZGVyIC5icmFuZF9sb2dvIHtcbiAgICAgIHdpZHRoOiAxMDhweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAxNnB4IDAgMThweCAyNHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkgaGVhZGVyIC5icmFuZF9sb2dvIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxcHggMHB4IDBweCAxNnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluIDEuM3MgZWFzZSAwcyAxIG5vcm1hbDtcbiAgICAgICAgICAtbW96LWFuaW1hdGlvbjogZmFkZUluIDEuM3MgZWFzZSAwcyAxIG5vcm1hbDtcbiAgICAgICAgICAtbXMtYW5pbWF0aW9uOiBmYWRlSW4gMS4zcyBlYXNlIDBzIDEgbm9ybWFsO1xuICAgICAgICAgIC1vLWFuaW1hdGlvbjogZmFkZUluIDEuM3MgZWFzZSAwcyAxIG5vcm1hbDtcbiAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAxLjNzIGVhc2UgMHMgMSBub3JtYWw7IH1cbiAgICAgICAgQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgICAgICAwJSB7XG4gICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgICAgIEAtby1rZXlmcmFtZXMgZmFkZUluIHtcbiAgICAgICAgICAwJSB7XG4gICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgICAgIEAtbXMta2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgICAgYm9keSBoZWFkZXIgLmJyYW5kX2xvZ28gMCUge1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICBib2R5IGhlYWRlciAuYnJhbmRfbG9nbyAxMDAlIHtcbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfSB9XG4gICAgICBib2R5IGhlYWRlciAuYnJhbmRfbG9nbyBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb21tb24vbG9nby5wbmdcIikgMCAwLzEwOHB4IDY0cHggbm8tcmVwZWF0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjRweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIGJvZHkgaGVhZGVyIC5icmFuZF9sb2dvIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwOHB4OyB9IH1cbiAgICBib2R5IGhlYWRlciB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5IGhlYWRlciB1bCB7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgICAgZGlzcGxheTogLW1zLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBib3g7XG4gICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkgaGVhZGVyIHVsIGxpLmJ0biB7XG4gICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICAtby1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IDhweCA4cHggMDtcbiAgICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMXB4IDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgICAgICBib2R5IGhlYWRlciB1bCBsaS5idG4gYSBzcGFuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkgaGVhZGVyIHVsIGxpLmJ0bl9wdXR0eSB7XG4gICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgICAtby1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IDE2cHggOHB4IDA7XG4gICAgICAgICAgd2lkdGg6IDg4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDFweCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNjN2IyOTk7IH1cbiAgICAgICAgICBib2R5IGhlYWRlciB1bCBsaS5idG5fcHV0dHkgYSBzcGFuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICBib2R5IGhlYWRlciBidXR0b24uY2xvc2Uge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkgaGVhZGVyIGJ1dHRvbi5jbG9zZSB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAgIGJvZHkgaGVhZGVyIGJ1dHRvbi5jbG9zZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgYm9keSBoZWFkZXIgYnV0dG9uLmNsb3NlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBib2R5IC5zcF9uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgYm9keSAuc3BfbmF2IHtcbiAgICAgICAgei1pbmRleDogNDAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIC8qIHRvcDogNDc4cHg7ICovXG4gICAgICAgIGJvdHRvbTogMTA2cHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YjI5OTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAxcHggMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgYm9keSAuc3BfbmF2LmlzLWhpZGUge1xuICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICBib2R5IC5zcF9uYXYgYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgYm9keSAuc3BfbmF2IGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDsgfVxuICAgICAgICAgIGJvZHkgLnNwX25hdiBidXR0b24gc3BhbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgICAgYm9keSAuc3BfbmF2IGJ1dHRvbiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgdG9wOiAyNnB4OyB9XG4gICAgICAgICAgICBib2R5IC5zcF9uYXYgYnV0dG9uIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJtZW51XCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjhweDsgfVxuICAgICAgICAgIGJvZHkgLnNwX25hdiBidXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiY2xvc2VcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gIGJvZHkgLnNpZGViYXIge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDAgNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMnB4IDAgNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgLyogL25hdiAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIGJvZHkgLnNpZGViYXIge1xuICAgICAgICB6LWluZGV4OiAzMDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogLTIwMHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gICAgYm9keSAuc2lkZWJhciAuYnJhbmRfbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5IC5zaWRlYmFyIC5icmFuZF9sb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIGJvZHkgLnNpZGViYXIgLmJyYW5kX2xvZ28gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgYm9keSAuc2lkZWJhciAuYnJhbmRfbG9nbyBhIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMCA0cHggMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb21tb24vbG9nby5wbmdcIikgMCAwLzk4cHggNThweCBuby1yZXBlYXQ7XG4gICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgd2lkdGg6IDk4cHg7IH0gfVxuICAgIGJvZHkgLnNpZGViYXIgbmF2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgd2lkdGg6IDIwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5IC5zaWRlYmFyIG5hdiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgYm9keSAuc2lkZWJhciBuYXYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAgICAgYm9keSAuc2lkZWJhciBuYXYgdWwge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICBib2R5IC5zaWRlYmFyIG5hdiB1bCBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGhlaWdodDogNjBweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBib2R5IC5zaWRlYmFyIG5hdiB1bCBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgYm9keSAuc2lkZWJhciBuYXYgdWwgbGkge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7IH0gfVxuICAgICAgICAgIGJvZHkgLnNpZGViYXIgbmF2IHVsIGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMzZweCAyNHB4IDQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAgIGJvZHkgLnNpZGViYXIgbmF2IHVsIGxpIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzZweCAyMHB4IDQwcHg7IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgICAgICAgYm9keSAuc2lkZWJhciBuYXYgdWwgbGkgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAzNnB4IDE2cHggNDBweDsgfSB9XG4gICAgICAgICAgICBib2R5IC5zaWRlYmFyIG5hdiB1bCBsaSBhLmN1cnJlbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjsgfVxuICAgICAgICAgIGJvZHkgLnNpZGViYXIgbmF2IHVsIGxpOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwOyB9XG4gICAgICAgICAgYm9keSAuc2lkZWJhciBuYXYgdWwgbGk6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjZzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgICBib2R5IC5zaWRlYmFyIG5hdiB1bCBsaTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxuICAgIGJvZHkgLnNpZGViYXIgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAzOXB4O1xuICAgICAgd2lkdGg6IDEzNnB4O1xuICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgYm9keSAuc2lkZWJhciAuYnRuIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgYm9keSAuc2lkZWJhciAuYnRuX3B1dHR5IHtcbiAgICAgIG1hcmdpbi10b3A6IDIzcHg7XG4gICAgICB3aWR0aDogMTM2cHg7XG4gICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5IC5zaWRlYmFyIC5idG5fcHV0dHkge1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgYm9keSAubW9kYWxfb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlLWluLW91dDtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHkgLm1vZGFsX292ZXJsYXkubWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgYm9keS5vcGVuIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIGJvZHkub3BlbiBoZWFkZXIgLmJyYW5kX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtby10cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIGJvZHkub3BlbiAuc3BfbmF2IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwcHgsIDAsIDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDBweCwgMCwgMCk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICBib2R5Lm9wZW4gLnNwX25hdiBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAgIGJvZHkub3BlbiAuc3BfbmF2IGJ1dHRvbiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgICAgIGJvZHkub3BlbiAuc3BfbmF2IGJ1dHRvbiBzcGFuOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIGJvZHkub3BlbiAuc3BfbmF2IGJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiY2xvc2VcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgYm9keS5vcGVuIC5zaWRlYmFyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwcHgsIDAsIDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDBweCwgMCwgMCk7IH1cbiAgICAgIGJvZHkub3BlbiAubW9kYWxfb3ZlcmxheSB7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgICAgYm9keS5vcGVuIC5tb2RhbF9vdmVybGF5Lm1lbnUge1xuICAgICAgICAgIHotaW5kZXg6IDIwMDsgfSB9XG4gIGJvZHkgbWFpbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2M3YjI5OTtcbiAgICB6LWluZGV4OiA5OTk5ODtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgYm9keSBtYWluOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICBib2R5IG1haW4ucGFnZV9jbG9zZTphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgYm9keSBtYWluIC5sb2FkX2xvZ28ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNjN2IyOTk7XG4gICAgei1pbmRleDogOTk5OTg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgYm9keSBtYWluIC5sb2FkX2xvZ28ucGFnZV9zaG93IHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICAgIGJvZHkgbWFpbiAubG9hZF9sb2dvIC5sb2dvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBoZWlnaHQ6IDk1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2NvbW1vbi9sb2FkaW5nX2xvZ28ucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDE2MHB4IDk1cHg7XG4gICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogMTYwcHggOTVweDtcbiAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogMTYwcHggOTVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYwcHggOTVweDtcbiAgICAgIGFuaW1hdGlvbjogbG9nb3Nob3cgLjVzIGJvdGg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGJvZHkgbWFpbiAubG9hZF9sb2dvIC5sb2dvIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA3MXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvY29tbW9uL2xvYWRpbmdfbG9nby5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDcxcHg7XG4gICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDcxcHg7XG4gICAgICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiAxMjBweCA3MXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggNzFweDsgfSB9XG4gICAgYm9keSBtYWluIC5sb2FkX2xvZ28gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keSBtYWluIC5tYWluX2luIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIGJvZHkgbWFpbiAubWFpbl9pbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBib2R5IG1haW4gLm1haW5faGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2YwZWJlNjtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzhweCA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGJvZHkgbWFpbiAubWFpbl9oZWFkIHtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDE2cHg7IH0gfVxuICAgIGJvZHkgbWFpbiAubWFpbl9oZWFkIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBZdUdvLUJvbGQsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgYm9keSBtYWluIC5tYWluX2hlYWQgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNzsgfSB9XG4gICAgICBib2R5IG1haW4gLm1haW5faGVhZCBoMSBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBib2R5IG1haW4gLm1haW5faGVhZCBoMSBzbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gICAgICBib2R5IG1haW4gLm1haW5faGVhZCBoMSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIGJvZHkgbWFpbiAubWFpbl9oZWFkIGgxIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgYm9keSBtYWluIC5tYWluX2hlYWQgaDEgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuICBib2R5IG1haW4gLnN1Yl9oZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGhlaWdodDogNTZweDtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgcGFkZGluZzogMTZweCA0MHB4IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgYm9keSBtYWluIC5zdWJfaGVhZCB7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAxNnB4IDE1cHg7IH0gfVxuICBib2R5IG1haW4gLmNvbW1vbl9oZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGhlaWdodDogMTA2cHg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgYm9keSBtYWluIC5jb21tb25faGVhZCB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcGFkZGluZzogMjZweCAwOyB9IH1cbiAgICBib2R5IG1haW4gLmNvbW1vbl9oZWFkIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBib2R5IG1haW4gLmNvbW1vbl9oZWFkIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc7IH0gfVxuICBib2R5IG1haW4gc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgYm9keSBtYWluIHNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE2cHggMTZweDsgfSB9XG4gICAgYm9keSBtYWluIHNlY3Rpb24ucmVzZXJ2ZV9oZXJlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjN2IyOTk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjAycHg7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBib2R5IG1haW4gc2VjdGlvbi5yZXNlcnZlX2hlcmUge1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuICAgICAgYm9keSBtYWluIHNlY3Rpb24ucmVzZXJ2ZV9oZXJlIHA6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNztcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBib2R5IG1haW4gc2VjdGlvbi5yZXNlcnZlX2hlcmUgcDpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4OyB9IH1cbiAgICAgIGJvZHkgbWFpbiBzZWN0aW9uLnJlc2VydmVfaGVyZSBwOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDhweCAwIDI0cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBib2R5IG1haW4gc2VjdGlvbi5yZXNlcnZlX2hlcmUgcDpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgYm9keSBmb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgdHJhbnNpdGlvbjogLjVzOyB9XG4gICAgYm9keSBmb290ZXIgLmZvb3Rlcl9pbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkgZm9vdGVyIC5mb290ZXJfaW4ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgYm9keSBmb290ZXIgLmJyZWFkY3J1bWIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgIHBhZGRpbmc6IDEycHggNDBweCAxNHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgYm9keSBmb290ZXIgLmJyZWFkY3J1bWIge1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweCAxNHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICBib2R5IGZvb3RlciAuYnJlYWRjcnVtYiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjgzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgaGVpZ2h0OiAyMnB4OyB9XG4gICAgICAgIGJvZHkgZm9vdGVyIC5icmVhZGNydW1iIGxpIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAjYzdiMjk5OyB9XG4gICAgICAgICAgYm9keSBmb290ZXIgLmJyZWFkY3J1bWIgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICBib2R5IGZvb3RlciAuYnJlYWRjcnVtYiBsaTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgICBjb2xvcjogIzgxODZhMDsgfVxuICAgICAgICBib2R5IGZvb3RlciAuYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICBib2R5IGZvb3RlciAuc2VhcmNoIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gICAgICBoZWlnaHQ6IDE0MnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMzZweDsgfSB9XG4gICAgICBib2R5IGZvb3RlciAuc2VhcmNoIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfSB9XG4gICAgICBib2R5IGZvb3RlciAuc2VhcmNoIHVsIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtYm94O1xuICAgICAgICBkaXNwbGF5OiBib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBib2R5IGZvb3RlciAuc2VhcmNoIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9IH1cbiAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB1bCBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGJvZHkgZm9vdGVyIC5zZWFyY2ggdWwgbGkge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyOTVweDsgfSB9XG4gICAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB1bCBsaSBbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOiAzNTJweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB1bCBsaSBbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgICBib2R5IGZvb3RlciAuc2VhcmNoIHVsIGxpIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzdiMjk5O1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtby10cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB1bCBsaSBidXR0b246aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYWQ5NDc0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgYm9keSBmb290ZXIgLnNlYXJjaCB1bCBsaSBidXR0b24gc3BhbiB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAgICAgICBib2R5IGZvb3RlciAuc2VhcmNoIHVsIGxpIGJ1dHRvbiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGJvZHkgZm9vdGVyIC5zZWFyY2ggdWwgbGk6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICB3aWR0aDogNDhweDsgfSB9XG4gICAgYm9keSBmb290ZXIgLmluZm9ybWF0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDE4cHggNDBweCAyNHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5IGZvb3RlciAuaW5mb3JtYXRpb24ge1xuICAgICAgICAgIGhlaWdodDogMjgycHg7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDE2cHggMzJweDsgfSB9XG4gICAgICBib2R5IGZvb3RlciAuaW5mb3JtYXRpb24gdWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICBib2R5IGZvb3RlciAuaW5mb3JtYXRpb24gdWwge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAgICAgYm9keSBmb290ZXIgLmluZm9ybWF0aW9uIHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgY29sb3I6ICNjN2IyOTk7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44MztcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBib2R5IGZvb3RlciAuaW5mb3JtYXRpb24gdWwgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgYm9keSBmb290ZXIgLmluZm9ybWF0aW9uIHVsIGxpOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjhweDsgfSB9XG4gICAgICAgICAgYm9keSBmb290ZXIgLmluZm9ybWF0aW9uIHVsIGxpIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjYzdiMjk5OyB9XG4gICAgICAgICAgICBib2R5IGZvb3RlciAuaW5mb3JtYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgYm9keSBmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHBhZGRpbmc6IDE2cHggNDBweCAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgYm9keSBmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgICAgICAgcGFkZGluZzogMjRweCAwIDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3NnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfSB9XG4gICAgICBib2R5IGZvb3RlciAuY29weXJpZ2h0IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgYm9keSBmb290ZXIgLmNvcHlyaWdodCBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5bdHlwZT1cInRleHRcIl0sXG5bdHlwZT1cInBhc3N3b3JkXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0sXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2UwZTBlMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDE2cHg7IH1cbiAgW3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxuICBbdHlwZT1cInBhc3N3b3JkXCJdOmRpc2FibGVkLFxuICBbdHlwZT1cImVtYWlsXCJdOmRpc2FibGVkLFxuICBbdHlwZT1cInRlbFwiXTpkaXNhYmxlZCxcbiAgW3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQsXG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTsgfVxuICBbdHlwZT1cInRleHRcIl06cGxhY2Vob2xkZXItc2hvd24sXG4gIFt0eXBlPVwicGFzc3dvcmRcIl06cGxhY2Vob2xkZXItc2hvd24sXG4gIFt0eXBlPVwiZW1haWxcIl06cGxhY2Vob2xkZXItc2hvd24sXG4gIFt0eXBlPVwidGVsXCJdOnBsYWNlaG9sZGVyLXNob3duLFxuICBbdHlwZT1cIm51bWJlclwiXTpwbGFjZWhvbGRlci1zaG93bixcbiAgc2VsZWN0OnBsYWNlaG9sZGVyLXNob3duIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgW3R5cGU9XCJ0ZXh0XCJdOnBsYWNlaG9sZGVyLXNob3duLFxuICAgICAgW3R5cGU9XCJwYXNzd29yZFwiXTpwbGFjZWhvbGRlci1zaG93bixcbiAgICAgIFt0eXBlPVwiZW1haWxcIl06cGxhY2Vob2xkZXItc2hvd24sXG4gICAgICBbdHlwZT1cInRlbFwiXTpwbGFjZWhvbGRlci1zaG93bixcbiAgICAgIFt0eXBlPVwibnVtYmVyXCJdOnBsYWNlaG9sZGVyLXNob3duLFxuICAgICAgc2VsZWN0OnBsYWNlaG9sZGVyLXNob3duIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfSB9XG4gIFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgW3R5cGU9XCJwYXNzd29yZFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgW3R5cGU9XCJlbWFpbFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgW3R5cGU9XCJ0ZWxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBzZWxlY3Q6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBbdHlwZT1cInBhc3N3b3JkXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJlbWFpbFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwidGVsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBzZWxlY3Q6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cbiAgW3R5cGU9XCJ0ZXh0XCJdOi1tb3otcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwicGFzc3dvcmRcIl06LW1vei1wbGFjZWhvbGRlcixcbiAgW3R5cGU9XCJlbWFpbFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICBbdHlwZT1cInRlbFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICBbdHlwZT1cIm51bWJlclwiXTotbW96LXBsYWNlaG9sZGVyLFxuICBzZWxlY3Q6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJwYXNzd29yZFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJlbWFpbFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJ0ZWxcIl06LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwibnVtYmVyXCJdOi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICBzZWxlY3Q6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuICBbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwicGFzc3dvcmRcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwiZW1haWxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwidGVsXCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgW3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJwYXNzd29yZFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwiZW1haWxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICBbdHlwZT1cInRlbFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwibnVtYmVyXCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfSB9XG4gIFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIFt0eXBlPVwicGFzc3dvcmRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBbdHlwZT1cImVtYWlsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgW3R5cGU9XCJ0ZWxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBbdHlwZT1cIm51bWJlclwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgW3R5cGU9XCJwYXNzd29yZFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICBbdHlwZT1cImVtYWlsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwidGVsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgIFt0eXBlPVwibnVtYmVyXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cblxuLnJhZGlvIHtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5yYWRpbyB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuICAucmFkaW8gKyAucmFkaW8ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5yYWRpbzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdiMjk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLnJhZGlvIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnJhZGlvIFt0eXBlPVwicmFkaW9cIl0gKyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucmFkaW8gW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDNweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogI2M3YjI5OTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuLmNoZWNrIHtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5jaGVjayB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuICAuY2hlY2sgKyAuY2hlY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5jaGVjazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdiMjk5O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgei1pbmRleDogMTsgfVxuICAuY2hlY2sgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuY2hlY2sgW3R5cGU9XCJjaGVja2JveFwiXSArIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jaGVjayBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDdweDtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNjN2IyOTk7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2M3YjI5OTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgei1pbmRleDogMjsgfVxuXG4ucGFnZV9lcnIge1xuICBiYWNrZ3JvdW5kOiAjZTkxZTYzO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAtNDBweCAtNDBweCAzMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnBhZ2VfZXJyIHtcbiAgICAgIG1hcmdpbjogLTIwcHggLTE2cHggMzJweDsgfSB9XG5cbi5lcnIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI2U5MWU2MzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5lcnIge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5wYWdpbmF0aW9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuICAucGFnaW5hdGlvbiBzcGFuIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAucGFnaW5hdGlvbiBzcGFuIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIHNwYW4gYS5kaXNhYmxlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT01MCk7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnBhZ2luYXRpb24gc3BhbiBhIHtcbiAgICAgICAgd2lkdGg6IDc0cHg7IH0gfVxuICAucGFnaW5hdGlvbiBzcGFuLnByZXZpb3VzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgLnBhZ2luYXRpb24gc3Bhbi5uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxuICAucGFnaW5hdGlvbiBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2luYXRpb24gbGFiZWw6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxhYmVsIHNlbGVjdCB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLnBhZ2luYXRpb24gbGFiZWwgc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogNzRweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH0gfVxuXG4uc3lzdGVtX2Vycm9yIHtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgbWF4LXdpZHRoOiA5OTJweDtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zeXN0ZW1fZXJyb3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gIC5zeXN0ZW1fZXJyb3IgcCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnN5c3RlbV9lcnJvciBwIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgLnN5c3RlbV9lcnJvciB1bCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAyNHB4IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgYm9keS5hZG1pbiBoZWFkZXIge1xuICAgIHRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIGJvZHkuYWRtaW4gaGVhZGVyIC5icmFuZF9sb2dvLCBib2R5LmFkbWluIGhlYWRlciB1bCB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIGJvZHkuYWRtaW4gaGVhZGVyIC5icmFuZF9sb2dvLmlzLWZpeGVkLCBib2R5LmFkbWluIGhlYWRlciB1bC5pcy1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDsgfSB9XG5cbmJvZHkuYWRtaW4gbWFpbiB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmJvZHkuYWRtaW4gLmFkbWluX2hlYWQge1xuICBiYWNrZ3JvdW5kOiAjM2M4ZGJjO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgei1pbmRleDogNTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIHtcbiAgICAgIHotaW5kZXg6IDMwMDsgfSB9XG4gIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgLmJ0bl9icmRibGsge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDI4MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgLmJ0bl9icmRibGsge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgLmJ0bl9icmRibGsge1xuICAgICAgICB3aWR0aDogNjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG4gICAgYm9keS5hZG1pbiAuYWRtaW5faGVhZCAuYnRuX2JyZGJsayBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gICAgYm9keS5hZG1pbiAuYWRtaW5faGVhZCAuYnRuX2JyZGJsayArIC5idG5fYnJkYmxrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTA1cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIHAge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDc0cHg7IH0gfVxuICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGR0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiA0OHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGR0IHtcbiAgICAgICAgICByaWdodDogMTZweDsgfSB9XG4gICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGR0IGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgYm9keS5hZG1pbiAuYWRtaW5faGVhZCBkbCBkdCBhOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAxNHB4OyB9IH1cbiAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZHQgYSBpbWcge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIC1vLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGR0IGEgaW1nIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMnB4OyB9IH1cbiAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZHQuYWN0aXZlIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgYm9keS5hZG1pbiAuYWRtaW5faGVhZCBkbCBkdC5hY3RpdmUgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmZmY7IH0gfVxuICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlMGUwZTA7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRvcDogMzZweDtcbiAgICAgIHJpZ2h0OiA0MXB4O1xuICAgICAgd2lkdGg6IDI0MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGRkIHtcbiAgICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQgdWwgbGkge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxuICAgICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGRkIHVsIGxpOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQgdWwgbGkgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQgdWwgbGkgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuICAgICAgICAgIGJvZHkuYWRtaW4gLmFkbWluX2hlYWQgZGwgZGQgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGRkIHVsIGxpIGE6YWN0aXZlLCBib2R5LmFkbWluIC5hZG1pbl9oZWFkIGRsIGRkIHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTsgfVxuXG5odG1sLmNhdF90b3AgLm1haW5faGVhZCB7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBhZGRpbmc6IDY4cHggNDBweCA3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgaHRtbC5jYXRfdG9wIC5tYWluX2hlYWQge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHBhZGRpbmc6IDU3cHggNDBweCA1N3B4OyB9IH1cbiAgaHRtbC5jYXRfdG9wIC5tYWluX2hlYWQgaDEgc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGh0bWwuY2F0X3RvcCAubWFpbl9oZWFkIGgxIHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuXG5odG1sLmFuZHJvaWRfb2xkIC5idG4gc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG5cbmh0bWwuYW5kcm9pZF9vbGQgLmJ0bl9wdXR0eSBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuaHRtbC5hbmRyb2lkX29sZCAuYnRuX2JyZGJsayBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuaHRtbC5hbmRyb2lkX29sZCBoZWFkZXIgdWwgLmJ0biBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cblxuaHRtbC5hbmRyb2lkX29sZCBoZWFkZXIgdWwgLmJ0bl9wdXR0eSBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cblxuaHRtbC5hbmRyb2lkIC5idG4gc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG5cbmh0bWwuYW5kcm9pZCAuYnRuX3B1dHR5IHNwYW4ge1xuICBsaW5lLWhlaWdodDogMzhweDsgfVxuXG5odG1sLmFuZHJvaWQgLmJ0bl9icmRibGsgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG5cbmh0bWwuYW5kcm9pZCBoZWFkZXIgdWwgLmJ0biBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cblxuaHRtbC5hbmRyb2lkIGhlYWRlciB1bCAuYnRuX3B1dHR5IHNwYW4ge1xuICBsaW5lLWhlaWdodDogMzJweDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9nb3Nob3cge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgbG9nb3Nob3cge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsb2dvc2hvdyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY2lyY2xlIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgMzc3OyB9XG4gIDk5LjklLCB0byB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMzc3IDM3NzsgfSB9XG5cbkAtbXMta2V5ZnJhbWVzIGNpcmNsZSB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDM3NzsgfVxuICA5OS45JSwgdG8ge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDM3NyAzNzc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNpcmNsZSB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDM3NzsgfVxuICA5OS45JSwgdG8ge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDM3NyAzNzc7IH0gfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3Mvc3R5bGUuc2NzcyIsIi8qIVxuICogcmVzcy5jc3Mg4oCiIHYxLjIuMlxuICogTUlUIExpY2Vuc2VcbiAqIGdpdGh1Yi5jb20vZmlsaXBlbGluaGFyZXMvcmVzc1xuICovXG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2xvYmFsIHNlbGVjdG9yc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBBbGwgYnJvd3NlcnMgd2l0aG91dCBvdmVybGF5aW5nIHNjcm9sbGJhcnMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBpT1MgOCsgKi9cbn1cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIFNldCBgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdGAgdG8gYWxsIGVsZW1lbnRzIGFuZCBwc2V1ZG8gZWxlbWVudHMgKi9cbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiBJbmhlcml0IHRleHQtZGVjb3JhdGlvbiBhbmQgdmVydGljYWwgYWxpZ24gdG8gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgcGFkZGluZzogMDsgLyogUmVzZXQgYHBhZGRpbmdgIGFuZCBgbWFyZ2luYCBvZiBhbGwgZWxlbWVudHMgKi9cbiAgbWFyZ2luOiAwO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEdlbmVyYWwgZWxlbWVudHNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4qL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG5ociB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRSAqL1xufVxuXG4vKlxuKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85XG4qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4qIGFuZCBGaXJlZm94XG4qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTFcbiovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8qIFNldCBmb250LXNpemUgdG8gODAlIGluIGBzbWFsbGAgZWxlbWVudHMgKi9cbn1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovXG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgLyogQWRkIGEgYm9yZGVyZWQgdW5kZXJsaW5lIGVmZmVjdCBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBSZW1vdmUgdGV4dCBkZWNvcmF0aW9uIGluIEZpcmVmb3ggNDArICovXG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4KyAqL1xufVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyAvKiBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiBob3ZlcmluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IG9mIGNvZGUgZWxlbWVudHMgKi9cbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8qIENvcnJlY3Qgc3R5bGUgc2V0IHRvIGBib2xkYCBpbiBFZGdlIDEyKywgU2FmYXJpIDYuMissIGFuZCBDaHJvbWUgMTgrICovXG59XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLyogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lICovXG59XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vdW5ydXRobGVzcy80MTM5MzAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgRm9ybXNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBBcHBseSBjdXJzb3IgcG9pbnRlciB0byBidXR0b24gZWxlbWVudHMgKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdLFxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFJlcGxhY2UgcG9pbnRlciBjdXJzb3IgaW4gZGlzYWJsZWQgZWxlbWVudHMgKi9cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgd2lkdGg6IGF1dG87IC8qIEZpcmVmb3ggMzYrICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIFNhZmFyaSA4KyAqL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBTYWZhcmkgOCAqL1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMSsgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLyogU3BlY2lmeSB0ZXh0YXJlYSByZXNpemFiaWxpdHkgKi9cbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogU3BlY2lmeSBmb250IGluaGVyaXRhbmNlIG9mIGZvcm0gZWxlbWVudHMgKi9cbn1cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgLyogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovXG59XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMSAqL1xufVxuXG4vKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYGNvbnRyb2xzIGluIEFuZHJvaWQgNCAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TICovXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvKiBGaXJlZm94IDQwKywgSW50ZXJuZXQgRXhwbG9yZXIgMTEtICovXG59XG5cbi8qIFJlbW92ZSB0aGUgZGVmYXVsdCBidXR0b24gc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyogU3R5bGUgc2VsZWN0IGxpa2UgYSBzdGFuZGFyZCBpbnB1dCAqL1xuc2VsZWN0IHtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvKiBGaXJlZm94IDM2KyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIENocm9tZSA0MSsgKi9cbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbnNlbGVjdDo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIENocm9tZSBhbmQgU2FmYXJpICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaSAqL1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIFNwZWNpZnkgbWVkaWEgZWxlbWVudCBzdHlsZVxuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8qIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwICovXG59XG5cbi8qIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEgKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8qIEludGVybmV0IEV4cGxvcmVyIDExLSAqL1xufVxuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIEludGVybmV0IEV4cGxvcmVyIDExKywgV2luZG93cyBQaG9uZSA4LjErICovXG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgQWNjZXNzaWJpbGl0eVxuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRlIGNvbnRlbnQgZnJvbSBzY3JlZW5zIGJ1dCBub3Qgc2NyZWVucmVhZGVycyAqL1xuQG1lZGlhIHNjcmVlbiB7XG4gIFtoaWRkZW5+PVwic2NyZWVuXCJdIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG4gIFtoaWRkZW5+PVwic2NyZWVuXCJdOm5vdCg6YWN0aXZlKTpub3QoOmZvY3VzKTpub3QoOnRhcmdldCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBTcGVjaWZ5IHRoZSBwcm9ncmVzcyBjdXJzb3Igb2YgdXBkYXRpbmcgZWxlbWVudHMgKi9cblthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLyogU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBTcGVjaWZ5IHRoZSB1bnN0eWxlZCBjdXJzb3Igb2YgZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgKi9cblthcmlhLWRpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBTZWxlY3Rpb25cbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU3BlY2lmeSB0ZXh0IHNlbGVjdGlvbiBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBvbWl0IGRyb3Agc2hhZG93ICovXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNGZjOyAvKiBSZXF1aXJlZCB3aGVuIGRlY2xhcmluZyA6OnNlbGVjdGlvbiAqL1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYzsgLyogUmVxdWlyZWQgd2hlbiBkZWNsYXJpbmcgOjpzZWxlY3Rpb24gKi9cbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKlxuIyByYWRpbyAmIGNoZWNrYm94XG4qL1xuW3R5cGU9XCJudW1iZXJcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJyYWRpb1wiXSxcblt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmxpe1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvX3Jlc2V0LnNjc3MiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIOODoeODh+OCo+OCouOCr+OCqOODqlxuJHRhYmxldDogIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjk2MHB4KVwiO1xuJG1vYmlsZTogIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KVwiO1xuJG1vYmlsZS1zZTogIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyMHB4KVwiO1xuXG4vLyDoibLmjIflrppcbiRiZzogI2YxZjFmMTtcbiRsaWdodC1ncmV5LWJsdWU6ICM5ZWM4YzI7XG4kbGlnaHQtZ3JleTogI2YwZWJlNjtcbiRwdXR0eTogI2M3YjI5OTtcbiRidG4tZ3JheS1kZWFkOiAjZTBlMGUwO1xuJGxpcHN0aWNrOiAjZTkxZTYzO1xuJGZhZGVkLXBpbms6ICNlNGM2Y2E7XG4kdGV4dDogIzMzMzMzMztcblxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9fY29uZmlnLnNjc3MiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIOaWh+Wtl+OCteOCpOOCuuioreWumlxuQG1peGluIGZ6KCRzaXplKSB7XG5cdGZvbnQtc2l6ZTogJHNpemUgKyBweDtcblx0Zm9udC1zaXplOiAoJHNpemUgLyAxMCkgKiAxcmVtO1xufVxuXG5cbi8vIGFic29sdXRlIOS4iuS4i+W3puWPs+S4reWkruWvhOOBm1xuQG1peGluIGFicy1jZW50ZXIoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCkge1xuXHRtYXJnaW46IGF1dG87XG5cdHRvcDogJHRvcDtcblx0cmlnaHQ6ICRyaWdodDtcblx0Ym90dG9tOiAkYm90dG9tO1xuXHRsZWZ0OiAkbGVmdDtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vLyDjgqTjg7Pjg4fjg7Pjg4joqK3lrppcbkBtaXhpbiB0ZXh0LWluZGVudCgkdmFsdWU6IDEpIHtcblx0cGFkZGluZy1sZWZ0OiAjeyR2YWx1ZX1lbTtcblx0dGV4dC1pbmRlbnQ6IC0jeyR2YWx1ZX1lbTtcbn1cblxuLy8gbGluZWNsYW1wXG4kc3VwcG9ydC13ZWJraXQgOiB0cnVlO1xuQG1peGluIGxpbmVjbGFtcCgkY2xhbXA6IDMsICRiYXNlX3NpemU6MTQsICRiYWNrOiNmZmYpIHtcblx0QGlmICRjbGFtcCA9PSAxIHtcblx0XHRAaW5jbHVkZSBmeigkYmFzZV9zaXplKTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQtby10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgZnooJGJhc2Vfc2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRoZWlnaHQ6ICgxLjQgKiAkY2xhbXApIC0gMC4yICsgZW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cGFkZGluZy1yaWdodDogMWVtO1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiLi4uXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMWVtO1xuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cmlnaHQ6IC0xZW07XG5cdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2s7XG5cdFx0fVxuXHRcdC8vIHdlYmtpdFxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7XG5cdFx0XHRAaW5jbHVkZSBmeigkYmFzZV9zaXplKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbTtcblx0XHRcdGhlaWdodDogKDEuNCAqICRjbGFtcCkgLSAwLjIgKyBlbTtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcblx0XHRcdC13ZWJraXQtbGluZS1jbGFtcDogJGNsYW1wO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBFZGdlXG5cdFx0QHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOmF1dG8pe1xuXHRcdFx0QGluY2x1ZGUgZnooJGJhc2Vfc2l6ZSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0aGVpZ2h0OiAoMS40ICogJGNsYW1wKSAtIDAuMTUgKyBlbTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMWVtO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIi4uLlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0cmlnaHQ6IC0xZW07XG5cdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIOOCouOCpOOCs+ODs+efouWNsCDkuIpcbkBtaXhpbiBhcnJvd190KCRjb2xvcjogI2ZmZiwgJHdpZHRoOiA3cHgsICR0b3A6IDMwJSwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogYXV0bykge1xuXHRtYXJnaW46IGF1dG87XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3I7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yO1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICR3aWR0aDtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6ICR0b3A7XG5cdHJpZ2h0OiAkcmlnaHQ7XG5cdGJvdHRvbTogJGJvdHRvbTtcblx0bGVmdDogJGxlZnQ7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTM1ZGVnKSk7XG59XG5cblxuLy8g44Ki44Kk44Kz44Oz55+i5Y2wIOS4i1xuQG1peGluIGFycm93X2IoJGNvbG9yOiAjZmZmLCAkd2lkdGg6IDdweCwgJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAzMCUsICRsZWZ0OiBhdXRvKSB7XG5cdG1hcmdpbjogYXV0bztcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcjtcblx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yO1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICR3aWR0aDtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6ICR0b3A7XG5cdHJpZ2h0OiAkcmlnaHQ7XG5cdGJvdHRvbTogJGJvdHRvbTtcblx0bGVmdDogJGxlZnQ7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTM1ZGVnKSk7XG59XG5cbi8vIOOCouOCpOOCs+ODs+efouWNsCDlt6ZcbkBtaXhpbiBhcnJvd19sKCRjb2xvcjogI2ZmZiwgJHdpZHRoOiA3cHgsICR0b3A6IDAsICRyaWdodDogYXV0bywgJGJvdHRvbTogMCwgJGxlZnQ6IDApIHtcblx0bWFyZ2luOiBhdXRvO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvcjtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkd2lkdGg7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAkdG9wO1xuXHRyaWdodDogJHJpZ2h0O1xuXHRib3R0b206ICRib3R0b207XG5cdGxlZnQ6ICRsZWZ0O1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG59XG5cbi8vIOOCouOCpOOCs+ODs+efouWNsCDlj7NcbkBtaXhpbiBhcnJvd19yKCRjb2xvcjogI2ZmZiwgJHdpZHRoOiA3cHgsICR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IGF1dG8pIHtcblx0bWFyZ2luOiBhdXRvO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yO1xuXHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3I7XG5cdHdpZHRoOiAkd2lkdGg7XG5cdGhlaWdodDogJHdpZHRoO1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogJHRvcDtcblx0cmlnaHQ6ICRyaWdodDtcblx0Ym90dG9tOiAkYm90dG9tO1xuXHRsZWZ0OiAkbGVmdDtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xufVxuXG5cbi8vIGZsZXhcbkBtaXhpbiBkaXNwbGF5LWZsZXgoKSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICAgJHJvdzogcm93O1xuICAgICRyb3ctcmV2ZXJzZTogcm93LXJldmVyc2U7XG4gICAgJGNvbHVtbjogY29sdW1uO1xuICAgICRjb2x1bW4tcmV2ZXJzZTogY29sdW1uLXJldmVyc2U7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gcm93IHtcbiAgICAgICAgQGluY2x1ZGUgYm94LWRpcmVjdGlvbihub3JtYWwpO1xuICAgICAgICBAaW5jbHVkZSBib3gtb3JpZW50KGhvcml6b250YWwpO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkcm93O1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246ICRyb3c7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkcm93O1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByb3ctcmV2ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1kaXJlY3Rpb24ocmV2ZXJzZSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1vcmllbnQoaG9yaXpvbnRhbCk7XG4gICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRyb3ctcmV2ZXJzZTtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkcm93LXJldmVyc2U7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkcm93LXJldmVyc2U7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1kaXJlY3Rpb24obm9ybWFsKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LW9yaWVudCh2ZXJ0aWNhbCk7XG4gICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRjb2x1bW47XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGNvbHVtbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICRjb2x1bW47XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGNvbHVtbi1yZXZlcnNlIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LWRpcmVjdGlvbihyZXZlcnNlKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LW9yaWVudCh2ZXJ0aWNhbCk7XG4gICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkY29sdW1uLXJldmVyc2U7XG4gICAgfVxufVxuXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduKXtcbiAgICAkZmxleC1hbGlnbjogXCJcIjtcbiAgICAkYm94LWFsaWduOiBcIlwiO1xuICAgIEBpZiAkYWxpZ24gPT0gXCJjZW50ZXJcIiB7XG4gICAgICAgICRmbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICRib3gtYWxpZ246IGNlbnRlcjtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRmbGV4LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAgICAgICAkYm94LWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gICAgICAgICRib3gtYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBcImJhc2VsaW5lXCIge1xuICAgICAgICAkZmxleC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICRib3gtYWxpZ246IGJhc2VsaW5lO1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09IFwic3RyZXRjaFwiIHtcbiAgICAgICAgJGZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgICAgICRib3gtYWxpZ246IHN0cmV0Y2g7XG4gICAgfVxuICAgIC13ZWJraXQtYm94LWFsaWduOiAkYm94LWFsaWduO1xuICAgIC1tb3otYm94LWFsaWduOiAkYm94LWFsaWduO1xuICAgIC1tcy1mbGV4LWFsaWduOiAkYm94LWFsaWduO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6ICRmbGV4LWFsaWduO1xuICAgIGFsaWduLWl0ZW1zOiAkZmxleC1hbGlnbjtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudCgkcGFjaykge1xuICAgICRmbGV4LWNvbnRlbnQ6IFwiXCI7XG4gICAgJGZsZXgtcGFjOiBcIlwiO1xuICAgICRmbGV4LW1zLXBhY2s6IFwiXCI7XG4gICAgQGlmICRwYWNrID09IFwiY2VudGVyXCIge1xuICAgICAgICAkZmxleC1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICRmbGV4LW1zLXBhY2s6IGNlbnRlcjtcbiAgICAgICAgJGZsZXgtcGFjOiBjZW50ZXI7XG4gICAgfSBAZWxzZSBpZiAkcGFjayA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRmbGV4LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICRmbGV4LW1zLXBhY2s6IHN0YXJ0O1xuICAgICAgICAkZmxleC1wYWM6IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJHBhY2sgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAgICAgJGZsZXgtY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICRmbGV4LW1zLXBhY2s6IGVuZDtcbiAgICAgICAgJGZsZXgtcGFjOiBlbmQ7XG4gICAgfSBAZWxzZSBpZiAkcGFjayA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgICAgICRmbGV4LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICRmbGV4LW1zLXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICRmbGV4LXBhYzoganVzdGlmeTtcbiAgICB9IEBlbHNlIGlmICRwYWNrID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICAgICAkZmxleC1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICRmbGV4LW1zLXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgICAgICRmbGV4LXBhYzoganVzdGlmeTtcbiAgICB9XG4gICAgLXdlYmtpdC1ib3gtcGFjazogJGZsZXgtcGFjO1xuICAgIC1tb3otYm94LXBhY2s6ICRmbGV4LXBhYztcbiAgICAtbXMtZmxleC1wYWNrOiAkZmxleC1tcy1wYWNrO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkZmxleC1jb250ZW50O1xuICAgIGp1c3RpZnktY29udGVudDogJGZsZXgtY29udGVudDtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkd3JhcCkge1xuICAgIC13ZWJraXQtZmxleC13cmFwOiAkd3JhcDtcbiAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuXG5AbWl4aW4gYWxpZ24tY29udGVudCgkbGluZSkge1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogJGxpbmU7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiAkbGluZTtcbiAgICBhbGlnbi1jb250ZW50OiAkbGluZTtcbn1cblxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoKSB7XG5cdC13ZWJraXQtZmxleC1iYXNpczogJHdpZHRoICsgcHg7XG5cdC1tcy1mbGV4LWJhc2lzOiAkd2lkdGggKyBweDtcbiAgICBmbGV4LWJhc2lzOiAkd2lkdGggKyBweDtcbn1cblxuQG1peGluIGZsZXgtZ3Jvdygkc2l6ZSkge1xuXHQtd2Via2l0LWZsZXgtZ3JvdzogJHNpemU7XG5cdC1tcy1mbGV4LWdyb3c6ICRzaXplO1xuICAgIGZsZXgtZ3JvdzogJHNpemU7XG59XG5cbkBtaXhpbiBvcmRlcigkc2l6ZSkge1xuXHRvcmRlcjogJHNpemU7XG5cdC13ZWJraXQtb3JkZXI6ICRzaXplO1xuXHQtbXMtb3JkZXI6ICRzaXplO1xufVxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAgICAtbW96LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgICAgIC1tcy1hbGlnbi1zZWxmOiAkYWxpZ247XG4gICAgICAgICAgYWxpZ24tc2VsZjogJGFsaWduO1xufVxuLy8g44OV44Kp44Oz44OI44K544K/44Kk44OrXG5AbWl4aW4gaDFfc3RhbmRhcmQoJGNvbG9yOiAjMzMzMzMzLCAkYWxpZ246IGNlbnRlcikge1xuXHRAaW5jbHVkZSBmeigyNik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG5cdGxpbmUtaGVpZ2h0OiAxLjM4O1xuXHRjb2xvcjogJGNvbG9yO1xuXHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0QGluY2x1ZGUgZnooMjIpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI3O1xuXHR9XG59XG5cbkBtaXhpbiBoMV9vcGVuX3NhbnMoJGFsaWduOiBjZW50ZXIpIHtcblx0QGluY2x1ZGUgZnooMjYpO1xuXHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIFl1R28tQm9sZCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRsaW5lLWhlaWdodDogMS4zMTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRAaW5jbHVkZSBmeigyMik7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjc7XG5cdH1cbn1cblxuQG1peGluIGgxX3N1YigkY29sb3I6ICNmZmYsICRhbGlnbjogY2VudGVyKSB7XG5cdEBpbmNsdWRlIGZ6KDE2KTtcblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXHRsaW5lLWhlaWdodDogMS4yNTtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRjb2xvcjogJGNvbG9yO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xuXHR9XG59XG5cbkBtaXhpbiBoMV9ibG9nKCRhbGlnbjoganVzdGlmeSkge1xuXHRAaW5jbHVkZSBmeigyNik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM4O1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG5cbkBtaXhpbiBoMl9vcGVuX3NhbnMoJGFsaWduOiBsZWZ0KSB7XG5cdEBpbmNsdWRlIGZ6KDI2KTtcblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXHRsaW5lLWhlaWdodDogMTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcbn1cblxuQG1peGluIGgyX2Jsb2coJGFsaWduOiBsZWZ0KSB7XG5cdEBpbmNsdWRlIGZ6KDE4KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjc4O1xuXHRjb2xvcjogIzMzMzMzMztcblx0dGV4dC1hbGlnbjogJGFsaWduO1xufVxuXG5AbWl4aW4gaDJfc3RhbmRhcmQoJGFsaWduOiBsZWZ0KSB7XG5cdEBpbmNsdWRlIGZ6KDE2KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiAjMzMzMzMzO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG59XG5cbkBtaXhpbiBoM19zdGFuZGFyZCgkYWxpZ246IGxlZnQpIHtcblx0QGluY2x1ZGUgZnooMTQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDEuNTc7XG5cdGNvbG9yOiAjMzMzMzMzO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG5cdEBtZWRpYSAjeyR0YWJsZXR9IHtcblx0XHRAaW5jbHVkZSBmeigxMik7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0fVxufVxuXG5AbWl4aW4gcF9ibG9nKCRhbGlnbjoganVzdGlmeSkge1xuXHRAaW5jbHVkZSBmeigxNik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjg4O1xuXHRjb2xvcjogIzMzMzMzMztcblx0dGV4dC1hbGlnbjogJGFsaWduO1xufVxuXG5AbWl4aW4gbGlua193aGl0ZSgkYWxpZ246IGp1c3RpZnkpIHtcblx0QGluY2x1ZGUgZnooMTYpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcbn1cblxuQG1peGluIGxpbmtfdGV4dCgkYWxpZ246IGxlZnQpIHtcblx0QGluY2x1ZGUgZnooMTYpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRjb2xvcjogJHB1dHR5O1xufVxuXG5AbWl4aW4gY2F1dGlvbigkYWxpZ246IGp1c3RpZnkpIHtcblx0QGluY2x1ZGUgZnooMTQpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRjb2xvcjogJGxpcHN0aWNrO1xufVxuXG5AbWl4aW4gY2FwdGlvbigkYWxpZ246IGNlbnRlcikge1xuXHRAaW5jbHVkZSBmeigxMik7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM4O1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG5AbWl4aW4gZGF0ZSgkY29sb3I6ICMzMzMzMzMsICRhbGlnbjoganVzdGlmeSkge1xuXHRAaW5jbHVkZSBmeigxMik7XG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblx0bGluZS1oZWlnaHQ6IDEuMzM7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcblx0Y29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGJ0bigkdHlwZTogZGVmYXVsdCkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcblx0bWFyZ2luOjAgYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRAaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG5cdFx0XHRAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRcdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cdFx0XHR6LWluZGV4OiAyMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzIGVhc2UtaW4tb3V0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzOHB4O1xuXHRcdFx0QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpe1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblx0c3BhbiB7XG5cdFx0ei1pbmRleDogMjA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDIwcHgpO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRAaW5jbHVkZSBzY2FsZSgwLCAxKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0YmFja2dyb3VuZDogI2FkOTQ3NCA7XG5cdH1cblx0Jjpob3Zlcjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG5cdH1cblx0QGlmICR0eXBlID09IFwiZGVmYXVsdFwiIHtcblx0XHRjb2xvcjogJHB1dHR5O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJHB1dHR5O1xuXHRcdGEge1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAkcHV0dHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNwYW4ge1xuXHRcdFx0Y29sb3I6ICRwdXR0eTtcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjYWQ5NDc0ICFpbXBvcnRhbnQ7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBlYXNlLWluLW91dCk7XG5cdFx0XHRhIHtcblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MgZWFzZS1pbi1vdXQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzIGVhc2UtaW4tb3V0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICNlMGUwZTA7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6ICNlMGUwZTA7XG5cdFx0XHR9XG5cdFx0XHQmOjpiZWZvcmUsJjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSBpZiAkdHlwZSA9PSBcInB1dHR5XCIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHV0dHk7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggI2ZmZjtcblx0XHRhIHtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjYWQ5NDc0ICFpbXBvcnRhbnQ7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBlYXNlLWluLW91dCk7XG5cdFx0fVxuICAgIH1cbiAgICBAZWxzZSBpZiAkdHlwZSA9PSBcImJyZGJsa1wiIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggJHRleHQ7XG5cdFx0YSB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkdGV4dDtcblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogIzMzMztcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMzMzO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguNXMgZWFzZS1pbi1vdXQpO1xuXHRcdFx0YSB7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzIGVhc2UtaW4tb3V0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdFx0XHR9XG5cdFx0fVxuICAgIH1cbn1cblxuQG1peGluIHNlbGVjdCgpIHtcblx0bGFiZWwge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0cmlnaHQ6IDE2cHg7XG5cdFx0XHR0b3A6IDQwJTtcblx0XHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCAkdGV4dDtcblx0XHRcdGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0XHRzZWxlY3Qge1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4ICRidG4tZ3JheS1kZWFkO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRcdFx0bWF4LXdpZHRoOiAxMjBweDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOnBsYWNlaG9sZGVyLXNob3duIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBcdEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvX21peGluLnNjc3MiLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19zaGFyZWQuc2NzcyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIEBkb2Mgb2ZmXG4vLyBOb3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNhZmFyaSwgQ2hyb21lLCBhbmQgRmlyZWZveCBhbGwgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zLiBIb3dldmVyLFxuLy8gb25seSBpbiB0aGUgbW9zdCByZWNlbnQgYnVpbGRzLiBZb3Ugc2hvdWxkIGFsc28gcHJvdmlkZSBmYWxsYmFjayAyZCBzdXBwb3J0IGZvclxuLy8gT3BlcmEgYW5kIElFLiBJRTEwIGlzIHNsYXRlZCB0byBoYXZlIDNkIGVuYWJsZWQsIGJ1dCBpcyBjdXJyZW50bHkgdW5yZWxlYXNlZC5cbi8vIFRvIG1ha2UgdGhhdCBlYXN5LCBhbGwgMkQgdHJhbnNmb3JtcyBpbmNsdWRlIGFuIGJyb3dzZXItdGFyZ2V0aW5nIHRvZ2dsZSAoJG9ubHkzZClcbi8vIHRvIHN3aXRjaCBiZXR3ZWVuIHRoZSB0d28gc3VwcG9ydCBsaXN0cy4gVGhlIHRvZ2dsZSBkZWZhdWx0cyB0byAnZmFsc2UnICgyRCksXG4vLyBhbmQgYWxzbyBhY2NlcHRzICd0cnVlJyAoM0QpLiBDdXJyZW50bHkgdGhlIGxpc3RzIGFyZSBhcyBmb2xsb3dzOlxuLy8gMkQ6IE1vemlsbGEsIFdlYmtpdCwgT3BlcmEsIE9mZmljaWFsXG4vLyAzRDogV2Via2l0LCBGaXJlZm94LlxuXG4vLyBBdmFpbGFibGUgVHJhbnNmb3JtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gU2NhbGUgKDJkIGFuZCAzZClcbi8vIC0gUm90YXRlICgyZCBhbmQgM2QpXG4vLyAtIFRyYW5zbGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBTa2V3ICgyZCBvbmx5KVxuXG4vLyBUcmFuc2Zvcm0gUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gVHJhbnNmb3JtIE9yaWdpbiAoMmQgYW5kIDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSAoM2QpXG4vLyAtIFBlcnNwZWN0aXZlIE9yaWdpbiAoM2QpXG4vLyAtIFRyYW5zZm9ybSBTdHlsZSAoM2QpXG4vLyAtIEJhY2tmYWNlIFZpc2liaWxpdHkgKDNkKVxuXG4vLyBNaXhpbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHRyYW5zZm9ybS1vcmlnaW5cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybS1vcmlnaW4yZCwgdHJhbnNmb3JtLW9yaWdpbjNkXG4vLyAgLSBoZWxwZXJzOiAgICBhcHBseS1vcmlnaW5cbi8vIHRyYW5zZm9ybVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtMmQsIHRyYW5zZm9ybTNkXG4vLyAgLSBoZWxwZXJzOiAgICBzaW1wbGUtdHJhbnNmb3JtLCBjcmVhdGUtdHJhbnNmb3JtXG4vLyBwZXJzcGVjdGl2ZVxuLy8gIC0gaGVscGVyczogICAgcGVyc3BlY3RpdmUtb3JpZ2luXG4vLyB0cmFuc2Zvcm0tc3R5bGVcbi8vIGJhY2tmYWNlLXZpc2liaWxpdHlcbi8vIHNjYWxlXG4vLyAgLSBzaG9ydGN1dHM6ICBzY2FsZVgsIHNjYWxlWSwgc2NhbGVaLCBzY2FsZTNkXG4vLyByb3RhdGVcbi8vICAtIHNob3J0Y3V0czogIHJvdGF0ZVgsIHJvdGF0ZVksIHJvdGF0ZTNkXG4vLyB0cmFuc2xhdGVcbi8vICAtIHNob3J0Y3V0czogIHRyYW5zbGF0ZVgsIHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVosIHRyYW5zbGF0ZTNkXG4vLyBza2V3XG4vLyAgLSBzaG9ydGN1dHM6ICBza2V3WCwgc2tld1lcblxuLy8gRGVmYXVsdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFRoZSBkZWZhdWx0IHgtb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teCAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teSAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teiAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXggICAgIDogMS4yNSAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS15ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteiAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgYW5nbGUgZm9yIHJvdGF0aW9uc1xuJGRlZmF1bHQtcm90YXRlICAgICAgOiA0NWRlZyAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXggICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteSAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci16ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS14IDogMWVtICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXkgOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteiA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXggICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteSAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vICoqVHJhbnNmb3JtLW9yaWdpbioqXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmdcbi8vXG4vLyAgICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCBvcmlnaW4gWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAnb3JpZ2luJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IGNvbnRhaW5pbmcgMS0zICh4L3kveikgY29vcmRpbmF0ZXNcbi8vIGluIHBlcmNlbnRhZ2VzLCBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIG9yIHJlbGF0aXZlXG4vLyAobGVmdCwgdG9wLCByaWdodCwgYm90dG9tLCBjZW50ZXIpIHVuaXRzXG4vL1xuLy8gQHBhcmFtIG9ubHkzZCBTZXQgdGhpcyB0byB0cnVlIHRvIG9ubHkgYXBwbHkgdGhpc1xuLy8gbWl4aW4gd2hlcmUgYnJvd3NlcnMgaGF2ZSAzRCBzdXBwb3J0LlxuQG1peGluIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKSB7XG4gICRvbmx5M2Q6ICRvbmx5M2Qgb3IgLWNvbXBhc3MtbGlzdC1zaXplKC1jb21wYXNzLWxpc3QoJG9yaWdpbikpID4gMjtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBpbmRpdmlkdWFsIGFyZ3VtZW50czpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbiggWyBvcmlnaW4teCwgb3JpZ2luLXksIG9yaWdpbi16LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAzICdvcmlnaW4tJyBhcmd1bWVudHMgcmVwcmVzZW50IHgveS96IGNvb3JkaW5hdGVzLlxuLy9cbi8vICoqTk9URToqKiBzZXR0aW5nIHogY29vcmRpbmF0ZXMgdHJpZ2dlcnMgM0Qgc3VwcG9ydCBsaXN0LCBsZWF2ZSBmYWxzZSBmb3IgMkQgc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oXG4gICRvcmlnaW4teDogJGRlZmF1bHQtb3JpZ2luLXgsXG4gICRvcmlnaW4teTogJGRlZmF1bHQtb3JpZ2luLXksXG4gICRvcmlnaW4tejogZmFsc2UsXG4gICRvbmx5M2Q6ICAgaWYoJG9yaWdpbi16LCB0cnVlLCBmYWxzZSlcbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCcnKTtcbiAgQGlmICRvcmlnaW4teCBvciAkb3JpZ2luLXkgb3IgJG9yaWdpbi16IHtcbiAgICBAaWYgJG9yaWdpbi14IHsgJG9yaWdpbjogJG9yaWdpbi14OyB9IEBlbHNlIHsgJG9yaWdpbjogNTAlOyB9XG4gICAgQGlmICRvcmlnaW4teSB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi15OyB9IEBlbHNlIHsgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gNTAlOyB9fVxuICAgIEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4tejsgfVxuICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKTtcbiAgfVxufVxuXG5cbi8vIFRyYW5zZm9ybSBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zZm9ybXMgWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAndHJhbnNmb3JtcycgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBhbGwgdGhlIHRyYW5zZm9ybXMgdG8gYmUgYXBwbGllZC5cbkBtaXhpbiB0cmFuc2Zvcm0oXG4gICR0cmFuc2Zvcm0sXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgYWxsIGJyb3dzZXJzIHdpdGggMkQgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0yZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgZmFsc2UpO1xufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgb25seSBicm93c2VycyB3aXRoIDNEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtM2QoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIHRydWUpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gM0QgUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNldCB0aGUgcGVyc3BlY3RpdmUgb2YgM0QgdHJhbnNmb3JtcyBvbiB0aGUgY2hpbGRyZW4gb2YgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlKCBwZXJzcGVjdGl2ZSApXG4vL1xuLy8gd2hlcmUgJ3BlcnNwZWN0aXZlJyBpcyBhIHVuaXRsZXNzIG51bWJlciByZXByZXNlbnRpbmcgdGhlIGRlcHRoIG9mIHRoZVxuLy8gei1heGlzLiBUaGUgaGlnaGVyIHRoZSBwZXJzcGVjdGl2ZSwgdGhlIG1vcmUgZXhhZ2dlcmF0ZWQgdGhlIGZvcmVzaG9ydGVuaW5nLlxuLy8gdmFsdWVzIGZyb20gNTAwIHRvIDEwMDAgYXJlIG1vcmUtb3ItbGVzcyBcIm5vcm1hbFwiIC0gYSBnb29kIHN0YXJ0aW5nLXBvaW50LlxuQG1peGluIHBlcnNwZWN0aXZlKCRwKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZSwgJHAsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNldCB0aGUgb3JpZ2luIHBvc2l0aW9uIGZvciB0aGUgcGVyc3BlY3RpdmVcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbihvcmlnaW4teCBbb3JpZ2luLXldKVxuLy9cbi8vIHdoZXJlIHRoZSB0d28gYXJndW1lbnRzIHJlcHJlc2VudCB4L3kgY29vcmRpbmF0ZXNcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJG9yaWdpbjogNTAlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZS1vcmlnaW4sICRvcmlnaW4sXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB3aGV0aGVyIGEgM0Qgb2JqZWN0cyBjaGlsZHJlbiBhbHNvIGxpdmUgaW4gdGhlIGdpdmVuIDNEIHNwYWNlXG4vL1xuLy8gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tc3R5bGUoIFsgc3R5bGUgXSApXG4vL1xuLy8gd2hlcmUgYHN0eWxlYCBjYW4gYmUgZWl0aGVyIGBmbGF0YCBvciBgcHJlc2VydmUtM2RgLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byBgZmxhdGAsIG1peGluIGRlZmF1bHRzIHRvIGBwcmVzZXJ2ZS0zZGAuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgYW4gZWxlbWVudCB3aGVuIGl0J3MgYmFjayBpcyB0dXJuZWRcbi8vXG4vLyAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSggWyB2aXNpYmlsaXR5IF0gKVxuLy9cbi8vIHdoZXJlIGB2aXNpYmlsaXR5YCBjYW4gYmUgZWl0aGVyIGB2aXNpYmxlYCBvciBgaGlkZGVuYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gdmlzaWJsZSwgbWl4aW4gZGVmYXVsdHMgdG8gaGlkZGVuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eTogaGlkZGVuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zZm9ybSBQYXJ0aWFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlc2Ugd29yayB3ZWxsIG9uIHRoZWlyIG93biwgYnV0IHRoZXkgZG9uJ3QgYWRkIHRvIGVhY2ggb3RoZXIsIHRoZXkgb3ZlcnJpZGUuXG4vLyBVc2UgYWxvbmcgd2l0aCB0cmFuc2Zvcm0gcGFyYW1ldGVyIG1peGlucyB0byBhZGp1c3Qgb3JpZ2luLCBwZXJzcGVjdGl2ZSBhbmQgc3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFNjYWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYW5kIHkgYXhpczpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHNjYWxlKCBbIHNjYWxlLXgsIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2NhbGUtJyBhcmd1bWVudHMgYXJlIHVuaXRsZXNzIG11bHRpcGxpZXJzIG9mIHRoZSB4IGFuZCB5IGRpbWVuc2lvbnNcbi8vIGFuZCBwZXJzcGVjdGl2ZSwgd2hpY2ggd29ya3MgdGhlIHNhbWUgYXMgdGhlIHN0YW5kLWFsb25lIHBlcnNwZWN0aXZlIHByb3BlcnR5L21peGluXG4vLyBidXQgYXBwbGllcyB0byB0aGUgaW5kaXZpZHVhbCBlbGVtZW50IChtdWx0aXBsaWVkIHdpdGggYW55IHBhcmVudCBwZXJzcGVjdGl2ZSlcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVgoIFsgc2NhbGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWChcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVgoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVkoIFsgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWShcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVkoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVooIFsgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWihcbiAgJHNjYWxlOiAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVooJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gU2NhbGUgYW5kIG9iamVjdCBhbG9uZyBhbGwgdGhyZWUgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGUzZCggWyBzY2FsZS14LCBzY2FsZS15LCBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUzZChcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRzY2FsZS16OiAgICAgJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFJvdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeiBheGlzICAoMkQpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgJ3JvdGF0aW9uJyBpcyBhbiBhbmdsZSBzZXQgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHNcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gQSBsb25nY3V0IGZvciAncm90YXRlJyBpbiBjYXNlIHlvdSBmb3JnZXQgdGhhdCAneicgaXMgaW1wbGllZFxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVaKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIHJvdGF0ZSgkcm90YXRlLCAkcGVyc3BlY3RpdmUsICRvbmx5M2QpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeCBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZVgoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVYKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVgoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWShcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVZKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCBhbiBhcmJpdHJhcnkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgdmVjdG9yLXgsIHZlY3Rvci15LCB2ZWN0b3Iteiwgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy8gd2hlcmUgdGhlICd2ZWN0b3ItJyBhcmd1bWVudHMgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMuXG4vLyBUaGVzZSBudW1iZXJzIGFyZSBub3QgaW1wb3J0YW50IG9uIHRoZWlyIG93biwgYnV0IGluIHJlbGF0aW9uIHRvIG9uZSBhbm90aGVyXG4vLyBjcmVhdGluZyBhbiBheGlzIGZyb20geW91ciB0cmFuc2Zvcm0tb3JpZ2luLCBhbG9uZyB0aGUgYXhpcyBvZiBYeCA9IFl5ID0gWnouXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZTNkKFxuICAkdmVjdG9yLXg6ICRkZWZhdWx0LXZlY3Rvci14LFxuICAkdmVjdG9yLXk6ICRkZWZhdWx0LXZlY3Rvci15LFxuICAkdmVjdG9yLXo6ICRkZWZhdWx0LXZlY3Rvci16LFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZTNkKCR2ZWN0b3IteCwgJHZlY3Rvci15LCAkdmVjdG9yLXosICRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNsYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IG9yIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlIHRoZSAndHJhbnNsYXRlLScgYXJndW1lbnRzIGFjY2VwdCBhbnkgZGlzdGFuY2UgaW4gcGVyY2VudGFnZXMgb3IgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVYKFxuICAkdHJhbnMteDogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVYKCR0cmFucy14KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWShcbiAgJHRyYW5zLXk6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWSgkdHJhbnMteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVooXG4gICR0cmFucy16OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVooJHRyYW5zLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCwgeSBhbmQgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlM2QoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICR0cmFuc2xhdGUtejogJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZTNkKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15LCAkdHJhbnNsYXRlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gU2tldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNrZXcgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NrZXctJyBhcmd1bWVudHMgYWNjZXB0IGNzcyBhbmdsZXMgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXcoXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tldygkc2tldy14LCAkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeCBheGl6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WChcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1goJHNrZXcteCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHkgYXhpc1xuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1koXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdZKCRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuXG4vLyBGdWxsIHRyYW5zZm9ybSBtaXhpbnNcbi8vIEZvciBzZXR0aW5ncyBhbnkgY29tYmluYXRpb24gb2YgdHJhbnNmb3JtcyBhcyBhcmd1bWVudHNcbi8vIFRoZXNlIGFyZSBjb21wbGV4IGFuZCBub3QgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBkYWlseSB1c2UuIFRoZXkgYXJlIG1haW5seVxuLy8gaGVyZSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy5cbi8vXG4vLyAqIHRoZXkgaW5jbHVkZSBvcmlnaW4gYWRqdXN0bWVudHNcbi8vICogc2NhbGUgdGFrZXMgYSBtdWx0aXBsaWVyICh1bml0bGVzcyksIHJvdGF0ZSBhbmQgc2tldyB0YWtlIGRlZ3JlZXMgKGRlZylcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gY3JlYXRlLXRyYW5zZm9ybShcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJHNjYWxlLXg6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXk6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXo6ICAgICBmYWxzZSxcbiAgJHJvdGF0ZS14OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS15OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS16OiAgICBmYWxzZSxcbiAgJHJvdGF0ZTNkOiAgICBmYWxzZSxcbiAgJHRyYW5zLXg6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXk6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXo6ICAgICBmYWxzZSxcbiAgJHNrZXcteDogICAgICBmYWxzZSxcbiAgJHNrZXcteTogICAgICBmYWxzZSxcbiAgJG9yaWdpbi14OiAgICBmYWxzZSxcbiAgJG9yaWdpbi15OiAgICBmYWxzZSxcbiAgJG9yaWdpbi16OiAgICBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdW5xdW90ZShcIlwiKTtcblxuICAvLyBwZXJzcGVjdGl2ZVxuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIDsgfVxuXG4gIC8vIHNjYWxlXG4gIEBpZiAkc2NhbGUteCBhbmQgJHNjYWxlLXkge1xuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICRzY2FsZS14IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVYKCRzY2FsZS14KTsgfVxuICAgIEBpZiAkc2NhbGUteSB7ICR0cmFuczogJHRyYW5zIHNjYWxlWSgkc2NhbGUteSk7IH1cbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZVooJHNjYWxlLXopOyB9XG4gIH1cblxuICAvLyByb3RhdGVcbiAgQGlmICRyb3RhdGUteCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVgoJHJvdGF0ZS14KTsgfVxuICBAaWYgJHJvdGF0ZS15IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWSgkcm90YXRlLXkpOyB9XG4gIEBpZiAkcm90YXRlLXogeyAkdHJhbnM6ICR0cmFucyByb3RhdGVaKCRyb3RhdGUteik7IH1cbiAgQGlmICRyb3RhdGUzZCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZTNkKCRyb3RhdGUzZCk7IH1cblxuICAvLyB0cmFuc2xhdGVcbiAgQGlmICR0cmFucy14IGFuZCAkdHJhbnMteSB7XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlM2QoJHRyYW5zLXgsICR0cmFucy15LCAkdHJhbnMteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZSgkdHJhbnMteCwgJHRyYW5zLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkdHJhbnMteCB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVgoJHRyYW5zLXgpOyB9XG4gICAgQGlmICR0cmFucy15IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWSgkdHJhbnMteSk7IH1cbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVaKCR0cmFucy16KTsgfVxuICB9XG5cbiAgLy8gc2tld1xuICBAaWYgJHNrZXcteCBhbmQgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXcoJHNrZXcteCwgJHNrZXcteSk7IH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkc2tldy14IHsgJHRyYW5zOiAkdHJhbnMgc2tld1goJHNrZXcteCk7IH1cbiAgICBAaWYgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXdZKCRza2V3LXkpOyB9XG4gIH1cblxuICAvLyBhcHBseSBpdCFcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZCk7XG59XG5cblxuLy8gQSBzaW1wbGlmaWVkIHNldCBvZiBvcHRpb25zXG4vLyBiYWNrd2FyZHMtY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSAndHJhbnNmb3JtJyBtaXhpblxuQG1peGluIHNpbXBsZS10cmFuc2Zvcm0oXG4gICRzY2FsZTogICAgZmFsc2UsXG4gICRyb3RhdGU6ICAgZmFsc2UsXG4gICR0cmFucy14OiAgZmFsc2UsXG4gICR0cmFucy15OiAgZmFsc2UsXG4gICRza2V3LXg6ICAgZmFsc2UsXG4gICRza2V3LXk6ICAgZmFsc2UsXG4gICRvcmlnaW4teDogZmFsc2UsXG4gICRvcmlnaW4teTogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBjcmVhdGUtdHJhbnNmb3JtKFxuICAgIGZhbHNlLFxuICAgICRzY2FsZSwgJHNjYWxlLCBmYWxzZSxcbiAgICBmYWxzZSwgZmFsc2UsICRyb3RhdGUsIGZhbHNlLFxuICAgICR0cmFucy14LCAkdHJhbnMteSwgZmFsc2UsXG4gICAgJHNrZXcteCwgJHNrZXcteSxcbiAgICAkb3JpZ2luLXgsICRvcmlnaW4teSwgZmFsc2UsXG4gICAgZmFsc2VcbiAgKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIEFuaW1hdGlvbnMuXG5cbi8vIEFwcGx5IGFuIGFuaW1hdGlvbiBwcm9wZXJ0eSBhbmQgdmFsdWUgd2l0aCB0aGUgY29ycmVjdCBicm93c2VyIHN1cHBvcnRcbkBtaXhpbiBhbmltYXRpb24tc3VwcG9ydCgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCAta2h0bWwsIG9mZmljaWFsKTsgfVxuXG4vLyBOYW1lIG9mIGFueSBhbmltYXRpb24gYXMgYSBzdHJpbmcuXG4kZGVmYXVsdC1hbmltYXRpb24tbmFtZSAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEdXJhdGlvbiBvZiB0aGUgZW50aXJlIGFuaW1hdGlvbiBpbiBzZWNvbmRzLlxuJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVsYXkgZm9yIHN0YXJ0IG9mIGFuaW1hdGlvbiBpbiBzZWNvbmRzLlxuJGRlZmF1bHQtYW5pbWF0aW9uLWRlbGF5ICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIHRpbWluZyBmdW5jdGlvbihzKSB0byBiZSB1c2VkIGJldHdlZW4ga2V5ZnJhbWVzLiBbZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKCRudW1iZXIsICRudW1iZXIsICRudW1iZXIsICRudW1iZXIpXVxuJGRlZmF1bHQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIG51bWJlciBvZiB0aW1lcyBhbiBhbmltYXRpb24gY3ljbGUgaXMgcGxheWVkLiBbaW5maW5pdGUgfCAkbnVtYmVyXVxuJGRlZmF1bHQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBvciBub3QgdGhlIGFuaW1hdGlvbiBzaG91bGQgcGxheSBpbiByZXZlcnNlIG9uIGFsdGVybmF0ZSBjeWNsZXMuIFtub3JtYWwgfCBhbHRlcm5hdGVdXG4kZGVmYXVsdC1hbmltYXRpb24tZGlyZWN0aW9uICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGF0IHZhbHVlcyBhcmUgYXBwbGllZCBieSB0aGUgYW5pbWF0aW9uIG91dHNpZGUgdGhlIHRpbWUgaXQgaXMgZXhlY3V0aW5nLiBbbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aF1cbiRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgdGhlIGFuaW1hdGlvbiBpcyBydW5uaW5nIG9yIHBhdXNlZC4gW3J1bm5pbmcgfCBwYXVzZWRdXG4kZGVmYXVsdC1hbmltYXRpb24tcGxheS1zdGF0ZSAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBDcmVhdGUgYSBuYW1lZCBhbmltYXRpb24gc2VxdWVuY2UgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBlbGVtZW50cyBsYXRlci5cbi8vXG4vLyAgICAgJG5hbWUgICAgLSBUaGUgbmFtZSBvZiB5b3VyIGFuaW1hdGlvbi5cbi8vICAgICBAY29udGVudCAtIFRoZSBrZXlmcmFtZXMgb2YgdGhlIGFuaW1hdGlvbi5cbkBtaXhpbiBrZXlmcmFtZXMoXG4gICRuYW1lLFxuICAkbW96OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQ6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbzogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWw6IHRydWVcbikge1xuICBAaWYgJG1veiB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtb3o6IHRydWUpIHtcbiAgICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkd2Via2l0IHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJHdlYmtpdDogdHJ1ZSkge1xuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRvIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJG86IHRydWUpIHtcbiAgICAgIEAtby1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1zIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJG1zOiB0cnVlKSB7XG4gICAgICBALW1zLWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAka2h0bWwge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvcigka2h0bWw6IHRydWUpIHtcbiAgICAgIEAta2h0bWwta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRvZmZpY2lhbCB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yIHtcbiAgICAgIEBrZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBuYW1lcy5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZS0xOiAkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJG5hbWUtMjogZmFsc2UsICRuYW1lLTM6IGZhbHNlLCAkbmFtZS00OiBmYWxzZSwgJG5hbWUtNTogZmFsc2UsICRuYW1lLTY6IGZhbHNlLCAkbmFtZS03OiBmYWxzZSwgJG5hbWUtODogZmFsc2UsICRuYW1lLTk6IGZhbHNlLCAkbmFtZS0xMDogZmFsc2UpIHtcbiAgJG5hbWU6IGNvbXBhY3QoJG5hbWUtMSwgJG5hbWUtMiwgJG5hbWUtMywgJG5hbWUtNCwgJG5hbWUtNSwgJG5hbWUtNiwgJG5hbWUtNywgJG5hbWUtOCwgJG5hbWUtOSwgJG5hbWUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tbmFtZSwgJG5hbWUpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIGR1cmF0aW9ucy5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9uLTI6IGZhbHNlLCAkZHVyYXRpb24tMzogZmFsc2UsICRkdXJhdGlvbi00OiBmYWxzZSwgJGR1cmF0aW9uLTU6IGZhbHNlLCAkZHVyYXRpb24tNjogZmFsc2UsICRkdXJhdGlvbi03OiBmYWxzZSwgJGR1cmF0aW9uLTg6IGZhbHNlLCAkZHVyYXRpb24tOTogZmFsc2UsICRkdXJhdGlvbi0xMDogZmFsc2UpIHtcbiAgJGR1cmF0aW9uOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkZWxheXMuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheS0xOiAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWxheS0yOiBmYWxzZSwgJGRlbGF5LTM6IGZhbHNlLCAkZGVsYXktNDogZmFsc2UsICRkZWxheS01OiBmYWxzZSwgJGRlbGF5LTY6IGZhbHNlLCAkZGVsYXktNzogZmFsc2UsICRkZWxheS04OiBmYWxzZSwgJGRlbGF5LTk6IGZhbHNlLCAkZGVsYXktMTA6IGZhbHNlKSB7XG4gICRkZWxheTogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZGVsYXksICRkZWxheSk7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gdGltaW5nIGZ1bmN0aW9ucy5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb24tMjogZmFsc2UsICRmdW5jdGlvbi0zOiBmYWxzZSwgJGZ1bmN0aW9uLTQ6IGZhbHNlLCAkZnVuY3Rpb24tNTogZmFsc2UsICRmdW5jdGlvbi02OiBmYWxzZSwgJGZ1bmN0aW9uLTc6IGZhbHNlLCAkZnVuY3Rpb24tODogZmFsc2UsICRmdW5jdGlvbi05OiBmYWxzZSwgJGZ1bmN0aW9uLTEwOiBmYWxzZSkge1xuICAkZnVuY3Rpb246IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBpdGVyYXRpb24gY291bnRzLlxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGNvdW50LTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRjb3VudC0yOiBmYWxzZSwgJGNvdW50LTM6IGZhbHNlLCAkY291bnQtNDogZmFsc2UsICRjb3VudC01OiBmYWxzZSwgJGNvdW50LTY6IGZhbHNlLCAkY291bnQtNzogZmFsc2UsICRjb3VudC04OiBmYWxzZSwgJGNvdW50LTk6IGZhbHNlLCAkY291bnQtMTA6IGZhbHNlKSB7XG4gICRjb3VudDogY29tcGFjdCgkY291bnQtMSwgJGNvdW50LTIsICRjb3VudC0zLCAkY291bnQtNCwgJGNvdW50LTUsICRjb3VudC02LCAkY291bnQtNywgJGNvdW50LTgsICRjb3VudC05LCAkY291bnQtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkY291bnQpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIGRpcmVjdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb24tMjogZmFsc2UsICRkaXJlY3Rpb24tMzogZmFsc2UsICRkaXJlY3Rpb24tNDogZmFsc2UsICRkaXJlY3Rpb24tNTogZmFsc2UsICRkaXJlY3Rpb24tNjogZmFsc2UsICRkaXJlY3Rpb24tNzogZmFsc2UsICRkaXJlY3Rpb24tODogZmFsc2UsICRkaXJlY3Rpb24tOTogZmFsc2UsICRkaXJlY3Rpb24tMTA6IGZhbHNlKSB7XG4gICRkaXJlY3Rpb246IGNvbXBhY3QoJGRpcmVjdGlvbi0xLCAkZGlyZWN0aW9uLTIsICRkaXJlY3Rpb24tMywgJGRpcmVjdGlvbi00LCAkZGlyZWN0aW9uLTUsICRkaXJlY3Rpb24tNiwgJGRpcmVjdGlvbi03LCAkZGlyZWN0aW9uLTgsICRkaXJlY3Rpb24tOSwgJGRpcmVjdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb24pOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIGZpbGwgbW9kZXMuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZS0xOiAkZGVmYXVsdC1hbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZS0yOiBmYWxzZSwgJG1vZGUtMzogZmFsc2UsICRtb2RlLTQ6IGZhbHNlLCAkbW9kZS01OiBmYWxzZSwgJG1vZGUtNjogZmFsc2UsICRtb2RlLTc6IGZhbHNlLCAkbW9kZS04OiBmYWxzZSwgJG1vZGUtOTogZmFsc2UsICRtb2RlLTEwOiBmYWxzZSkge1xuICAkbW9kZTogY29tcGFjdCgkbW9kZS0xLCAkbW9kZS0yLCAkbW9kZS0zLCAkbW9kZS00LCAkbW9kZS01LCAkbW9kZS02LCAkbW9kZS03LCAkbW9kZS04LCAkbW9kZS05LCAkbW9kZS0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2RlKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBwbGF5IHN0YXRlcy5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZS0yOiBmYWxzZSwgJHN0YXRlLTM6IGZhbHNlLCAkc3RhdGUtNDogZmFsc2UsICRzdGF0ZS01OiBmYWxzZSwgJHN0YXRlLTY6IGZhbHNlLCAkc3RhdGUtNzogZmFsc2UsICRzdGF0ZS04OiBmYWxzZSwgJHN0YXRlLTk6IGZhbHNlLCAkc3RhdGUtMTA6IGZhbHNlKSB7XG4gICRzdGF0ZTogY29tcGFjdCgkc3RhdGUtMSwgJHN0YXRlLTIsICRzdGF0ZS0zLCAkc3RhdGUtNCwgJHN0YXRlLTUsICRzdGF0ZS02LCAkc3RhdGUtNywgJHN0YXRlLTgsICRzdGF0ZS05LCAkc3RhdGUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlKTsgfVxuXG4vLyBTaG9ydGN1dCB0byBhcHBseSBhIG5hbWVkIGFuaW1hdGlvbiB0byBhbiBlbGVtZW50LCB3aXRoIGFsbCB0aGUgc2V0dGluZ3MuXG4vL1xuLy8gICAgICRhbmltYXRpb24tMSAgIDogTmFtZSBhbmQgc2V0dGluZ3MgZm9yIHRoZSBmaXJzdCBhbmltYXRpb24uIFs8dmFsdWVzPiB8IGRlZmF1bHRdXG4vLyAgICAgLi4uXG4vLyAgICAgJGFuaW1hdGlvbi0xMCAgOiBOYW1lIGFuZCBzZXR0aW5ncyBmb3IgdGhlIHRlbnRoIGFuaW1hdGlvbi4gPHZhbHVlcz5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbi0xOiBkZWZhdWx0LCAkYW5pbWF0aW9uLTI6IGZhbHNlLCAkYW5pbWF0aW9uLTM6IGZhbHNlLCAkYW5pbWF0aW9uLTQ6IGZhbHNlLCAkYW5pbWF0aW9uLTU6IGZhbHNlLCAkYW5pbWF0aW9uLTY6IGZhbHNlLCAkYW5pbWF0aW9uLTc6IGZhbHNlLCAkYW5pbWF0aW9uLTg6IGZhbHNlLCAkYW5pbWF0aW9uLTk6IGZhbHNlLCAkYW5pbWF0aW9uLTEwOiBmYWxzZSkge1xuICBAaWYgJGFuaW1hdGlvbi0xID09IGRlZmF1bHQge1xuICAgICRhbmltYXRpb24tMTogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KCRkZWZhdWx0LWFuaW1hdGlvbi1uYW1lLCAkZGVmYXVsdC1hbmltYXRpb24tZHVyYXRpb24sICRkZWZhdWx0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1kZWxheSwgJGRlZmF1bHQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJGRlZmF1bHQtYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRlZmF1bHQtYW5pbWF0aW9uLWZpbGwtbW9kZSwgJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUpKTsgfVxuICAkYW5pbWF0aW9uOiBjb21wYWN0KCRhbmltYXRpb24tMSwgJGFuaW1hdGlvbi0yLCAkYW5pbWF0aW9uLTMsICRhbmltYXRpb24tNCwgJGFuaW1hdGlvbi01LCAkYW5pbWF0aW9uLTYsICRhbmltYXRpb24tNywgJGFuaW1hdGlvbi04LCAkYW5pbWF0aW9uLTksICRhbmltYXRpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24sICRhbmltYXRpb24pOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGlvbi9fY29yZS5zY3NzIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIENTUyBvcGFjaXR5LiBUYWtlcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEgYXMgdGhlIGFyZ3VtZW50LCBlLmcuIDAuNSBmb3IgNTAlIG9wYWNpdHkuXG4vL1xuLy8gICAgIEBwYXJhbSAkb3BhY2l0eVxuLy8gICAgICAgICBBIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIHdoZXJlIDAgaXMgdHJhbnNwYXJlbnQgYW5kIDEgaXMgb3BhcXVlLlxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gIH1cbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50LlxuQG1peGluIHRyYW5zcGFyZW50IHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSBvcGFxdWUuXG5AbWl4aW4gb3BhcXVlIHsgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/