/**
* style.less imports all required less partials
*/
/**
* Bootstrap
*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  select {
    background: #fff !important;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('assets/icons/flat-ui-icons-regular.eot');
  src: url('assets/icons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('assets/icons/flat-ui-icons-regular.woff') format('woff'), url('assets/icons/flat-ui-icons-regular.ttf') format('truetype'), url('assets/icons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\2a";
}
.glyphicon-plus:before {
  content: "\2b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.72222;
  color: #595959;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #0088DD;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #d9d9d9;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.72222;
  background-color: #fff;
  border: 1px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 27px;
  margin-bottom: 27px;
  border: 0;
  border-top: 1px solid #8e7bb1;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #e9e6f0;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 27px;
  margin-bottom: 13.5px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 13.5px;
  margin-bottom: 13.5px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 29px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 20px;
}
h5,
.h5 {
  font-size: 17px;
}
h6,
.h6 {
  font-size: 18px;
}
p {
  margin: 0 0 13.5px;
}
.lead {
  margin-bottom: 27px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 24px;
  }
}
small,
.small {
  font-size: 87%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #bdc3c7;
}
.text-primary {
  color: #4b2e83;
}
a.text-primary:hover {
  color: #35215d;
}
a.text-primary:hover {
  color: #3c2569;
}
.text-success {
  color: #2ecc71;
}
a.text-success:hover {
  color: #25a25a;
}
a.text-success:hover {
  color: #25a35a;
}
.text-info {
  color: #3498db;
}
a.text-info:hover {
  color: #217dbb;
}
a.text-info:hover {
  color: #2a7aaf;
}
.text-warning {
  color: #f1c40f;
}
a.text-warning:hover {
  color: #c29d0b;
}
a.text-warning:hover {
  color: #c19d0c;
}
.text-danger {
  color: #e74c3c;
}
a.text-danger:hover {
  color: #d62c1a;
}
a.text-danger:hover {
  color: #b93d30;
}
.bg-primary {
  color: #fff;
  background-color: #4b2e83;
}
a.bg-primary:hover {
  background-color: #35215d;
}
a.bg-primary:hover {
  background-color: #35215d;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 12.5px;
  margin: 54px 0 27px;
  border-bottom: 1px solid #e9e6f0;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 13.5px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 27px;
}
dt,
dd {
  line-height: 1.72222;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #bdc3c7;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 13.5px 27px;
  margin: 0 0 27px;
  font-size: 20px;
  border-left: 5px solid #e9e6f0;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.72222;
  color: inherit;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #e9e6f0;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 27px;
  font-style: normal;
  line-height: 1.72222;
}
code,
kbd,
pre,
samp {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: white;
  background-color: #4b2e83;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 13px;
  margin: 0 0 13.5px;
  font-size: 15px;
  line-height: 1.72222;
  word-break: break-all;
  word-wrap: break-word;
  color: inherit;
  background-color: white;
  border: 1px solid #e9e6f0;
  border-radius: 4px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container:before,
.container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container:after {
  clear: both;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container-fluid:after {
  clear: both;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.row:after {
  clear: both;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #bdc3c7;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 27px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.72222;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-child(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 20.25px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 27px;
  font-size: 24px;
  line-height: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.72222;
  color: #d9d9d9;
}
.form-control {
  display: block;
  width: 100%;
  height: 41px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.72222;
  color: #d9d9d9;
  background-color: white;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 6px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-group.focus .form-control,
.form-control:focus {
  border-color: #4b2e83;
  outline: 0;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control:-moz-placeholder {
  color: #999;
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control.placeholder {
  color: #999;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  cursor: not-allowed;
  background-color: #fbfbfb;
  opacity: 1;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 41px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm {
    line-height: 35px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 27px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm,
.form-group-sm .form-control {
  height: 35px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm,
select.form-group-sm .form-control {
  height: 35px;
  line-height: 35px;
}
textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control {
  height: auto;
}
select.input-sm,
select.form-group-sm .form-control {
  height: 35px;
  line-height: 35px;
}
textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control {
  height: auto;
}
.input-lg,
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
select.input-lg,
select.form-group-lg .form-control {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control {
  height: auto;
}
select.input-lg,
select.form-group-lg .form-control {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control {
  height: auto;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 51.25px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 41px;
  height: 41px;
  line-height: 41px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback {
  width: 35px;
  height: 35px;
  line-height: 35px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #2ecc71;
}
.has-success .form-control {
  border-color: #2ecc71;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #25a25a;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
}
.has-success .input-group-addon {
  color: #2ecc71;
  border-color: #2ecc71;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #2ecc71;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #2ecc71;
}
.has-success .form-control {
  color: #2ecc71;
  border-color: #2ecc71;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .form-control::-moz-placeholder {
  color: #2ecc71;
  opacity: 1;
}
.has-success .form-control:-ms-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-webkit-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control:-moz-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-moz-placeholder {
  color: #2ecc71;
  opacity: 1;
}
.has-success .form-control:-ms-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-webkit-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control.placeholder {
  color: #2ecc71;
}
.has-success .form-control:focus {
  border-color: #2ecc71;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .input-group-addon {
  color: #2ecc71;
  border-color: #2ecc71;
  background-color: #dff0d8;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #f1c40f;
}
.has-warning .form-control {
  border-color: #f1c40f;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #c29d0b;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
}
.has-warning .input-group-addon {
  color: #f1c40f;
  border-color: #f1c40f;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #f1c40f;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #f1c40f;
}
.has-warning .form-control {
  color: #f1c40f;
  border-color: #f1c40f;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .form-control::-moz-placeholder {
  color: #f1c40f;
  opacity: 1;
}
.has-warning .form-control:-ms-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-webkit-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control:-moz-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-moz-placeholder {
  color: #f1c40f;
  opacity: 1;
}
.has-warning .form-control:-ms-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-webkit-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control.placeholder {
  color: #f1c40f;
}
.has-warning .form-control:focus {
  border-color: #f1c40f;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .input-group-addon {
  color: #f1c40f;
  border-color: #f1c40f;
  background-color: #fcf8e3;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #e74c3c;
}
.has-error .form-control {
  border-color: #e74c3c;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #d62c1a;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
}
.has-error .input-group-addon {
  color: #e74c3c;
  border-color: #e74c3c;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #e74c3c;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #e74c3c;
}
.has-error .form-control {
  color: #e74c3c;
  border-color: #e74c3c;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .form-control::-moz-placeholder {
  color: #e74c3c;
  opacity: 1;
}
.has-error .form-control:-ms-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-webkit-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control:-moz-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-moz-placeholder {
  color: #e74c3c;
  opacity: 1;
}
.has-error .form-control:-ms-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-webkit-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control.placeholder {
  color: #e74c3c;
}
.has-error .form-control:focus {
  border-color: #e74c3c;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .input-group-addon {
  color: #e74c3c;
  border-color: #e74c3c;
  background-color: #f2dede;
}
.has-feedback label ~ .form-control-feedback {
  top: 32px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #999999;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 34px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.form-horizontal .form-group:after {
  clear: both;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.3px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.72222;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: white;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-default {
  color: white;
  background-color: #bdc3c7;
  border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: white;
  background-color: #a1aab0;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #bdc3c7;
  border-color: #ccc;
}
.btn-default .badge {
  color: #bdc3c7;
  background-color: white;
}
.btn-primary {
  color: #fff;
  background-color: #4b2e83;
  border-color: #402770;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #35215d;
  border-color: #261743;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #4b2e83;
  border-color: #402770;
}
.btn-primary .badge {
  color: #4b2e83;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #2ecc71;
  border-color: #29b765;
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #25a25a;
  border-color: #1e854a;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #2ecc71;
  border-color: #29b765;
}
.btn-success .badge {
  color: #2ecc71;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #3498db;
  border-color: #258cd1;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #217dbb;
  border-color: #1c699d;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #3498db;
  border-color: #258cd1;
}
.btn-info .badge {
  color: #3498db;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f1c40f;
  border-color: #dab10d;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #c29d0b;
  border-color: #a08209;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #f1c40f;
  border-color: #dab10d;
}
.btn-warning .badge {
  color: #f1c40f;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #e74c3c;
  border-color: #e43725;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #d62c1a;
  border-color: #b62516;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #e74c3c;
  border-color: #e43725;
}
.btn-danger .badge {
  color: #e74c3c;
  background-color: #fff;
}
.btn-link {
  color: #0088DD;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #d9d9d9;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #bdc3c7;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -o-transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
  visibility: hidden;
}
.collapse.in {
  display: block;
  visibility: visible;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 12.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.72222;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #4b2e83;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #bdc3c7;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 14px;
  line-height: 1.72222;
  color: #bdc3c7;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child > .btn:last-child,
.btn-group > .btn-group:first-child > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  line-height: 35px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  line-height: 35px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  color: #d9d9d9;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 20px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #bdc3c7;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #bdc3c7;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #0088DD;
}
.nav .nav-divider {
  height: 1px;
  margin: 12.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.72222;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #d9d9d9;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 4px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #4b2e83;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
  visibility: hidden;
}
.tab-content > .active {
  display: block;
  visibility: visible;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 27px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 6px;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 11.5px 15px;
  font-size: 20px;
  line-height: 27px;
  height: 50px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  padding-top: 9.5px;
  padding-bottom: 9.5px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 5.75px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 27px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 27px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 11.5px;
    padding-bottom: 11.5px;
  }
}
.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 4.5px;
  margin-bottom: 4.5px;
  padding-top: 6px;
  padding-bottom: 6px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 4.5px;
  margin-bottom: 4.5px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.navbar-btn.btn-sm {
  margin-top: 7.5px;
  margin-bottom: 7.5px;
  padding-top: 9px;
  padding-bottom: 9px;
}
.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
  padding-top: 15.5px;
  padding-bottom: 15.5px;
}
.navbar-text {
  margin-top: 11.5px;
  margin-bottom: 11.5px;
  padding-top: 13px;
  padding-bottom: 13px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #ececf4;
  border-color: #d7d7e8;
}
.navbar-default .navbar-brand {
  color: #4b2e83;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #4b2e83;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #d7d7e8;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: transparent;
  color: #4b2e83;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #4b2e83;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #4b2e83;
}
.navbar-default .navbar-link:hover {
  color: #4b2e83;
}
.navbar-default .btn-link {
  color: #4b2e83;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #4b2e83;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #4b2e83;
  border-color: #35215d;
}
.navbar-inverse .navbar-brand {
  color: white;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: white;
}
.navbar-inverse .navbar-nav > li > a {
  color: white;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: white;
  background-color: #4b2e83;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #3c2569;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #4b2e83;
  color: white;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #35215d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #35215d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: white;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: white;
    background-color: #4b2e83;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: white;
}
.navbar-inverse .navbar-link:hover {
  color: #4b2e83;
}
.navbar-inverse .btn-link {
  color: white;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #4b2e83;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 27px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 4px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #ccc;
}
.breadcrumb > .active {
  color: #bdc3c7;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 27px 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.72222;
  text-decoration: none;
  color: #dbd5e6;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #d9d9d9;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #bdc3c7;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 27px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #bdc3c7;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #bdc3c7;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #a1aab0;
}
.label-primary {
  background-color: #4b2e83;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #35215d;
}
.label-success {
  background-color: #2ecc71;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #25a25a;
}
.label-info {
  background-color: #3498db;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #217dbb;
}
.label-warning {
  background-color: #f1c40f;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #c29d0b;
}
.label-danger {
  background-color: #e74c3c;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #d62c1a;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
  text-align: center;
  background-color: #bdc3c7;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #0088DD;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding: 30px 15px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 6px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding: 48px 0;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 72px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 27px;
  line-height: 1.72222;
  background-color: #fff;
  border: 1px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: border 0.2s ease-in-out;
  -webkit-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #0088DD;
}
.thumbnail .caption {
  padding: 9px;
  color: #595959;
}
.alert {
  padding: 15px;
  margin-bottom: 27px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #2ecc71;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #25a25a;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #3498db;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #217dbb;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #f1c40f;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #c29d0b;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #e74c3c;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #d62c1a;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 27px;
  margin-bottom: 27px;
  background-color: #f5f5f5;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 27px;
  color: #fff;
  text-align: center;
  background-color: #4b2e83;
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -o-transition: width 0.6s ease;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -o-animation: progress-bar-stripes 2s linear infinite;
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #2ecc71;
}
.progress-striped .progress-bar-success {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #3498db;
}
.progress-striped .progress-bar-info {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f1c40f;
}
.progress-striped .progress-bar-warning {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #e74c3c;
}
.progress-striped .progress-bar-danger {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
a.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
a.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #bdc3c7;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #bdc3c7;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #b5a0dd;
}
.list-group-item-success {
  color: #2ecc71;
  background-color: #dff0d8;
}
a.list-group-item-success {
  color: #2ecc71;
}
a.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
a.list-group-item-success:focus {
  color: #2ecc71;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
a.list-group-item-success.active:hover,
a.list-group-item-success.active:focus {
  color: #fff;
  background-color: #2ecc71;
  border-color: #2ecc71;
}
.list-group-item-info {
  color: #3498db;
  background-color: #d9edf7;
}
a.list-group-item-info {
  color: #3498db;
}
a.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
a.list-group-item-info:focus {
  color: #3498db;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
a.list-group-item-info.active:hover,
a.list-group-item-info.active:focus {
  color: #fff;
  background-color: #3498db;
  border-color: #3498db;
}
.list-group-item-warning {
  color: #f1c40f;
  background-color: #fcf8e3;
}
a.list-group-item-warning {
  color: #f1c40f;
}
a.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
a.list-group-item-warning:focus {
  color: #f1c40f;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #f1c40f;
  border-color: #f1c40f;
}
.list-group-item-danger {
  color: #e74c3c;
  background-color: #f2dede;
}
a.list-group-item-danger {
  color: #e74c3c;
}
a.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
a.list-group-item-danger:focus {
  color: #e74c3c;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #e74c3c;
  border-color: #e74c3c;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 27px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: inherit;
}
.panel-title > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 27px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #4b2e83;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #4b2e83;
}
.panel-primary > .panel-heading .badge {
  color: #4b2e83;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #4b2e83;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #2ecc71;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #2ecc71;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #3498db;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #3498db;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #f1c40f;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #f1c40f;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #e74c3c;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #e74c3c;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 6px;
}
.well-sm {
  padding: 9px;
  border-radius: 3px;
}
.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -o-transform: translate(0, -25%);
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -o-transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -moz-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.72222px;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.72222;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  visibility: visible;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.72222;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -o-transition: 0.6s ease-in-out left;
  -webkit-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    transition: transform 0.6s ease-in-out;
    backface-visibility: hidden;
    perspective: 1000;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg,
tr.visible-xs,
tr.visible-sm,
tr.visible-md,
tr.visible-lg,
th.visible-xs,
th.visible-sm,
th.visible-md,
th.visible-lg,
td.visible-xs,
td.visible-sm,
td.visible-md,
td.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
  .hidden-xs,
  tr.hidden-xs,
  th.hidden-xs,
  td.hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
  .hidden-sm,
  tr.hidden-sm,
  th.hidden-sm,
  td.hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
  .hidden-md,
  tr.hidden-md,
  th.hidden-md,
  td.hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
  .hidden-lg,
  tr.hidden-lg,
  th.hidden-lg,
  td.hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
.visible-print,
tr.visible-print,
th.visible-print,
td.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
  .hidden-print,
  tr.hidden-print,
  th.hidden-print,
  td.hidden-print {
    display: none !important;
  }
}
html.overlay-open .navbar-fixed-top {
  z-index: 400;
}
html.js fieldset.collapsed {
  height: auto;
}
html.js input.form-autocomplete {
  background-image: none;
}
body {
  position: relative;
}
body.admin-expanded.admin-vertical.admin-nw .navbar,
body.admin-expanded.admin-vertical.admin-sw .navbar {
  margin-left: 260px;
}
body.navbar-is-fixed-top {
  padding-top: 64px !important;
}
body.navbar-is-fixed-bottom {
  padding-bottom: 64px !important;
}
body.toolbar {
  padding-top: 30px !important;
}
body.toolbar .navbar-fixed-top {
  top: 30px;
}
body.toolbar.navbar-is-fixed-top {
  padding-top: 94px !important;
}
body.toolbar-drawer {
  padding-top: 64px !important;
}
body.toolbar-drawer .navbar-fixed-top {
  top: 64px;
}
body.toolbar-drawer.navbar-is-fixed-top {
  padding-top: 128px !important;
}
body.admin-menu .navbar-fixed-top {
  top: 29px;
}
body.admin-menu.navbar-is-fixed-top {
  padding-top: 93px !important;
}
body div#admin-toolbar {
  z-index: 1600;
}
body #toolbar,
body #admin-menu,
body #admin-toolbar {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
body #admin-menu {
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 1600;
}
body #admin-menu .dropdown li {
  line-height: normal;
}
.navbar.container {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .navbar.container {
    max-width: 720px;
  }
}
@media screen and (min-width: 992px) {
  .navbar.container {
    max-width: 940px;
  }
}
@media screen and (min-width: 1200px) {
  .navbar.container {
    max-width: 1140px;
  }
}
.navbar.container > .container {
  margin: 0;
  padding: 0;
  width: auto;
}
#overlay-container,
.overlay-modal-background,
.overlay-element {
  z-index: 1500;
}
#toolbar {
  z-index: 1600;
}
.modal {
  z-index: 1620;
}
.modal-dialog {
  z-index: 1630;
}
.modal-backdrop {
  z-index: 1610;
}
.element-invisible {
  margin: 0;
  padding: 0;
  width: 1px;
}
.navbar .logo {
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 768px) {
  .navbar .logo {
    margin-right: 0;
    padding-left: 0;
  }
}
ul.secondary {
  float: left;
}
@media screen and (min-width: 768px) {
  ul.secondary {
    float: right;
  }
}
.page-header {
  margin-top: 0;
}
.block:first-child h2.block-title {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
.region-help > .glyphicon {
  font-size: 20px;
  float: left;
  margin: -0.05em 0.5em 0 0;
}
.region-help .block {
  overflow: hidden;
}
form#search-block-form {
  margin: 0;
}
.navbar #block-search-form {
  float: none;
  margin: 5px 0 5px 5px;
}
@media screen and (min-width: 992px) {
  .navbar #block-search-form {
    float: right;
  }
}
.navbar-search .control-group {
  margin-bottom: 0px;
}
ul.action-links {
  margin: 12px 0;
  padding: 0;
}
ul.action-links li {
  display: inline;
  margin: 0;
  padding: 0 6px 0 0;
}
ul.action-links .glyphicon {
  padding-right: 0.5em;
}
input,
textarea,
select,
.uneditable-input {
  max-width: 100%;
  width: auto;
}
input.error {
  color: #e74c3c;
  border-color: #ebccd1;
}
fieldset legend.panel-heading {
  float: left;
  line-height: 1em;
  margin: 0;
}
fieldset .panel-body {
  clear: both;
}
fieldset .panel-heading a.panel-title {
  color: inherit;
  display: block;
  margin: -10px -15px;
  padding: 10px 15px;
}
fieldset .panel-heading a.panel-title:hover {
  text-decoration: none;
}
.form-actions {
  clear: both;
}
.resizable-textarea textarea {
  border-radius: 4px 4px 0 0;
}
.radio:first-child,
.checkbox:first-child {
  margin-top: 0;
}
.radio:last-child,
.checkbox:last-child {
  margin-bottom: 0;
}
.help-block,
.control-group .help-inline {
  color: #bdc3c7;
  font-size: 12px;
  margin: 5px 0 10px;
  padding: 0;
}
.panel-heading {
  display: block;
}
a.tabledrag-handle .handle {
  height: auto;
  width: auto;
}
.error {
  color: #e74c3c;
}
div.error,
table tr.error {
  background-color: #f2dede;
  color: #e74c3c;
}
.control-group.error {
  background: none;
}
.control-group.error label,
.control-group.error .control-label {
  color: #e74c3c;
  font-weight: 600;
}
.control-group.error input,
.control-group.error textarea,
.control-group.error select,
.control-group.error .uneditable-input {
  color: #d9d9d9;
  border: 1px solid #ccc;
}
.control-group.error .help-block,
.control-group.error .help-inline {
  color: #595959;
}
.list-inline > li.first {
  padding-left: 0;
}
.nav-tabs {
  margin-bottom: 10px;
}
ul li.collapsed,
ul li.expanded,
ul li.leaf {
  list-style: none;
  list-style-image: none;
}
.tabs--secondary {
  margin: 0 0 10px;
}
.submitted {
  margin-bottom: 1em;
  font-style: italic;
  font-weight: normal;
  color: #777;
}
.password-strength {
  width: 17em;
  float: right;
  /* LTR */
  margin-top: 1.4em;
}
.password-strength-title {
  display: inline;
}
.password-strength-text {
  float: right;
  /* LTR */
  font-weight: bold;
}
.password-indicator {
  background-color: #949494;
  height: 0.3em;
  width: 100%;
}
.password-indicator div {
  height: 100%;
  width: 0%;
  background-color: #999;
}
input.password-confirm,
input.password-field {
  width: 16em;
  margin-bottom: 0.4em;
}
div.password-confirm {
  float: right;
  /* LTR */
  margin-top: 1.5em;
  visibility: hidden;
  width: 17em;
}
div.form-item div.password-suggestions {
  padding: 0.2em 0.5em;
  margin: 0.7em 0;
  width: 38.5em;
  border: 1px solid #B4B4B4;
}
div.password-suggestions ul {
  margin-bottom: 0;
}
.confirm-parent,
.password-parent {
  clear: left;
  /* LTR */
  margin: 0;
  width: 36.3em;
}
.progress-wrapper .progress {
  margin-bottom: 10px;
}
.pagination ul > li > a.progress-disabled {
  float: left;
}
.form-autocomplete .glyphicon {
  color: #bdc3c7;
  font-size: 120%;
}
.form-autocomplete .glyphicon.glyphicon-spin {
  color: #4b2e83;
}
.form-autocomplete .input-group-addon {
  background-color: #ffffff;
}
.ajax-progress .glyphicon {
  font-size: 90%;
  margin: 0 -0.25em 0 0.5em;
}
.glyphicon-spin {
  display: inline-block;
  -moz-animation: spin 1s infinite linear;
  -o-animation: spin 1s infinite linear;
  -webkit-animation: spin 1s infinite linear;
  animation: spin 1s infinite linear;
}
a .glyphicon-spin {
  display: inline-block;
  text-decoration: none;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.glyphicon-refresh {
  -webkit-transform-origin: 50% 45%;
  -moz-transform-origin: 50% 45%;
  -ms-transform-origin: 50% 45%;
  -o-transform-origin: 50% 45%;
  transform-origin: 50% 45%;
}
/**
 * Missing Bootstrap 2 tab styling.
 * @see http://stackoverflow.com/questions/18432577/stacked-tabs-in-bootstrap-3
 * @see http://bootply.com/74926
 */
.tabbable {
  margin-bottom: 20px;
}
.tabs-below > .nav-tabs,
.tabs-left > .nav-tabs,
.tabs-right > .nav-tabs {
  border-bottom: 0;
}
.tabs-below > .nav-tabs .summary,
.tabs-left > .nav-tabs .summary,
.tabs-right > .nav-tabs .summary {
  color: #bdc3c7;
  font-size: 14px;
}
.tab-pane > .panel-heading {
  display: none;
}
.tab-content > .active {
  display: block;
}
.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
  border-radius: 0 0 4px 4px;
}
.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-top-color: #ddd;
  border-bottom-color: transparent;
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}
.tabs-left > .nav-tabs,
.tabs-right > .nav-tabs {
  padding-bottom: 20px;
  width: 220px;
}
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}
.tabs-left > .nav-tabs > li:focus,
.tabs-right > .nav-tabs > li:focus {
  outline: 0;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  margin-right: 0;
  margin-bottom: 3px;
}
.tabs-left > .nav-tabs > li > a:focus,
.tabs-right > .nav-tabs > li > a:focus {
  outline: 0;
}
.tabs-left > .tab-content,
.tabs-right > .tab-content {
  border-radius: 0 4px 4px 4px;
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  border: 1px solid #ddd;
  overflow: hidden;
  padding: 10px 15px;
}
.tabs-left > .nav-tabs {
  float: left;
  margin-right: -1px;
}
.tabs-left > .nav-tabs > li > a {
  border-radius: 4px 0 0 4px;
}
.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #ddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs > .active > a,
.tabs-left > .nav-tabs > .active > a:hover,
.tabs-left > .nav-tabs > .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  -moz-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
}
.tabs-right > .nav-tabs {
  float: right;
  margin-left: -1px;
}
.tabs-right > .nav-tabs > li > a {
  border-radius: 0 4px 4px 0;
}
.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #ddd;
  -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
}
.tabs-right > .nav-tabs > .active > a,
.tabs-right > .nav-tabs > .active > a:hover,
.tabs-right > .nav-tabs > .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
}
th.checkbox,
td.checkbox,
th.radio,
td.radio {
  display: table-cell;
}
.views-display-settings .label {
  font-size: 100%;
  color: #666666;
}
.views-display-settings .footer {
  padding: 0;
  margin: 4px 0 0 0;
}
table .radio input[type="radio"],
table .checkbox input[type="checkbox"] {
  max-width: inherit;
}
.form-horizontal .form-group label {
  position: relative;
  min-height: 1px;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: right;
}
@media (min-width: 768px) {
  .form-horizontal .form-group label {
    float: left;
    width: 16.66666667%;
  }
}
.alert a {
  font-weight: bold;
}
.alert-success a {
  color: #25a25a;
}
.alert-info a {
  color: #217dbb;
}
.alert-warning a {
  color: #c29d0b;
}
.alert-danger a {
  color: #d62c1a;
}
/**
* UW Marketing & Communications partials
*/
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscondensed-400-regular-webfont.eot');
  src: url('assets/fonts/encodesanscondensed-400-regular-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscondensed-400-regular-webfont.woff') format('woff'), url('assets/fonts/encodesanscondensed-400-regular-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscondensed-400-regular-webfont.svg#encodesanscondensed-400-regular-webfont') format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscondensed-500-medium-webfont.eot');
  src: url('assets/fonts/encodesanscondensed-500-medium-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscondensed-500-medium-webfont.woff') format('woff'), url('assets/fonts/encodesanscondensed-500-medium-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscondensed-500-medium-webfont.svg#encodesanscondensed-500-medium-webfont') format('svg');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-600-semibold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-600-semibold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.svg#encodesanscompressed-600-semibold-webfont') format('svg');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-700-bold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-700-bold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-700-bold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-700-bold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-700-bold-webfont.svg#encodesanscompressed-700-bold-webfont') format('svg');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-800-extrabold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-800-extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.svg#encodesanscompressed-800-extrabold-webfont') format('svg');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-900-black-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-900-black-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-900-black-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-900-black-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-900-black-webfont.svg#encodesanscompressed-900-black-webfont') format('svg');
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Flat-UI-Icons";
  src: url('assets/icons/flat-ui-icons-regular.eot');
  src: url('assets/icons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('assets/icons/flat-ui-icons-regular.woff') format('woff'), url('assets/icons/flat-ui-icons-regular.ttf') format('truetype'), url('assets/icons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
  font-family: 'Flat-UI-Icons';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="fui-"] {
*/
.fui-arrow-right,
.fui-arrow-left,
.fui-cmd,
.fui-check-inverted,
.fui-heart,
.fui-location,
.fui-plus,
.fui-check,
.fui-cross,
.fui-list,
.fui-new,
.fui-video,
.fui-photo,
.fui-volume,
.fui-time,
.fui-eye,
.fui-chat,
.fui-search,
.fui-user,
.fui-mail,
.fui-lock,
.fui-gear,
.fui-radio-unchecked,
.fui-radio-checked,
.fui-checkbox-unchecked,
.fui-checkbox-checked,
.fui-calendar-solid,
.fui-pause,
.fui-play,
.fui-check-inverted-2 {
  display: inline-block;
  font-family: 'Flat-UI-Icons';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fui-arrow-right:before {
  content: "\e02c";
}
.fui-arrow-left:before {
  content: "\e02d";
}
.fui-cmd:before {
  content: "\e02f";
}
.fui-check-inverted:before {
  content: "\e006";
}
.fui-heart:before {
  content: "\e007";
}
.fui-location:before {
  content: "\e008";
}
.fui-plus:before {
  content: "\e009";
}
.fui-check:before {
  content: "\e00a";
}
.fui-cross:before {
  content: "\e00b";
}
.fui-list:before {
  content: "\e00c";
}
.fui-new:before {
  content: "\e00d";
}
.fui-video:before {
  content: "\e00e";
}
.fui-photo:before {
  content: "\e00f";
}
.fui-volume:before {
  content: "\e010";
}
.fui-time:before {
  content: "\e011";
}
.fui-eye:before {
  content: "\e012";
}
.fui-chat:before {
  content: "\e013";
}
.fui-search:before {
  content: "\e01c";
}
.fui-user:before {
  content: "\e01d";
}
.fui-mail:before {
  content: "\e01e";
}
.fui-lock:before {
  content: "\e01f";
}
.fui-gear:before {
  content: "\e024";
}
.fui-radio-unchecked:before {
  content: "\e02b";
}
.fui-radio-checked:before {
  content: "\e032";
}
.fui-checkbox-unchecked:before {
  content: "\e033";
}
.fui-checkbox-checked:before {
  content: "\e034";
}
.fui-calendar-solid:before {
  content: "\e022";
}
.fui-pause:before {
  content: "\e03b";
}
.fui-play:before {
  content: "\e03c";
}
.fui-check-inverted-2:before {
  content: "\e000";
}
.dropdown-arrow-inverse {
  border-bottom-color: #4b2e83 !important;
  border-top-color: #4b2e83 !important;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.72222;
  color: #595959;
  background-color: #fff;
}
a {
  color: #0088DD;
  text-decoration: none;
  -o-transition: 0.25s;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
a:hover,
a:focus {
  color: #d9d9d9;
  text-decoration: none;
}
a:focus {
  outline: none;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.72222;
  background-color: #fff;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-comment {
  font-size: 14px;
  line-height: 1.2;
  font-style: italic;
  margin: 24px 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small {
  color: #e9e6f0;
}
h1,
h2,
h3 {
  margin-top: 27px;
  margin-bottom: 13.5px;
}
h4,
h5,
h6 {
  margin-top: 13.5px;
  margin-bottom: 13.5px;
}
h6 {
  font-weight: normal;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 29px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 20px;
}
h5,
.h5 {
  font-size: 17px;
}
h6,
.h6 {
  font-size: 18px;
}
p {
  font-size: 16px;
  line-height: 1.72222;
  margin: 0 0 13.5px;
  font-weight: normal;
  color: #3D3D3D;
  -webkit-font-smoothing: antialiased;
}
.lead {
  margin-bottom: 27px;
  font-size: 24px;
  line-height: 1.46428571;
  font-weight: 300;
}
@media (min-width: 768px) {
  .lead {
    font-size: 26.672px;
  }
}
small,
.small {
  font-size: 83%;
  line-height: 2.067;
}
.text-muted {
  color: #bdc3c7;
}
.text-inverse {
  color: white;
}
.text-primary {
  color: #4b2e83;
}
a.text-primary:hover {
  color: #35215d;
}
a.text-primary:hover {
  color: #3c2569;
}
.text-warning {
  color: #f1c40f;
}
a.text-warning:hover {
  color: #c29d0b;
}
a.text-warning:hover {
  color: #c19d0c;
}
.text-danger {
  color: #e74c3c;
}
a.text-danger:hover {
  color: #d62c1a;
}
a.text-danger:hover {
  color: #b93d30;
}
.text-success {
  color: #2ecc71;
}
a.text-success:hover {
  color: #25a25a;
}
a.text-success:hover {
  color: #25a35a;
}
.text-info {
  color: #3498db;
}
a.text-info:hover {
  color: #217dbb;
}
a.text-info:hover {
  color: #2a7aaf;
}
.bg-primary {
  color: white;
  background-color: #4b2e83;
}
a.bg-primary:hover {
  background-color: #35215d;
}
a.bg-primary:hover {
  background-color: #35215d;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 12.5px;
  border-bottom: 1px solid #e9e6f0;
}
ul,
ol {
  margin-bottom: 13.5px;
}
dl {
  margin-bottom: 27px;
}
dt,
dd {
  line-height: 1.72222;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    width: 160px;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  border-bottom: 1px dotted #bdc3c7;
}
blockquote {
  border-left: 3px solid #e9e6f0;
  padding: 0 0 0 16px;
  margin: 0 0 27px;
}
blockquote p {
  font-size: 18px;
  line-height: 1.55;
  font-weight: normal;
  margin-bottom: .4em;
}
blockquote small,
blockquote .small {
  font-size: 16px;
  line-height: 1.72222;
  font-style: italic;
  color: inherit;
}
blockquote small:before,
blockquote .small:before {
  content: "";
}
blockquote.pull-right {
  padding-right: 16px;
  padding-left: 0;
  border-right: 3px solid #e9e6f0;
  border-left: 0;
}
blockquote.pull-right small:after {
  content: "";
}
address {
  margin-bottom: 27px;
  line-height: 1.72222;
}
/* Styles necessary for quicklinks */
#uw-container {
  position: relative;
  width: 100%;
  height: 100%;
  margin-left: 0;
  background-color: white;
  overflow-x: hidden;
}
#uw-container #quicklinks {
  position: absolute;
  background-color: #4d4d4d;
  top: 0px;
  right: 0px;
  height: 100%;
  width: 300px;
  padding: 10px 0 0 90px;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: #4d4d4d;
  background: #2e2e2e;
  background: -moz-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, #2e2e2e), color-stop(4%, #4d4d4d), color-stop(100%, #4d4d4d));
  background: -webkit-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -o-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -ms-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: linear-gradient(to right, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2e2e2e', endColorstr='#4d4d4d', GradientType=1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: matrix(1, 0, 0, 1, 190, 0);
  -moz-transform: matrix(1, 0, 0, 1, 190, 0);
  -ms-transform: matrix(1, 0, 0, 1, 190, 0);
  -o-transform: matrix(1, 0, 0, 1, 190, 0);
  transform: matrix(1, 0, 0, 1, 190, 0);
}
#uw-container #quicklinks ul {
  padding: 0;
}
#uw-container #quicklinks ul#big-links {
  list-style: none;
  margin-top: 10px;
}
#uw-container #quicklinks ul#big-links li {
  display: block;
  width: 100%;
  padding: 14px 0 0 0;
}
#uw-container #quicklinks ul#big-links li a {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  margin-left: 15px;
}
#uw-container #quicklinks ul#big-links li a:hover,
#uw-container #quicklinks ul#big-links li a:focus {
  color: #ffd800;
  text-decoration: underline;
}
#uw-container #quicklinks ul#big-links li span {
  display: block;
  float: left;
  width: 30px;
  height: 30px;
  background: url(assets/svg/uw-sprite.svg) no-repeat 0 0;
}
#uw-container #quicklinks ul#big-links li span.icon-maps {
  background-position: 6px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-directories {
  background-position: -84px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-calendar {
  background-position: -39px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-libraries {
  background-position: -129px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-medicine {
  background-position: -264px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-myuw {
  background-position: -174px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-uwtoday {
  background-position: -219px -303px;
}
#uw-container #quicklinks h3 {
  font-size: 18px;
  color: white;
  margin: 40px 0 30px 0;
  position: relative;
}
#uw-container #quicklinks h3:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: white;
  position: absolute;
  bottom: -19px;
}
#uw-container #quicklinks ul#little-links {
  margin-left: 10px;
}
#uw-container #quicklinks ul#little-links li {
  list-style: none;
  position: relative;
}
#uw-container #quicklinks ul#little-links li:before {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  background-color: #ffd800;
  position: absolute;
  left: -15px;
  top: 13px;
  border-top-right-radius: 100%;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
  border-top-left-radius: 100%;
}
#uw-container #quicklinks ul#little-links li:nth-child(1):before {
  background-color: #8a00ff;
}
#uw-container #quicklinks ul#little-links li:nth-child(2):before {
  background-color: #8a00ff;
}
#uw-container #quicklinks ul#little-links li:nth-child(3):before {
  background-color: #e49243;
}
#uw-container #quicklinks ul#little-links li:nth-child(4):before {
  background-color: #9bc343;
}
#uw-container #quicklinks ul#little-links li:nth-child(5):before {
  background-color: #9bc343;
}
#uw-container #quicklinks ul#little-links li:nth-child(6):before {
  background: url(assets/svg/uw-sprite.svg) no-repeat 0px -159px;
  height: 20px;
  width: 20px;
  top: 5px;
  left: -28px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background-size: 700px;
}
#uw-container #quicklinks ul#little-links li:nth-child(7):before {
  background: url(assets/svg/uw-sprite.svg) no-repeat -37px -157px;
  height: 20px;
  width: 20px;
  top: 5px;
  left: -28px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  background-size: 690px;
}
#uw-container #quicklinks ul#little-links li:nth-child(6) {
  margin-top: 30px;
}
#uw-container #quicklinks ul#little-links li:nth-child(6):after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: white;
  position: absolute;
  top: -15px;
  left: -26px;
}
#uw-container #quicklinks ul#little-links li:nth-child(7),
#uw-container #quicklinks ul#little-links li:nth-child(6) {
  margin-left: 15px;
  padding-left: 3px;
}
#uw-container #quicklinks ul#little-links li a {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
}
#uw-container #quicklinks ul#little-links li a:hover,
#uw-container #quicklinks ul#little-links li a:focus {
  color: #ffd800;
  text-decoration: underline;
}
#uw-container #quicklinks a {
  color: white;
}
#uw-container #quicklinks.open {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
#uw-container div#uw-container-inner {
  position: relative;
  background-color: white;
  box-shadow: 10px 0px 11px -6px #1f1f1f;
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uw-container.open div#uw-container-inner {
  -webkit-transform: matrix(1, 0, 0, 1, -270, 0);
  -moz-transform: matrix(1, 0, 0, 1, -270, 0);
  -ms-transform: matrix(1, 0, 0, 1, -270, 0);
  -o-transform: matrix(1, 0, 0, 1, -270, 0);
  transform: matrix(1, 0, 0, 1, -270, 0);
}
@media only screen and (max-width: 767px) {
  #uw-container #quicklinks {
    padding: 0 0 0 70px;
  }
}
.assistive-text {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  z-index: -1;
}
#dawgdrops {
  -moz-box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  -webkit-box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  background-color: white;
  position: relative;
  z-index: 5;
  display: block;
}
#dawgdrops ul {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
  list-style: none;
}
#dawgdrops li {
  list-style: none;
  display: inline-block;
}
#dawgdrops li li {
  width: 80%;
  margin: 0 10%;
}
.dawgdrops-inner {
  padding: 20px 0 5px 0;
}
.menu-block {
  float: left;
  width: 230px;
}
.dawgdrops-item.dawgdrops-item a {
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 700;
  font-size: 20px;
  padding: 5px 10px 21px 15px;
}
.dawgdrops-item.dawgdrops-item a:focus,
.dawgdrops-item.dawgdrops-item a:hover {
  color: #85754d;
}
.dawgdrops-item.dawgdrops-item li a {
  font-family: "Encode Sans Compressed", sans-serif;
  text-transform: none;
  font-weight: 700;
  padding-bottom: 4px;
  padding-left: 10px;
  padding-top: 4px;
  margin-left: 0;
  margin-right: 0;
  margin-top: 6px;
  margin-bottom: 6px;
  font-size: 20px;
  line-height: 28px;
}
.dawgdrops-item.dawgdrops-item li a:hover,
.dawgdrops-item.dawgdrops-item li a:focus {
  color: #4b2e83;
  background-color: #E7E7E7;
}
.dawgdrops-item a {
  color: #4b2e83;
  -webkit-font-smoothing: antialiased;
  font-size: 22px;
  text-transform: uppercase;
  padding: 24px 10px 19px 15px;
  display: block;
  position: relative;
}
.dawgdrops-item a.dropdown-toggle {
  padding-right: 30px;
}
.dawgdrops-item a.dropdown-toggle:hover:before {
  background: url(assets/svg/uw-sprite.svg) no-repeat -203px -490px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  height: 25px;
  width: 18px;
  right: 4px;
  top: 8px;
}
.dawgdrops-item a.dropdown-toggle:before {
  content: "";
  position: absolute;
  height: 10px;
  width: 10px;
  right: 8px;
  top: 17px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -353px 0px;
}
.dawgdrops-item a:after {
  content: "";
  position: absolute;
  right: -14px;
  height: 24px;
  width: 12px;
  top: 14px;
  background: url('assets/svg/slash.svg') no-repeat;
}
.dawgdrops-item:hover .dawgdrops-menu {
  display: block;
}
.dawgdrops-item:last-child a:after {
  display: none;
}
.dawgdrops-menu {
  top: 66px;
  left: 0;
  position: absolute;
  display: none;
  min-width: 260px;
  border: 0;
  border-top: 4px solid #4b2e83;
  padding: 10px 0;
  margin: -1px 0 0;
  background: #fff;
  overflow: hidden;
  z-index: 1;
  -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
}
.dawgdrops-menu li {
  float: left;
  clear: left;
  border-bottom: thin solid #eee;
}
.dawgdrops-menu li a {
  color: #707070;
  font-size: 17px;
  margin: 10px 30px 0px 20px;
  text-align: left;
  padding: 0 10px;
}
.dawgdrops-menu li a:after {
  background: none;
}
.dawgdrops-menu li:first-child {
  margin-top: 5px;
}
.dawgdrops-menu li:last-child {
  margin-bottom: 10px;
  border: none;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  #dawgdrops {
    display: none;
  }
}
/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  .dawgdrops-inner {
    padding: 20px 0;
  }
  .dawgdrops-item.dawgdrops-item:hover .dawgdrops-menu {
    display: none;
  }
  .dawgdrops-item.dawgdrops-item a {
    padding: 4px 10px 10px 15px;
  }
  .dawgdrops-item.dawgdrops-item a.dropdown-toggle {
    padding-right: 10px;
  }
  .dawgdrops-item.dawgdrops-item a:before {
    display: none;
  }
  .dawgdrops-item.dawgdrops-item a:after {
    top: 13px;
  }
}
@media only screen and (min-width: 993px) and (max-width: 1200px) {
  .dawgdrops-item.dawgdrops-item a {
    font-size: 18px;
    padding-bottom: 23px;
  }
}
@media only screen and (min-width: 768px) {
  nav#dawgdrops .btn-myuw a {
    font-size: 18px;
    text-transform: none;
    color: #FFF;
    font-weight: 600;
    position: absolute;
    top: 65px;
    right: 0;
    padding: 15px 20px 20px 100px;
    z-index: -1;
    overflow: hidden;
  }
  nav#dawgdrops .btn-myuw a:after {
    content: "";
    display: block;
    position: absolute;
    width: 40px;
    height: 33px;
    left: 58px;
    top: 16px;
    background: url(assets/svg/person.svg) no-repeat 0 0;
  }
  nav#dawgdrops .btn-myuw a:hover {
    color: black;
  }
  nav#dawgdrops .btn-myuw a:before {
    content: "";
    display: block;
    position: absolute;
    top: 17px;
    width: 450px;
    height: 60px;
    left: 33px;
    top: -1px;
    background-color: #85754d;
    -webkit-transform: skewX(-15deg) skewY(0);
    -o-transform: skewX(-15deg) skewY(0);
    transform: skewX(-15deg) skewY(0);
    -webkit-transform: skew(-15deg, 0);
    -ms-transform: skewX(-15deg) skewY(0);
    transform: skew(-15deg, 0);
    z-index: -1;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
  }
}
.dropdown-menu {
  padding: 0;
}
.dropdown-menu a {
  border-radius: 4px;
}
.uw-thinstrip {
  height: 90px;
  width: 100%;
  background: #4b2e83;
  padding-top: 22px;
  position: relative;
  z-index: 2;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.uw-thinstrip .container {
  position: relative;
}
.uw-thinstrip .allen-school-wordmark {
  display: block;
  position: absolute;
  top: 17px;
  left: 15px;
}
.uw-thinstrip .allen-school-wordmark img {
  margin-top: -25px;
  height: 60px;
}
.uw-thinstrip div.align-right {
  float: right;
}
.uw-thinstrip nav {
  display: inline-block;
  vertical-align: top;
}
.uw-thinstrip ul.uw-thin-links {
  margin: 0;
  position: relative;
  z-index: 1;
  font-weight: 700;
  padding: 0;
}
.uw-thinstrip ul.uw-thin-links li {
  float: left;
  list-style: none;
}
.uw-thinstrip ul.uw-thin-links li:last-child a:after {
  display: none;
}
.uw-thinstrip ul.uw-thin-links li a,
.uw-thinstrip ul.uw-thin-links li button {
  font-family: "Open Sans", sans-serif;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  position: relative;
  float: right;
  padding: 8px 25px 10px 0;
  letter-spacing: .01em;
}
.uw-thinstrip ul.uw-thin-links li a:after,
.uw-thinstrip ul.uw-thin-links li button:after {
  position: absolute;
  right: 6px;
  height: 32px;
  width: 12px;
  top: 7px;
  content: "";
}
.uw-thinstrip ul.uw-thin-links li a:hover,
.uw-thinstrip ul.uw-thin-links li button:hover,
.uw-thinstrip ul.uw-thin-links li a:focus,
.uw-thinstrip ul.uw-thin-links li button:focus {
  color: #b7a57a;
  text-decoration: underline;
}
.uw-thinstrip button {
  border: none;
  display: inline-block;
  vertical-align: top;
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.uw-thinstrip button.uw-search {
  text-indent: -99999px;
  padding-right: 78px;
  outline: none;
  background-color: transparent;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  width: 45px;
  padding: 0;
  height: 45px;
  margin: 0 15px;
  overflow: hidden;
}
.uw-thinstrip button.uw-search:hover,
.uw-thinstrip button.uw-search:focus {
  background-color: #3a2365;
  -o-transition: all 0.1s linear;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.uw-thinstrip button.uw-search:after {
  display: none;
}
.uw-thinstrip button.uw-search svg {
  position: absolute;
  top: 12px;
  left: 11px;
}
.uw-thinstrip button.uw-quicklinks {
  height: 45px;
  margin-left: -15px;
  margin-right: 0;
  padding-right: 34px;
  color: #FFF;
  background-color: transparent;
  overflow: hidden;
}
.uw-thinstrip button.uw-quicklinks div {
  position: absolute;
  top: -22px;
  right: 0px;
  width: 160px;
  height: 68px;
  margin: 0px;
}
.uw-thinstrip button.uw-quicklinks:hover,
.uw-thinstrip button.uw-quicklinks:focus {
  color: #FFF;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.54);
  text-decoration: underline;
  outline: none;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.uw-thinstrip button.uw-quicklinks:hover svg,
.uw-thinstrip button.uw-quicklinks:focus svg {
  right: 15px;
}
.uw-thinstrip button.uw-quicklinks:after {
  display: none;
}
.uw-thinstrip button.uw-quicklinks svg {
  position: absolute;
  right: 11px;
  top: 16px;
  -o-transition: right 0.2s ease;
  -webkit-transition: right 0.2s ease;
  transition: right 0.2s ease;
}
.search-open .uw-thinstrip button.uw-search svg {
  top: -20px;
  left: 10px;
}
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:hover svg,
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:focus svg {
  right: 11px;
}
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button svg {
  top: -37px;
}
#uw-container.open .uw-quicklinks a {
  color: black;
}
#uw-container.open .uw-quicklinks a:after {
  top: 11px;
  right: 10px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
#dawgdrops {
  background-color: #d9d9d9;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  #uw-container.open .uw-quicklinks button {
    color: black;
    background-position: -492px -317px;
  }
  #uw-container.open .uw-quicklinks button:after {
    background-position: -294px -52px;
    background-size: 880px;
  }
  .uw-thinstrip {
    padding: 0;
    height: 45px;
  }
  .uw-thinstrip .container {
    position: static;
  }
  .uw-thinstrip .allen-school-wordmark {
    width: 73px;
    height: 45px;
    top: 0;
    left: 0;
    background-size: 470px;
    -o-transition: all 0s;
    -webkit-transition: all 0s;
    transition: all 0s;
  }
  .uw-thinstrip .allen-school-wordmark:hover,
  .uw-thinstrip .allen-school-wordmark:focus {
    background-size: 470px;
  }
  .uw-thinstrip .allen-school-wordmark img {
    height: 35px;
    margin-top: 5px;
    margin-left: 5px;
  }
  .uw-thinstrip .uw-wordmark {
    width: 155px;
    height: 34px;
    margin: 0;
    float: none;
    top: 4px;
    background-size: 397px;
  }
  .uw-thinstrip button.uw-quicklinks {
    background-position: -484px -247px;
    background-size: 900px;
    text-indent: -99999px;
    overflow: hidden;
    padding: 20px 9px 0 0;
    width: 50px;
    top: 0;
    right: 0;
    position: absolute;
  }
  .uw-thinstrip button.uw-quicklinks:after {
    background-position: -253px 4px;
    background-size: 780px;
    top: 11px;
    right: 9px;
  }
  .uw-thinstrip button.uw-search {
    display: none;
  }
  .uw-thin-links {
    display: none;
  }
  .search-open .uw-thinstrip button.uw-search svg {
    top: -17px;
    left: 14px;
  }
  .uw-thinstrip ul.uw-thin-links li {
    display: none;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-search,
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks {
    display: block;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:before {
    background: none;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks div {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .uw-thinstrip {
    height: 140px;
  }
  .uw-thinstrip .allen-school-wordmark {
    z-index: 2;
  }
  .uw-thinstrip div.align-right {
    position: relative;
  }
  .uw-thinstrip div.align-right #search-quicklinks {
    position: absolute;
    top: 0px;
    right: 0px;
    min-width: 230px;
  }
  .uw-thinstrip ul.uw-thin-links:before {
    position: absolute;
    top: 0;
    height: 50px;
    width: 100%;
    content: "";
    background-color: #4b2e83;
  }
  .uw-thinstrip ul.uw-thin-links li a,
  .uw-thinstrip ul.uw-thin-links li button {
    font-size: 16px;
    padding: 10px 25px 10px 0;
    color: white;
  }
  .uw-thinstrip li {
    margin-top: 68px;
  }
  .uw-thinstrip li.uw-quicklinks {
    position: absolute;
    right: 0;
    top: -69px;
    margin: 0;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-search {
    position: absolute;
    right: 145px;
    top: -69px;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1020px) {
  .uw-thinstrip .allen-school-wordmark {
    -o-transform: scale(0.8, 0.8);
    -webkit-transform: scale(0.8, 0.8);
    -ms-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    top: 12px;
    left: -15px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1200px) {
  .uw-thinstrip ul.uw-thin-links li a,
  .uw-thinstrip ul.uw-thin-links li button {
    font-size: 16px;
    padding: 10px 25px 10px 0;
  }
}
.uw-hero-image,
.no-uw-hero-image {
  height: 170px;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  position: relative;
}
.uw-hero-image:after,
.no-uw-hero-image:after {
  position: absolute;
  bottom: 0;
  height: 80px;
  width: 100%;
  content: "";
  background: url('assets/images/stripes-dark-tile.svg');
  opacity: .2;
}
.uw-hero-image:before,
.no-uw-hero-image:before {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 80px;
  width: 100%;
  content: "";
  opacity: .4;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.8))) 0 0 no-repeat;
}
.uw-hero-image.hero-height,
.no-uw-hero-image.hero-height {
  height: 350px;
}
.uw-hero-image.hero-height #hero-container,
.no-uw-hero-image.hero-height #hero-container {
  padding-left: 0;
  position: static;
}
.uw-hero-image.hero-height #hero-container h1,
.no-uw-hero-image.hero-height #hero-container h1 {
  line-height: 1;
  padding: 80px 20% 0 0;
  margin: 0;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
.uw-hero-image.hero-height #hero-container h1:after,
.no-uw-hero-image.hero-height #hero-container h1:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 360px;
  left: -140px;
  opacity: .3;
  width: 600px;
  background: url(assets/svg/slashes-light.svg) no-repeat 0 0;
  z-index: 0;
}
.uw-hero-image.hero-height:after,
.no-uw-hero-image.hero-height:after {
  display: none;
}
.uw-hero-image.hero-height #hero-bg,
.no-uw-hero-image.hero-height #hero-bg {
  padding: 0;
}
.uw-hero-image.hero-height .udub-slant span,
.no-uw-hero-image.hero-height .udub-slant span {
  background-color: #E8E3D3;
}
.no-uw-hero-image {
  background: none;
  background-color: #e8e3d3;
  height: 130px;
}
.no-uw-hero-image:after {
  opacity: .2;
}
.no-uw-hero-image:before {
  display: none;
}
.udub-slant {
  overflow: hidden;
  display: block;
  margin: 30px 0 25px 0;
}
.udub-slant span {
  -webkit-transform: skewX(-25deg) skewY(0);
  -o-transform: skewX(-25deg) skewY(0);
  transform: skewX(-25deg) skewY(0);
  -webkit-transform: skew(-25deg, 0);
  -ms-transform: skewX(-25deg) skewY(0);
  transform: skew(-25deg, 0);
  display: block;
  height: 11px;
  width: 210px;
  background-color: white;
  margin: 0 0 0 -5px;
}
.page-template-templatestemplate-no-hero-php .uw-body .uw-site-title {
  color: #5A5A5A;
}
.page-template-templatestemplate-no-title-php .uw-body .uw-site-title {
  display: none;
}
.page-template-templatestemplate-no-title-php .uw-body.container {
  margin-top: 30px;
}
.page-template-templatestemplate-no-title-php ul.uw-sidebar-menu {
  margin-top: -20px;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  .uw-hero-image {
    display: none;
  }
  .uw-hero-image.hero-height {
    padding: 50px 20px 20px;
    display: block;
    height: auto;
  }
  .uw-hero-image.hero-height #hero-container h1 {
    font-size: 35px;
    padding: 0;
  }
  .uw-hero-image.hero-height #hero-container h1:after {
    background-size: 80%;
    -moz-background-size: 80%;
    -webkit-background-size: 80%;
    top: -60px;
    left: -270px;
  }
  .uw-hero-image.hero-blank {
    display: block;
  }
  .uw-hero-image.hero-blank .uw-site-title-blank {
    font-size: 30px;
    margin: 5px 0 20px 5px;
  }
  .udub-slant {
    margin: 10px 0 15px 0;
  }
  .udub-slant span {
    height: 8px;
    margin: 0 0 0 -145px;
  }
  div.container.uw-body {
    padding-top: 0;
  }
  div.container.uw-body div.uw-site-title {
    margin-top: 0;
  }
  div.hero-content.col-md-12.uw-content {
    margin-top: 0;
  }
}
.uw-breadcrumbs {
  margin: -17px 0 0 -30px;
  background-color: white;
  display: inline-block;
  padding: 20px 20px 0 30px;
}
.uw-breadcrumbs ul {
  padding: 0;
  margin: 0;
}
.uw-breadcrumbs li {
  list-style: none;
  display: inline-block;
  position: relative;
}
.uw-breadcrumbs li:first-child a {
  background: url(assets/svg/uw-sprite.svg) no-repeat -249px 5px;
  text-indent: -99999px;
  width: 30px;
  padding: 5px 0 5px 0;
  margin-right: 25px;
}
.uw-breadcrumbs li:first-child a:before {
  right: -18px;
}
.uw-breadcrumbs li:first-child:after {
  top: 17px;
}
.uw-breadcrumbs li.current span {
  color: #85754d;
}
.uw-breadcrumbs li.current:after {
  display: none;
}
.uw-breadcrumbs li:before {
  content: "";
  position: absolute;
  height: 29px;
  width: 25px;
  right: 0;
  top: 4px;
  background: url('assets/images/breadcrumb-gradient.png') right top repeat-y transparent;
}
.uw-breadcrumbs li:after {
  content: "";
  position: absolute;
  height: 10px;
  width: 10px;
  right: 5px;
  top: 7px;
  opacity: 0.8;
  filter: alpha(opacity=80);
  background: url('assets/svg/caret.svg') no-repeat;
  -webkit-background-size: 7px 5px;
  -moz-background-size: 7px 5px;
  -o-background-size: 7px 5px;
  background-size: 7px 5px;
  -o-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.uw-breadcrumbs li:empty {
  display: none;
}
.uw-breadcrumbs li a:hover {
  border-bottom: none;
  text-decoration: underline;
}
.uw-breadcrumbs a,
.uw-breadcrumbs span {
  font-family: "Open Sans", sans-serif;
  color: #535353;
  font-weight: 500;
  font-size: 15px;
  padding: 0 25px 0 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .uw-breadcrumbs {
    float: none;
    padding: 0;
    margin: 0 0 0 -5px;
  }
  .uw-breadcrumbs li {
    float: left;
    display: initial;
  }
  .uw-breadcrumbs li a,
  .uw-breadcrumbs li span {
    padding: 0 25px 0 0;
  }
  .uw-breadcrumbs li:first-child a {
    background-position: -250px -3px;
    padding: 0;
  }
  .uw-breadcrumbs li:first-child:after {
    top: 8px;
  }
}
ul {
  padding-left: 25px;
}
dd {
  margin-bottom: 24.5px;
}
hr {
  border-top: 1px solid #EBEBEB;
  clear: both;
}
iframe {
  margin: 40px 0 20px;
}
small,
.small {
  font-size: 15px;
  line-height: 1.5;
}
.intro {
  font-family: "Open Sans", sans-serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 20px;
}
.uw-body-copy .weight-900 {
  font-weight: 900;
}
a.more {
  position: relative;
}
a.more:after {
  background: url(/wp-content/themes/uw-2014/assets/svg/uw-sprite.svg) no-repeat -206px -492px;
  content: "";
  position: absolute;
  right: -24px;
  bottom: 0px;
  width: 14px;
  height: 21px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.no-blue-links a {
  color: #4b2e83;
}
.no-blue-links a.btn-bs {
  color: #FFF;
}
.uw-body {
  position: relative;
}
.uw-body.container {
  background-color: white;
}
body.front .front-background {
  background-image: url(assets/images/front_page_bg.gif);
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
body.front .front-background .uw-body,
body.front .front-background .row {
  background-color: transparent;
}
.uw-body {
  padding-top: 10px;
  -webkit-font-smoothing: antialiased;
}
.uw-body h1,
.uw-body h2 {
  color: #4b2e83;
  display: block;
}
.uw-body h2,
.uw-body h3,
.uw-body h4,
.uw-body h5 {
  font-weight: 700;
}
.uw-body blockquote p {
  font-family: "Open Sans", sans-serif;
  font-size: 21px;
}
.uw-body .uw-site-title {
  position: absolute;
  top: -150px;
  left: 11px;
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 50px;
  line-height: 55px;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
}
.uw-body .uw-site-title span {
  font-weight: 700;
}
.uw-body div.uw-site-title {
  margin-top: 29px;
  margin-bottom: 14.5px;
}
.uw-body p.date {
  margin-top: 25px;
  margin-bottom: -19px;
}
.uw-body .author-info {
  margin: -4.5px 0 20px 0;
  font-weight: 800;
}
span.next-page {
  display: block;
  margin-top: 50px;
}
span.next-page a {
  padding: 10px 40px 10px 19px;
  text-transform: uppercase;
  background-color: #e8e3d3;
  font-family: "Open Sans", sans-serif;
  color: #5A5A5A;
  display: inline-block;
  position: relative;
  background-image: none !important;
  border-bottom: none;
  margin-bottom: 25px;
  margin-right: 55px;
  z-index: 1;
  line-height: 24px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}
span.next-page a:after {
  background: url(/wp-content/themes/uw-2014/assets/svg/uw-sprite.svg) no-repeat -206px -492px;
  content: "";
  position: absolute;
  right: 17px;
  top: 12px;
  bottom: 3px;
  width: 14px;
  height: 21px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
span.next-page a:hover {
  background-color: #dfd8c2;
}
.uw-body-copy h1 a,
.uw-body-copy h2 a,
.uw-body-copy h3 a,
.uw-body-copy h4 a,
.uw-body-copy h5 a {
  border-bottom: none;
  color: inherit;
}
.uw-body-copy a {
  text-decoration: none;
}
.info-box {
  width: 310px;
  float: left;
  margin-right: 50px;
  margin-bottom: 50px;
  margin-top: 20px;
  margin-left: -150px;
  padding: 30px 30px 30px;
  -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  border-top: 6px solid #b7a57a;
  position: relative;
  background: url('assets/images/stripes-dark-tile.svg') repeat-x 0 -88px transparent;
}
.info-box img {
  max-width: 100%;
  height: auto;
}
.info-box:after {
  top: auto;
  bottom: -40px;
}
.info-box p,
.info-box li,
.info-box a {
  font-size: 16px;
  line-height: 1.6;
}
.info-box h1,
.info-box h2,
.info-box h3,
.info-box h4,
.info-box h5 {
  margin-top: 0;
}
.uw-body-copy ul.links {
  overflow: visible;
}
.links {
  padding: 0;
  margin-top: 20px;
  overflow: visible;
}
.links li {
  padding: 0;
  list-style: none;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #EEE;
}
.links li:last-child {
  border-bottom: none;
}
img.attachment-post-thumbnail.wp-post-image {
  float: left;
  margin: 5px 50px 0 0;
  height: 150px;
  width: auto;
}
img.img-float-left {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
img.img-float-right {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
.dawgbytes-thumbnail-text-container {
  margin-bottom: 10px;
}
.dawgbytes-thumbnail-text-container img {
  width: 85px;
  height: 126px;
  margin-bottom: 0px;
}
.dawgbytes-thumbnail-text-container h3 {
  margin-top: 0px;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  .uw-body {
    padding: 20px;
  }
  .uw-body .uw-site-title {
    color: #4b2e83;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 900;
    margin: -20px -20px 20px -20px;
    padding: 15px 15px 15px 20px;
    position: static;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  .uw-body h1 {
    margin: 10px 80px 10px 0;
    font-size: 33px;
  }
  .uw-body p.date {
    margin-bottom: -15px;
  }
  .home .uw-body .uw-site-title {
    padding-right: 65px;
  }
}
@media only screen and (min-width: 768px) {
  .uw-body .uw-site-title.long-title {
    margin-top: 3px;
  }
}
.widget {
  padding: 10px 0 0 40px;
}
@media only screen and (max-width: 1600px) {
  .info-box {
    margin-left: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .widget {
    padding: 0;
  }
  .info-box {
    margin-left: 0;
    width: 100%;
  }
  .uw-body-copy h1,
  .uw-body-copy h2,
  .uw-body-copy h3,
  .uw-body-copy h4 {
    clear: right;
  }
  .uw-body-copy > div.row {
    clear: both;
  }
}
@media only screen and (max-width: 480px) {
  body.front .front-background {
    background-image: none;
  }
}
@media only screen and (min-width: 768px) {
  .uw-body .uw-site-title {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  }
}
@media only screen and (max-width: 768px) {
  div.front-background {
    position: relative;
    top: 250px;
  }
}
body.search-open #uwsearcharea {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
body.search-open #uwsearcharea .uw-search-wrapper {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
#uwsearcharea {
  -webkit-transform: matrix(1, 0, 0, 1, 0, -100);
  -moz-transform: matrix(1, 0, 0, 1, 0, -100);
  -ms-transform: matrix(1, 0, 0, 1, 0, -100);
  -o-transform: matrix(1, 0, 0, 1, 0, -100);
  transform: matrix(1, 0, 0, 1, 0, -100);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uwsearcharea .uw-search-wrapper {
  -webkit-transform: matrix(1, 0, 0, 1, 0, -20);
  -moz-transform: matrix(1, 0, 0, 1, 0, -20);
  -ms-transform: matrix(1, 0, 0, 1, 0, -20);
  -o-transform: matrix(1, 0, 0, 1, 0, -20);
  transform: matrix(1, 0, 0, 1, 0, -20);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uwsearcharea .uw-results {
  position: relative;
  top: 162px;
}
.uw-search-bar-container {
  background-color: #FFF;
}
.uw-search-bar-container .radio.checked,
.uw-search-bar-container .radio.checked .second-icon {
  color: #4b2e83;
}
.uw-search-bar-container .radio .icons {
  color: #C7C7C7;
}
.uw-search-bar-container .container.no-height {
  position: absolute;
  width: 100%;
  padding: 40px 0 50px;
}
.uw-search-bar-container .uw-search-wrapper {
  position: relative;
  width: 890px;
  margin-top: 30px;
}
.uw-search-bar-container form {
  float: left;
  width: calc(100% - 240px);
  outline: 2px solid #ADADAD;
}
.uw-search-bar-container form input {
  width: 100%;
  height: 54px;
  padding: 10px 0 10px 15px;
  border: none;
  font-size: 20px;
  outline: none;
  background: url(assets/svg/search_purple.svg) no-repeat center;
}
.uw-search-bar-container form .gsc-clear-button {
  display: none;
}
.uw-search-bar-container div.labels {
  float: left;
  display: block;
  margin-left: 40px;
  margin-top: -10px;
  color: #707070;
}
.uw-search-bar-container div.labels .radio {
  margin-bottom: -5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.uw-search-bar-container div#search-labels.labels.hidden-xs.focused {
  zoom: 1.2;
  margin-top: -15px;
}
.uw-search-bar-container input.search {
  border: none;
  font-size: 0px;
  float: left;
  display: block;
  height: 54px;
  outline: 2px solid #808080;
  background: url(assets/svg/search.svg) no-repeat center center gray;
  position: relative;
  -webkit-background-size: 22px;
  -moz-background-size: 22px;
  -o-background-size: 22px;
  background-size: 22px;
  padding: 0px 60px 0px 0px;
}
.uw-search-bar-container input.search:focus {
  zoom: 1.2;
  bottom: 5px;
}
.uw-search-bar-container .uw-results {
  width: 890px;
  margin: auto;
}
.uw-search-bar-container .uw-results .result {
  z-index: 1;
  width: 690px;
  border-bottom: 1px solid #E4E4E4;
  display: block;
  float: left;
  margin-top: -10px;
  margin-bottom: 10px;
  position: relative;
}
.uw-search-bar-container .uw-results .result .information {
  margin: -10px 0 20px 0;
  padding: 0 15px;
}
.uw-search-bar-container .uw-results .result .title {
  margin-bottom: -3px;
}
.uw-search-bar-container .uw-results .result .mail,
.uw-search-bar-container .uw-results .result .fax,
.uw-search-bar-container .uw-results .result .telephonenumber {
  padding-left: 30px;
}
.uw-search-bar-container .uw-results .result .mail a:hover,
.uw-search-bar-container .uw-results .result .fax a:hover,
.uw-search-bar-container .uw-results .result .telephonenumber a:hover {
  color: #4b2e83;
}
.uw-search-bar-container .uw-results .result .mail {
  background: url('assets/images/search-mail.png') no-repeat 0 8px;
}
.uw-search-bar-container .uw-results .result .fax {
  background: url('assets/images/search-fax.png') no-repeat 0 8px;
}
.uw-search-bar-container .uw-results .result .telephonenumber {
  background: url('assets/images/search-phone.png') no-repeat 0 6px;
}
.uw-search-bar-container .uw-results .result .vcard {
  background: url('assets/images/search-vcard.png') no-repeat 0 6px;
}
.uw-search-bar-container .uw-results .result.open h4 {
  color: #4b2e83;
}
.uw-search-bar-container .uw-results .result.open a.directory-more {
  background-position: -310px -23px;
  -o-transition: none;
  -webkit-transition: none;
  transition: none;
}
.uw-search-bar-container .uw-results .result:last-child {
  border: none;
  margin-bottom: 20px;
}
.uw-search-bar-container .uw-results h4 {
  width: 100%;
  font-size: 18px;
  color: #757575;
  padding: 15px 0 15px 14px;
  margin: 0;
  text-transform: uppercase;
  cursor: pointer;
}
.uw-search-bar-container .uw-results a.directory-more {
  text-indent: -99999px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -283px 1px;
  height: 25px;
  right: 25px;
  top: 14px;
  position: absolute;
  width: 30px;
}
.uw-search-bar-container .uw-results .information {
  float: left;
  width: 100%;
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .information p {
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .information span {
  float: left;
  width: 100%;
}
.uw-search-bar-container .uw-results .information a {
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .more-results {
  clear: both;
  padding: 10px 0 0 10px;
  font-size: 15px;
  color: #525252;
}
body #uw-container {
  transition: transform .3s;
}
body.search-open #uw-container {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 192);
  -moz-transform: matrix(1, 0, 0, 1, 0, 192);
  -ms-transform: matrix(1, 0, 0, 1, 0, 192);
  -o-transform: matrix(1, 0, 0, 1, 0, 192);
  transform: matrix(1, 0, 0, 1, 0, 192);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #uwsearcharea .center-block {
    width: 750px;
  }
}
@media only screen and (max-width: 767px) {
  #uwsearcharea .uw-results {
    top: 126px;
  }
  .uw-search-bar-container {
    padding: 0px;
  }
  .uw-search-bar-container .container.no-height {
    padding: 0px 10px;
  }
  .uw-search-bar-container .uw-search-wrapper {
    width: 100%;
    position: relative;
    margin-top: 15px;
  }
  .uw-search-bar-container .uw-search-wrapper .search {
    position: absolute;
    right: 0;
    top: 0;
  }
  .uw-search-bar-container .uw-search-wrapper div.labels {
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 20px;
  }
  .uw-search-bar-container select {
    width: 100%;
    margin: 0 0 15px;
  }
  .uw-search-bar-container form {
    width: 100%;
    margin-bottom: 15px;
  }
  .uw-search-bar-container form input {
    border-radius: 0;
  }
  .uw-search-bar-container .uw-results h4 {
    padding: 15px 60px 15px 14px;
  }
  .uw-search-bar-container .uw-results .result {
    width: 100%;
  }
  body.search-open #uw-container {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 136);
    -moz-transform: matrix(1, 0, 0, 1, 0, 136);
    -ms-transform: matrix(1, 0, 0, 1, 0, 136);
    -o-transform: matrix(1, 0, 0, 1, 0, 136);
    transform: matrix(1, 0, 0, 1, 0, 136);
  }
}
ul.uw-sidebar-menu,
ul.uw-mobile-menu {
  margin-left: 20px;
  padding: 20px;
  margin-top: -124px;
  background-color: white;
}
ul.uw-sidebar-menu ul,
ul.uw-mobile-menu ul,
ul.uw-sidebar-menu li,
ul.uw-mobile-menu li {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: auto;
}
ul.uw-sidebar-menu li.pagenav a,
ul.uw-mobile-menu li.pagenav a,
ul.uw-sidebar-menu > div a,
ul.uw-mobile-menu > div a,
ul.uw-sidebar-menu li.pagenav span,
ul.uw-mobile-menu li.pagenav span,
ul.uw-sidebar-menu > div span,
ul.uw-mobile-menu > div span {
  display: block;
  font-size: 16px;
  padding: 10px 10px 10px 20px;
}
ul.uw-sidebar-menu li.pagenav a.homelink,
ul.uw-mobile-menu li.pagenav a.homelink,
ul.uw-sidebar-menu > div a.homelink,
ul.uw-mobile-menu > div a.homelink,
ul.uw-sidebar-menu li.pagenav span.homelink,
ul.uw-mobile-menu li.pagenav span.homelink,
ul.uw-sidebar-menu > div span.homelink,
ul.uw-mobile-menu > div span.homelink {
  display: none;
  color: #4b2e83;
  font-size: 25px;
}
ul.uw-sidebar-menu li.pagenav ul,
ul.uw-mobile-menu li.pagenav ul,
ul.uw-sidebar-menu > div ul,
ul.uw-mobile-menu > div ul {
  font-size: 20px;
  line-height: 1.3;
  font-size: 19px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item,
ul.uw-mobile-menu li.pagenav ul li.current_page_item,
ul.uw-sidebar-menu > div ul li.current_page_item,
ul.uw-mobile-menu > div ul li.current_page_item,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent,
ul.uw-sidebar-menu > div ul li.current_page_parent,
ul.uw-mobile-menu > div ul li.current_page_parent {
  background-color: #4b2e83;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item > a,
ul.uw-sidebar-menu > div ul li.current_page_item > a,
ul.uw-mobile-menu > div ul li.current_page_item > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent > a,
ul.uw-sidebar-menu > div ul li.current_page_parent > a,
ul.uw-mobile-menu > div ul li.current_page_parent > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item > span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item > span,
ul.uw-sidebar-menu > div ul li.current_page_item > span,
ul.uw-mobile-menu > div ul li.current_page_item > span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent > span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent > span,
ul.uw-sidebar-menu > div ul li.current_page_parent > span,
ul.uw-mobile-menu > div ul li.current_page_parent > span {
  font-weight: bold;
  padding-left: 19px;
  padding-top: 16px;
  padding-bottom: 16px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item a,
ul.uw-sidebar-menu > div ul li.current_page_item a,
ul.uw-mobile-menu > div ul li.current_page_item a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent a,
ul.uw-sidebar-menu > div ul li.current_page_parent a,
ul.uw-mobile-menu > div ul li.current_page_parent a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_item span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent span,
ul.uw-sidebar-menu > div ul li.current_page_parent span,
ul.uw-mobile-menu > div ul li.current_page_parent span {
  color: white;
  border-bottom: none;
  border-left: 10px solid #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor {
  position: relative;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a {
  padding-right: 60px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:focus {
  color: #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:after {
  content: "";
  background: url(assets/svg/uw-sprite.svg) no-repeat -191px -478px;
  display: inline-block;
  height: 52px;
  width: 44px;
  margin-left: 7px;
  margin-top: -26px;
  position: absolute;
  right: 0;
  top: 50%;
  background-color: #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor a,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor a,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor a,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor a,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor span,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor span,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor span,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor span,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor span {
  border-left: none;
  position: relative;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item li.page_item_has_children ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_item li.page_item_has_children ul,
ul.uw-sidebar-menu > div ul li.current_page_item li.page_item_has_children ul,
ul.uw-mobile-menu > div ul li.current_page_item li.page_item_has_children ul,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent li.page_item_has_children ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent li.page_item_has_children ul,
ul.uw-sidebar-menu > div ul li.current_page_parent li.page_item_has_children ul,
ul.uw-mobile-menu > div ul li.current_page_parent li.page_item_has_children ul {
  display: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu > div ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu > div ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu > div ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu > div ul li.current_page_parent li.page_item_has_children.current_page_item ul {
  display: block;
}
ul.uw-sidebar-menu li.pagenav ul li a,
ul.uw-mobile-menu li.pagenav ul li a,
ul.uw-sidebar-menu > div ul li a,
ul.uw-mobile-menu > div ul li a {
  color: #4b2e83;
  border-bottom: thin solid #eee;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children,
ul.uw-mobile-menu > div ul li.current_page_item ul.children,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children {
  display: block;
  font-size: 17px;
  background-color: white;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li {
  background-color: #eee;
  border-bottom: 1px solid #fff;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span {
  color: #5A5A5A;
  padding: 10px 30px 10px 30px;
  border-left: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a:hover,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a:hover,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a:hover,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a:hover,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span:hover,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span:hover,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span:hover,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span:hover,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a:focus,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a:focus,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a:focus,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a:focus,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span:focus,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span:focus,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span:focus,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span:focus,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span:focus {
  background-color: #DDD;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li {
  border-bottom: 1px solid #E0E0E0;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child {
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a {
  background-color: white;
  color: #5A5A5A;
  border-left: none;
  padding-left: 25px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before {
  content: "- ";
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item span {
  border-left: 10px solid #b7a57a;
  padding-left: 20px;
  background-color: #ddd;
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item span a {
  color: white;
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li:last-child a,
ul.uw-mobile-menu li.pagenav ul li:last-child a,
ul.uw-sidebar-menu > div ul li:last-child a,
ul.uw-mobile-menu > div ul li:last-child a {
  border-bottom: none;
}
ul.uw-sidebar-menu ul.children,
ul.uw-mobile-menu ul.children {
  display: none;
}
.uw-sidebar .widgettitle {
  clear: left;
  font-weight: 900;
  font-size: 22px;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 20px;
}
.uw-sidebar .widgettitle:after,
.uw-sidebar .widgettitle:before {
  position: absolute;
  left: 0;
  bottom: 5px;
  content: "";
  height: 4px;
}
.uw-sidebar .widgettitle:before {
  width: 100px;
  background-color: #b7a57a;
}
.uw-sidebar .widgettitle:after {
  width: 40px;
  -webkit-transform: skewX(-25deg) skewY(0);
  -o-transform: skewX(-25deg) skewY(0);
  transform: skewX(-25deg) skewY(0);
  -webkit-transform: skew(-25deg, 0);
  -ms-transform: skewX(-25deg) skewY(0);
  transform: skew(-25deg, 0);
  left: 80px;
  background-color: white;
  bottom: 3px;
  height: 8px;
}
body.home .uw-sidebar-menu {
  display: none;
}
/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  ul.uw-sidebar-menu {
    padding: 0;
    margin: 50px 0 0 0;
    clear: both;
  }
}
@media only screen and (min-width: 768px) {
  .uw-sidebar {
    padding-top: 40px;
  }
}
#mobile-relative {
  display: none;
}
#mobile-relative ul.uw-mobile-menu {
  display: none;
  width: 100%;
  float: right;
  clear: both;
  list-style: none;
  padding: 0;
  margin: 0 0 25px;
}
#mobile-relative ul.uw-mobile-menu > ul {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}
#mobile-relative ul.uw-mobile-menu li {
  width: 100%;
}
/*==========  Mobile First Method  ==========*/
/* Custom, iPhone Retina */
@media only screen and (max-width: 767px) {
  #desktop-relative {
    display: none;
  }
  .uw-mobile-menu li {
    background-color: #eee;
    border-bottom: 1px solid #fff;
  }
  #mobile-relative {
    display: block;
    padding-top: 5px;
  }
  #mobile-relative button.uw-mobile-menu-toggle {
    display: block;
    position: relative;
    float: right;
    font-size: 13.33333333px;
    line-height: 1.43518333;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 40px;
    text-transform: uppercase;
    color: #4b2e83;
    background: url(assets/svg/uw-sprite.svg) no-repeat -475px 20px transparent;
    background-size: 1200px;
    border: none;
    padding: 0 0 20px 0;
  }
  #mobile-relative button.uw-mobile-menu-toggle:before {
    content: "";
    position: absolute;
    right: 55px;
    top: -4px;
    width: 20px;
    height: 40px;
    background: url(assets/svg/uw-sprite.svg) no-repeat -600px 0 transparent;
  }
  #mobile-relative ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after {
    display: none;
  }
  #mobile-relative.frontpage {
    margin-top: -18px;
    position: relative;
  }
  #mobile-relative.frontpage button.uw-mobile-menu-toggle {
    position: absolute;
    right: -20px;
    z-index: 10;
    margin: 0;
    top: -50px;
  }
  #mobile-relative.frontpage ul.uw-mobile-menu {
    z-index: 1;
  }
  #mobile-relative.frontpage ul.uw-mobile-menu .menu-dropdowns-container {
    margin-top: 0px;
  }
  #mobile-relative.frontpage.bighero {
    margin-top: 0px;
    background-color: white;
  }
  #mobile-relative.frontpage.bighero button.uw-mobile-menu-toggle {
    right: 0px;
    top: 12px;
  }
  #mobile-relative.frontpage.bighero ul.uw-mobile-menu {
    margin: 0;
  }
  #mobile-relative.frontpage.bighero #spacer {
    height: 58px;
    margin-bottom: 2px;
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  #mobile-relative:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .home #mobile-relative li a:hover,
  .home #mobile-relative li a:focus {
    border-bottom: 1px solid #eee;
  }
  .home #mobile-relative li:last-child a:hover,
  .home #mobile-relative li:last-child a:focus {
    border-bottom: none;
  }
  button {
    float: right;
    border: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    z-index: 1;
  }
  button.uw-search {
    text-indent: -99999px;
    padding-right: 78px;
    outline: none;
    background-color: transparent;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    width: 40px;
    height: 40px;
    padding: 0;
    margin-top: -3px;
    margin-right: 15px;
    overflow: hidden;
  }
  button.uw-search:after {
    display: none;
  }
  button.uw-search svg {
    position: absolute;
    top: 12px;
    left: 11px;
  }
  .search-open button.uw-search svg {
    top: -20px;
    left: 10px;
  }
}
a.screen-reader-shortcut {
  position: absolute;
  left: 6px;
  top: -99px;
}
a.screen-reader-shortcut:focus {
  z-index: 5;
  font-size: 14px;
  font-weight: 700;
  top: 6px;
  padding: 15px 23px 14px;
  background-color: #f1f1f1;
  color: #4b2e83;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}
label.screen-reader {
  position: absolute;
  opacity: 0;
}
.offscreen {
  position: absolute;
  font-size: 1px;
  left: -9999px;
}
#dawgdrops li.dawgdrops-item a:focus {
  text-decoration: underline;
}
#dawgdrops li.dawgdrops-item ul.dawgdrops-menu a:focus {
  text-decoration: none;
}
.uw-body a:focus,
.uw-body a:hover {
  color: #85754d;
  border-bottom: 1px solid #BDBDBD;
}
.uw-body a:focus.uw-btn,
.uw-body a:hover.uw-btn {
  border-bottom: none;
}
.uw-body a.uw-btn:focus {
  text-decoration: underline;
}
.uw-body .uw-breadcrumbs a:focus {
  border-bottom: none;
  text-decoration: underline;
}
.uw-body #main_content:focus {
  outline: none;
}
.uw-body .widget a.widget-link:focus,
.uw-body .widget a.widget-link:hover {
  border-bottom: none;
  color: #85754d;
}
.uw-body .widget a.widget-link:focus {
  text-decoration: underline;
}
.uw-body input::-webkit-input-placeholder {
  color: #7B7B7B;
}
.uw-body input:-moz-placeholder {
  color: #7B7B7B;
}
.uw-body input::-moz-placeholder {
  color: #7B7B7B;
}
.uw-body input:-ms-input-placeholder {
  color: #7B7B7B;
}
.uw-body .form-control {
  color: #303030;
}
.site-accessibility .uw-body-copy a,
.site-accessibility .uw-sidebar a {
  border-bottom: 1px solid #DFDFDF;
}
.site-accessibility .uw-body-copy a:hover,
.site-accessibility .uw-sidebar a:hover {
  border-bottom: 1px solid #85754d;
}
/**
* UW Boundless theme overrides
*/
.uw-search-bar-container form {
  overflow: hidden;
}
.uw-search-bar-container .uw-search-wrapper .block-search .form-control {
  border-radius: 0;
  z-index: 0;
}
.uw-search-bar-container .uw-search-wrapper .btn.search {
  border-radius: 0;
}
.uw-search-bar-container button.search {
  border: none;
  font-size: 0px;
  float: left;
  display: block;
  height: 54px;
  outline: 2px solid #808080;
  background: url(assets/svg/search.svg) no-repeat center center gray;
  position: relative;
  -webkit-background-size: 22px;
  -moz-background-size: 22px;
  -o-background-size: 22px;
  background-size: 22px;
  padding: 0px 60px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .uw-search-bar-container .uw-search-wrapper .search {
    position: relative;
  }
}
.front .uw-hero-image {
  height: 595px;
  padding: 60px 0 0 0;
}
.front .uw-hero-image h1 {
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 95px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
.front .uw-hero-image p {
  color: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: auto;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
}
.uw-body .uw-site-title + p {
  position: absolute;
  top: -60px;
  color: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: auto;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
}
@media only screen and (max-width: 767px) {
  .uw-body .uw-site-title {
    padding-right: 75px;
  }
  div.container.uw-body {
    padding-top: 20px;
  }
}
.front .uw-body .uw-site-title + p {
  display: none;
}
@media only screen and (max-width: 767px) {
  .uw-body .uw-site-title + p {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .front .uw-body {
    padding-top: 0px;
  }
  .front .uw-body > .row {
    background-color: #fff;
  }
  .front .uw-body .uw-site-title {
    display: none;
  }
}
.uw-sidebar .region:not(:last-child) {
  padding-bottom: 30px;
}
@media only screen and (max-width: 992px) {
  .uw-sidebar .region {
    padding-top: 30px;
  }
}
nav#mobile-relative .navbar-nav .dawgdrops-menu {
  display: none;
  position: relative;
  -webkit-box-shadow: none;
  box-shadow: none;
  top: 0;
  border-top: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-menu li {
  background-color: inherit;
}
nav#mobile-relative .navbar-nav .dawgdrops-menu li a {
  background-color: inherit;
  color: #5a5a5a;
  border-left: none;
  padding-left: 35px;
  padding-top: 10;
  padding-bottom: 10;
}
nav#mobile-relative .navbar-nav .dawgdrops-item a {
  font-weight: 400;
  text-transform: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-item a:after {
  background: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-item .dawgdrops-item-menu-link {
  display: block;
  float: right;
  z-index: 1;
  font-family: "Encode Sans Compressed", sans-serif;
  font-size: 60%;
  cursor: pointer;
  text-transform: uppercase;
  background: url(assets/svg/caret.svg) no-repeat 33px 35px;
}
nav#mobile-relative .navbar-nav .dawgdrops-item .dawgdrops-item-menu-link:before {
  display: inline-block;
  content: "";
  position: absolute;
  right: 50px;
  top: 12px;
  width: 20px;
  height: 30px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -600px 0 transparent;
}
a.more:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
span.next-page a:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
.links a:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
img.pull-right {
  margin-left: 20px;
  margin-bottom: 20px;
}
img.pull-left {
  margin-right: 20px;
  margin-bottom: 20px;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  margin-left: 0;
}
.checkbox input,
.radio input {
  opacity: 1;
}
.form-text,
.form-textarea,
.form-select,
.form-file {
  border-radius: 0;
  color: #595959;
}
.form-submit {
  border-radius: 0;
}
.webform-component {
  margin-bottom: 15px;
}
/**
 * CSE Boundless
 */
#block-block-139,
#block-block-142,
#block-block-140 {
  margin-bottom: 60px;
}
.icon-menu {
  display: table;
  table-layout: fixed;
  height: 100%;
  border-collapse: separate;
  margin: 0px 8px 0px 0px;
  margin-left: 0px;
  margin-right: 8px;
  margin-top: 0px;
  padding-left: 0px;
  width: 100%;
}
.icon-menu li {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}
.icon-menu a {
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1.2em;
  width: 100%;
  display: block;
}
#audience-menu {
  padding-top: 10px;
  padding-bottom: 15px;
  color: #5A5A5A;
  background-color: #d9d9d9;
  margin-left: 0px;
  margin-right: 0px;
}
#audience-menu a {
  color: #d9d9d9;
  height: 100%;
  width: 100%;
}
#audience-menu div.audience-menu-icon {
  transition-property: all;
  transition-duration: .3s;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 15px;
  height: 90px;
}
#audience-menu div.audience-menu-icon i {
  color: #5A5A5A;
  font-size: 2.5em;
}
#audience-menu div.audience-menu-icon p {
  font-family: "Encode Sans Compressed", sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2;
  color: #5A5A5A;
}
#audience-menu div.audience-menu-icon :hover i {
  color: #4b2e83;
  font-size: 2.7em;
  transition-property: all;
  transition-duration: .3s;
}
#audience-menu div.audience-menu-icon :hover p {
  color: #4b2e83;
  transition-property: all;
  transition-duration: .3s;
}
#audience-menu div.icon-container {
  padding-bottom: 5px;
}
@media only screen and (max-width: 765px) {
  #audience-menu {
    padding-bottom: 10px;
  }
  #audience-menu div.icon-container {
    height: auto;
    padding-bottom: 5px;
  }
  div.audience-menu-icon {
    height: 90px;
  }
  div.audience-menu-icon i {
    font-size: 1.3em;
  }
  div.audience-menu-icon p {
    line-height: 1.3;
    font-size: 12px;
  }
}
#front-page-welcome-container {
  background-color: #4b2e83;
  color: #FFF;
  padding: 20px;
  text-align: center;
}
#front-page-welcome-container h2 {
  font-size: 24px;
  text-transform: uppercase;
  margin-top: 10px;
  color: #FFF;
}
#front-page-welcome-container p,
#front-page-welcome-container a {
  font-size: 14px;
  color: #FFF;
  line-height: 1.4;
}
#front-page-welcome-container a {
  font-weight: bold;
}
#news-events {
  background-attachment: fixed;
  background-size: cover;
  padding: 0px;
}
#news-events p.bottom-more-link {
  position: absolute;
  bottom: 5px;
}
.news-headline-photo-block {
  background-color: #d9d9d9;
  color: #4b2e83;
  margin: 0;
  height: 400px;
}
.news-headline-photo-block img {
  width: 100%;
  height: 150px;
  text-align: center;
  overflow: hidden;
}
.news-headline-photo-block div.img-container {
  height: 150px;
  width: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.news-headline-photo-block h3 {
  padding: 5px 5px 5px 15px;
  font-size: 1.3em;
  font-weight: bold;
  margin: 0;
  margin-top: -35px;
  color: #FFF;
}
.news-headline-photo-block p {
  padding: 5px 15px 0px 15px;
  line-height: 1.4;
  font-size: 14px;
}
.news-headline-photo-block a {
  color: #4b2e83;
  font-weight: normal;
  font-style: normal;
}
#front-page-news-content {
  height: 220px;
  overflow: hidden;
  position: relative;
}
#front-page-news-content + .fade {
  position: relative;
  height: 40px;
  bottom: 40px;
  width: 100%;
  display: block;
  opacity: 1;
  background-image: linear-gradient(to bottom, rgba(217, 217, 217, 0), rgba(217, 217, 217, 0.9) 100%);
  background: -webkit-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
  background-image: -moz-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
  background-image: -o-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
}
.front-page-events-row {
  padding-top: 5px;
}
.front-page-events-row div {
  padding: 0px 15px 0px 15px;
  line-height: 1.4;
  font-size: 14px;
}
@media only screen and (max-width: 992px) {
  #news-events div.col-sm-6 {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 768px) {
  #news-events div.col-sm-6 {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 480px) {
  #news-events div.col-xs-12 {
    margin-bottom: 15px;
  }
}
#fast-facts-container {
  background-color: #5A5A5A;
  padding: 20px 0px;
  margin-bottom: -25px;
}
#fast-facts-container #fast-facts {
  background-color: #FFF;
  padding-top: 20px;
  padding-bottom: 20px;
}
#fast-facts-container h2 {
  text-align: center;
  margin: 0px 0px 5px 0px;
  color: #4b2e83;
  font-size: 24px;
  text-transform: uppercase;
}
#fast-facts-container div.icon-container {
  text-align: center;
  margin-top: 15px;
}
#fast-facts-container div.icon-container i {
  font-size: 5em;
  color: #4b2e83;
  margin-bottom: 8px;
}
#fast-facts-container p {
  font-family: "Encode Sans Compressed", sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2;
  color: #5A5A5A;
}
@media only screen and (max-width: 768px) {
  #fast-facts div.icon-container {
    padding-top: 18px;
    margin-top: 5px;
  }
}
/* People Listings */
div.alist {
  text-align: center;
}
div.alist a {
  color: white;
  background-color: #4b2e83;
  margin: 2px;
  padding: 3px 5px 3px 5px;
  text-decoration: none;
}
/*
 * Directories
 */
div.directory-row {
  margin-top: 15px;
}
h2.directory-people-type p {
  font-size: 29px;
  font-family: "Open Sans", sans-serif;
  color: #4b2e83;
  font-weight: 700;
}
div.directory-photo-container {
  min-width: 159px;
}
div.directory-photo-container img {
  width: 159px;
}
div.directory-name {
  font-size: 1.3em;
  font-weight: bold;
  color: #4b2e83;
}
div.directory-working-title {
  font-size: 1.1em;
  font-weight: bold;
}
.personal-social-icon {
  color: #4b2e83;
  background-color: #fff;
}
.view-display-id-page_2 h2 p {
  font-size: 29px;
  font-weight: 700;
  color: #4b2e83;
}
#block-views-person-contact-block {
  margin-bottom: 15px;
}
/**
 * Research Project Listings
 */
div.view-research-projects h2 {
  margin: 0px 0px 10px 0px;
}
div.research-project-thumbnail {
  float: left;
  margin-left: 20px;
}
div.research-project-thumbnail img {
  margin-right: 10px;
  margin-bottom: 10px;
  width: 100px;
  height: auto;
}
div.research-project-blurb {
  margin: 0px 10px 20px 40px;
}
div.node-research-project div.field-name-field-research-project-image {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
div.node-research-project img {
  width: 200px;
}
div.node-research-project div.associated-content {
  clear: both;
}
div.grouped-project-container {
  margin: 0px 0px 20px 20px;
}
div.grouped-project-container h2 {
  font-size: 12px;
}
div.grouped-publication-container,
div.pub-group-header {
  margin: 0px 0px 20px 20px;
}
div.publication-group h2 {
  font-size: 18px;
}
/** body.page-research-robotics-projects-by-topic */
div.robotics-grouped-tile-view div.grouped-project-container {
  margin-left: 0px;
}
div.robotics-grouped-tile-view div.research-project-thumbnail {
  float: none;
  clear: both;
  position: absolute;
  top: 5px;
  width: 158px;
  margin-left: 0px;
}
div.robotics-grouped-tile-view div.research-project-thumbnail img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 5px;
  left: 30px;
  clip: rect(0px, 100px, 100px, 0px);
}
div.robotics-grouped-tile-view div.grouped-project-container h2 {
  position: relative;
  top: 105px;
  text-align: center;
}
div.robotics-grouped-tile-view div.grouped-project-container div.views-row {
  width: 158px;
  height: 165px;
  float: left;
  border: thin solid #AAA;
  padding: 5px 5px 5px 5px;
  clear: none;
  position: relative;
  margin: 0px 2px 2px 0px;
}
div.robotics-grouped-tile-view div.research-project-blurb {
  display: none;
}
/**
 * Course listings
 */
.course-listing-title {
  font-weight: bold;
  text-decoration: none;
}
div.view-course-listing div.views-row {
  margin: 0px 20px 10px 25px;
}
/*
 * Tabbed menus at the top of content regions
 */
div.region-content section.block-menu ul.menu {
  margin-bottom: 20px;
  border-bottom: 1px solid #d9d9d9;
  list-style: none;
}
div.region-content section.block-menu ul.menu > li {
  position: relative;
  display: block;
  float: left;
  margin-bottom: -1px;
  margin-left: 0px;
  margin-right: 5px;
  padding: 0px;
  background-color: white;
  font-size: 24px;
}
div.region-content section.block-menu ul.menu > li a,
div.region-content section.block-menu ul.menu > li span.dropdown-toggle {
  color: #4b2e83;
  border: 1px solid #d9d9d9;
  border-bottom-color: #FFF;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 10px 15px;
  display: block;
}
div.region-content section.block-menu ul.menu > li.active a {
  background-color: #4b2e83;
  color: white;
}
.dawgdrops-item.dawgdrops-item a:hover {
  color: #b7a57a;
}
.last-edited {
  font-style: italic;
  font-size: smaller;
  float: right;
}
/*
 * For tablet and smaller, offer hamburger menus with full-width
 * menu items.
 *
 * Adapted from https://codepen.io/anon/pen/xLaEgz
 */
#menu-toggle input {
  display: none;
}
@media only screen and (max-width: 768px) {
  #menu-toggle {
    height: 40px;
  }
  #menu-toggle ul.menu {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    border: none;
    width: 100%;
    margin-top: -30px;
  }
  #menu-toggle ul.menu ul li {
    padding: 5px 20px 5px 5px;
  }
  #menu-toggle ul.menu span.caret {
    display: none;
  }
  #menu-toggle ul.menu li {
    width: 100%;
    background-color: #4b2e83;
  }
  #menu-toggle ul.menu li a {
    color: #FFF;
    font-size: 14px;
    padding: 5px;
    border-radius: 0;
  }
  #menu-toggle span {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    top: -30px;
    left: 5px;
    background-color: #4b2e83;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 4px 0px;
  }
  #menu-toggle span:first-child {
    transform-origin: 0% 0%;
  }
  #menu-toggle span:nth-last-child(2) {
    transform-origin: 0% 100%;
  }
  #menu-toggle input {
    display: block;
    width: 42px;
    height: 32px;
    opacity: 0;
    z-index: 2;
  }
  #menu-toggle input:checked ~ ul.menu {
    max-height: 1000px;
    transition: max-height 0.25s ease-in;
  }
  #menu-toggle input:checked ~ span {
    transform: rotate(45deg) translate(-2px, -1px);
  }
  #menu-toggle input:checked ~ span:nth-last-child(3) {
    transform: rotate(0deg) scale(0.1, 0.1);
  }
  #menu-toggle input:checked ~ span:nth-last-child(2) {
    transform: rotate(-45deg) translate(0, -1px);
  }
}
/**
 * Views
 */
a.internal-edit-link {
  color: red !important;
  font-size: smaller;
}
.callout {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.callout > h2 {
  font-size: 24px;
}
.callout aside {
  font-size: 14px;
}
.callout aside h2 {
  font-size: 20px;
}
.callout .more-link {
  text-align: right;
  font-style: italic;
}
.callout blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
table.gsc-search-box {
  margin-top: 0px;
}
table.gsc-search-box tbody {
  border: 0px;
}
td.gsc-clear-button {
  visibility: hidden;
  width: 0px;
}
td.gsc-input {
  padding-right: 0px !important;
}
td.gsc-input input {
  background-image: none !important;
  background-color: $white !important;
}
td.gsc-input input ::-webkit-input-placeholder,
td.gsc-input input ::-moz-placeholder,
td.gsc-input input :-ms-input-placeholder,
td.gsc-input input :-moz-placeholder {
  color: $white;
}
input.gsc-input {
  border-color: #AAA !important;
}
input.gsc-search-button {
  background: url(/images/search.svg) no-repeat center;
  text-indent: -9999px;
  margin-left: 15px !important;
  padding: 0 !important;
  background-color: transparent !important;
  border: 0 !important;
  height: 34px !important;
  width: 34px !important;
}
/* MSB */
div.msb {
  margin: 3px;
  text-align: center;
  float: left;
  height: 270px;
  margin-bottom: 30px;
}
div.msb img {
  width: 200px;
  height: 259px;
}
#sideshow {
  display: none;
}
body.front #slideshow {
  display: block;
  height: 600px;
}
.slideshow-row {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 600px;
  margin: auto;
  color: #FFF;
}
.slideshow-row h2 {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.1;
}
.slideshow-row p {
  color: #FFF;
  font-size: 24px;
  line-height: 1.3;
}
.slideshow-row a {
  color: #FFF;
}
.slideshow-row .more {
  color: #FFF;
  font-style: italic;
  text-decoration: underline;
}
.views-slideshow-cycle-main-frame-row,
.views-slideshow-cycle-main-frame {
  width: 100% !important;
}
#vscc_controls_front_page_slideshow-block_2_1 {
  position: relative;
  z-index: 500;
  top: -40px;
  width: 100px;
  margin: auto;
}
#vscc_controls_front_page_slideshow-block_2_1 img {
  display: inline;
}
@media only screen and (max-width: 1200px) {
  .slideshow-row {
    background-position: right;
  }
}
@media only screen and (max-width: 768px) {
  body.front #slideshow {
    height: 350px;
  }
  .slideshow-row {
    height: 350px;
    color: #FFF;
    margin-bottom: 250px;
  }
  .slideshow-row h2 {
    font-size: 24px;
  }
  .slideshow-row div.row {
    position: absolute;
    top: 350px;
    background-color: #5A5A5A;
    height: 250px;
  }
  .slideshow-row p {
    color: #FFF;
    font-size: 14px;
    line-height: 1.3;
  }
  #vscc_controls_front_page_slideshow-block_2_1 {
    display: none;
  }
}
footer.footer {
  color: #FFF;
  background-color: #4b2e83;
  padding: 10px 10px 30px 10px !important;
  margin-top: 25px;
  position: relative;
  width: 100%;
  max-width: inherit !important;
  border-top: 1px solid #E5E5E5;
}
footer.footer h2 {
  font-size: 24px;
  text-transform: uppercase;
}
footer.footer p,
footer.footer a {
  color: #FFF;
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  body.front footer.footer {
    margin-top: 250px;
  }
}
footer.footer .white-footer-w {
  height: 60px;
  margin: -10px;
}
footer.footer i {
  color: #FFF;
  margin-right: 10px;
  font-size: 4em;
}
.connect-with-us i {
  margin-bottom: 10px;
}
#legalese {
  margin-top: 15px;
}
#block-shib-auth-login-box {
  margin-top: 15px;
  padding-left: 15px;
}
/* Make bootstrappy buttons on the lab home page */
.btn-bs > :first-child {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 40px;
  line-height: 40px;
  font-size: 1.6em;
  text-align: center;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.btn-twitter {
  color: #fff;
  background-color: #55acee;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:hover {
  color: #fff;
  background-color: #2795e9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-gitlab {
  color: #fff;
  background-color: #4B515D;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-gitlab:hover {
  color: #fff;
  background-color: #263238;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-myportfolio {
  color: #fff;
  background-color: #aa66cc;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-myportfolio:hover {
  color: #fff;
  background-color: #9933cc;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux-vm {
  color: #fff;
  background-color: #2BBBAD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux-vm:hover {
  color: #fff;
  background-color: #00e676;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-vdi {
  color: #fff;
  background-color: #4285F4;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-vdi:hover {
  color: #fff;
  background-color: #304ffe;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-change-password {
  color: #fff;
  background-color: #967ADC;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-change-password:hover {
  color: #fff;
  background-color: #AC92EC;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-wifi {
  color: #fff;
  background-color: #3BAFDA;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-wifi:hover {
  color: #fff;
  background-color: #4FC1E9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-email {
  color: #fff;
  background-color: #37BC9B;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-email:hover {
  color: #fff;
  background-color: #48CFAD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-print {
  color: #fff;
  background-color: #F6BB42;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-print:hover {
  color: #fff;
  background-color: #FFCE54;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-request-account {
  color: #fff;
  background-color: #AAB2BD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-request-account:hover {
  color: #fff;
  background-color: #CCD1D9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-support-request {
  color: #fff;
  background-color: #4D505B;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-support-request:hover {
  color: #fff;
  background-color: #30302F;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-macintosh {
  color: #fff;
  background-color: #EC3F8C;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-macintosh:hover {
  color: #fff;
  background-color: #f50057;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux {
  color: #fff;
  background-color: #1FD26A;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux:hover {
  color: #fff;
  background-color: #00c853;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-windows {
  color: #fff;
  background-color: #39B1C6;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-windows:hover {
  color: #fff;
  background-color: #2962ff;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-report-emergency {
  color: #FFF;
  background-color: #F00;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-report-emergency:hover {
  color: #fff;
  background-color: #C00;
  border-color: rgba(0, 0, 0, 0.2);
}
.fa-twitter:before {
  content: "\f099";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-myportfolio:before {
  content: "\f07c";
}
.fa-vdi:before {
  content: "\f17a";
}
.fa-change-password:before {
  content: "\f084";
}
.fa-print:before {
  content: "\f02f";
}
.fa-request-account:before {
  content: "\f007";
}
.fa-linux-vm:before {
  content: "\f063";
}
.fa-support-request:before {
  content: "\f145";
}
.fa-macintosh:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-email:before {
  content: "\f0e0";
}
.btn-bs {
  text-decoration: none;
  display: block;
  width: 70%;
  padding: 6px 12px 6px 44px;
  margin-bottom: 5px;
  margin-left: 15px;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  position: relative;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#block-custom-search-blocks-4 .form-item-custom-search-blocks-form-4 {
  padding-right: 50px;
}
#block-custom-search-blocks-4 div.form-actions {
  width: 35px;
  float: right;
  position: relative;
  top: -52px;
}
#block-custom-search-blocks-4 button.form-submit {
  background: url(/images/search_icon.png) no-repeat center top;
  text-indent: -9999px;
  padding: 0 !important;
  background-color: #FFF !important;
  border: 0 !important;
  height: 34px !important;
  width: 34px !important;
}
.cse-callout {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  width: 25%;
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}
.cse-callout blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width: 480px) {
  .cse-callout {
    width: 100%;
    margin-left: 0px;
  }
}
div.public-directory-item {
  margin-bottom: 20px;
}
div.public-directory-name,
div.public-directory-name a {
  text-decoration: none;
  color: #4b2e83;
  font-size: 24px;
  font-weight: bold;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25vcm1hbGl6ZS5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcHJpbnQubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2dseXBoaWNvbnMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3NjYWZmb2xkaW5nLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbWl4aW5zLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UudmFyaWFibGVzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy90aHVtYm5haWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9jYXJvdXNlbC5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3ZlbmRvci1wcmVmaXhlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdHlwZS5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RleHQtZW1waGFzaXMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnQubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2NvZGUubGVzcyIsIi4uL2xlc3MvdXcvZmxhdC92YXJpYWJsZXMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2dyaWQubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9jbGVhcmZpeC5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQtZnJhbWV3b3JrLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy90YWJsZXMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy90YWJsZS1yb3cubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2Zvcm1zLmxlc3MiLCIuLi9sZXNzL292ZXJyaWRlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2Zvcm1zLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9idXR0b25zLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvYnV0dG9ucy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvYnV0dG9uLWdyb3Vwcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvY29tcG9uZW50LWFuaW1hdGlvbnMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2Ryb3Bkb3ducy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL25hdi1kaXZpZGVyLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9pbnB1dC1ncm91cHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25hdnMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25hdmJhci5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnbi5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdXRpbGl0aWVzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9icmVhZGNydW1icy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcGFnaW5hdGlvbi5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3BhZ2luYXRpb24ubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3BhZ2VyLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9sYWJlbHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9sYWJlbHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2JhZGdlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvanVtYm90cm9uLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9hbGVydHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9hbGVydHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3Byb2dyZXNzLWJhcnMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmFkaWVudHMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9wcm9ncmVzcy1iYXIubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21lZGlhLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9saXN0LWdyb3VwLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvbGlzdC1ncm91cC5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcGFuZWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcGFuZWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLWVtYmVkLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy93ZWxscy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvY2xvc2UubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21vZGFscy5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdG9vbHRpcC5sZXNzIiwiLi4vbGVzcy8vd3d3L2RydXBhbC9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcG9wb3ZlcnMubGVzcyIsIi4uL2xlc3MvL3d3dy9kcnVwYWwvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MiLCIuLi9sZXNzLy93d3cvZHJ1cGFsL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5Lmxlc3MiLCIuLi9sZXNzL3V3L3V3LmZvbnRzLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbW9kdWxlcy9nbHlwaGljb25zLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbW9kdWxlcy9zY2FmZm9sZGluZy5sZXNzIiwiLi4vbGVzcy91dy9mbGF0L21vZHVsZXMvdHlwZS5sZXNzIiwiLi4vbGVzcy91dy91dy5xdWlja2xpbmtzLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UuZHJvcGRvd25zLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UudGhpbnN0cmlwLmxlc3MiLCIuLi9sZXNzL3V3L3V3Lmhlcm8ubGVzcyIsIi4uL2xlc3MvdXcvdXcuYnJlYWRjcnVtYnMubGVzcyIsIi4uL2xlc3MvY3NlL2NzZS5ib2R5LWNvbnRlbnQubGVzcyIsIi4uL2xlc3MvY3NlL2NzZS5zZWFyY2gubGVzcyIsIi4uL2xlc3MvdXcvdXcuc2lkZWJhci5sZXNzIiwiLi4vbGVzcy9jc2UvY3NlLm1vYmlsZS1tZW51Lmxlc3MiLCIuLi9sZXNzL3V3L3V3LmFjY2Vzc2liaWxpdHkubGVzcyIsIi4uL2xlc3MvaGVhZGVyLmxlc3MiLCIuLi9sZXNzL2NvbnRlbnQubGVzcyIsIi4uL2xlc3MvbW9kdWxlcy93ZWJmb3JtLmxlc3MiLCIuLi9sZXNzL2NzZS5sZXNzIiwiLi4vbGVzcy9jc2UvZnJvbnRfcGFnZV9zbGlkZXNob3cubGVzcyIsIi4uL2xlc3MvY3NlL2Zvb3Rlci5sZXNzIiwiLi4vbGVzcy9jc2UvbGFiLWhvbWUubGVzcyIsIi4uL2xlc3MvY3NlL2NhbGxvdXQubGVzcyIsIi4uL2xlc3MvY3NlL3B1YmxpY19kaXJlY3Rvcmllcy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQTtFQUNFLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSw4QkFBQTs7QUFPRjtFQUNFLFNBQUE7O0FBYUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRSxjQUFBOztBQVFGO0FBQ0E7QUFDQTtBQUNBO0VBQ0UscUJBQUE7RUFDQSx3QkFBQTs7QUFRRixLQUFLLElBQUk7RUFDUCxhQUFBO0VBQ0EsU0FBQTs7QUFRRjtBQUNBO0VBQ0UsYUFBQTs7QUFVRjtFQUNFLDZCQUFBOztBQU9GLENBQUM7QUFDRCxDQUFDO0VBQ0MsVUFBQTs7QUFVRixJQUFJO0VBQ0YseUJBQUE7O0FBT0Y7QUFDQTtFQUNFLGlCQUFBOztBQU9GO0VBQ0Usa0JBQUE7O0FBUUY7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7O0FBT0Y7RUFDRSxnQkFBQTtFQUNBLFdBQUE7O0FBT0Y7RUFDRSxjQUFBOztBQU9GO0FBQ0E7RUFDRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7O0FBR0Y7RUFDRSxXQUFBOztBQUdGO0VBQ0UsZUFBQTs7QUFVRjtFQUNFLFNBQUE7O0FBT0YsR0FBRyxJQUFJO0VBQ0wsZ0JBQUE7O0FBVUY7RUFDRSxnQkFBQTs7QUFPRjtFQUNFLDRCQUFBO0VBQ0EsdUJBQUE7RUFDQSxTQUFBOztBQU9GO0VBQ0UsY0FBQTs7QUFPRjtBQUNBO0FBQ0E7QUFDQTtFQUNFLGlDQUFBO0VBQ0EsY0FBQTs7QUFrQkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLGNBQUE7RUFDQSxhQUFBO0VBQ0EsU0FBQTs7QUFPRjtFQUNFLGlCQUFBOztBQVVGO0FBQ0E7RUFDRSxvQkFBQTs7QUFXRjtBQUNBLElBQUssTUFBSztBQUNWLEtBQUs7QUFDTCxLQUFLO0VBQ0gsMEJBQUE7RUFDQSxlQUFBOztBQU9GLE1BQU07QUFDTixJQUFLLE1BQUs7RUFDUixlQUFBOztBQU9GLE1BQU07QUFDTixLQUFLO0VBQ0gsU0FBQTtFQUNBLFVBQUE7O0FBUUY7RUFDRSxtQkFBQTs7QUFXRixLQUFLO0FBQ0wsS0FBSztFQUNILHNCQUFBO0VBQ0EsVUFBQTs7QUFTRixLQUFLLGVBQWU7QUFDcEIsS0FBSyxlQUFlO0VBQ2xCLFlBQUE7O0FBU0YsS0FBSztFQUNILDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSwrQkFBQTtFQUNBLHVCQUFBOztBQVNGLEtBQUssZUFBZTtBQUNwQixLQUFLLGVBQWU7RUFDbEIsd0JBQUE7O0FBT0Y7RUFDRSx5QkFBQTtFQUNBLGFBQUE7RUFDQSw4QkFBQTs7QUFRRjtFQUNFLFNBQUE7RUFDQSxVQUFBOztBQU9GO0VBQ0UsY0FBQTs7QUFRRjtFQUNFLGlCQUFBOztBQVVGO0VBQ0UseUJBQUE7RUFDQSxpQkFBQTs7QUFHRjtBQUNBO0VBQ0UsVUFBQTs7O0FDbGFGO0VBQ0k7RUFDQSxDQUFDO0VBQ0QsQ0FBQztJQUNHLGtDQUFBO0lBQ0Esc0JBQUE7SUFDQSwyQkFBQTtJQUNBLDRCQUFBOztFQUdKO0VBQ0EsQ0FBQztJQUNHLDBCQUFBOztFQUdKLENBQUMsTUFBTTtJQUNILFNBQVMsS0FBSyxXQUFXLEdBQXpCOztFQUdKLElBQUksT0FBTztJQUNQLFNBQVMsS0FBSyxZQUFZLEdBQTFCOztFQUtKLENBQUMsV0FBVztFQUNaLENBQUMscUJBQXFCO0lBQ2xCLFNBQVMsRUFBVDs7RUFHSjtFQUNBO0lBQ0ksc0JBQUE7SUFDQSx3QkFBQTs7RUFHSjtJQUNJLDJCQUFBOztFQUdKO0VBQ0E7SUFDSSx3QkFBQTs7RUFHSjtJQUNJLDBCQUFBOztFQUdKO0VBQ0E7RUFDQTtJQUNJLFVBQUE7SUFDQSxTQUFBOztFQUdKO0VBQ0E7SUFDSSx1QkFBQTs7RUFPSjtJQUNJLDJCQUFBOztFQUlKO0lBQ0ksYUFBQTs7RUFFSixJQUVJO0VBREosT0FBUSxPQUNKO0lBQ0ksaUNBQUE7O0VBR1I7SUFDSSxzQkFBQTs7RUFHSjtJQUNJLG9DQUFBOztFQURKLE1BR0k7RUFISixNQUlJO0lBQ0ksaUNBQUE7O0VBR1IsZUFDSTtFQURKLGVBRUk7SUFDSSxpQ0FBQTs7O0FDM0ZaO0VBQ0UsYUFBYSxzQkFBYjtFQUNBLFNBQVMseUNBQVQ7RUFDQSxTQUFTLGlEQUFpRCxPQUFPLDBCQUN4RCwyQ0FBMkMsT0FBTyxhQUNsRCwwQ0FBMEMsT0FBTyxpQkFDakQsZ0VBQThELE9BQU8sTUFIOUU7O0FBT0Y7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQWEsc0JBQWI7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7O0FBSWtDLG1CQUFDO0VBQVUsU0FBUyxLQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLEtBQVQ7O0FBRVgsZUFBQztBQUFELGNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsYUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxrQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxhQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxnQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxzQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxrQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxjQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxnQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxzQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCx1QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCx5QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxrQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCx3QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCx3QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDZCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDBCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxjQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsK0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7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QkFxQkUsWUo1ZUM7QUl1ZEgsZ0JBcUJFLFlKM2VDO0FTb0JILFlUckJHO0FTcUJILFlUcEJHO0FTZ0lILG1CQVdFLGFUNUlDO0FTaUlILG1CQVdFLGFUM0lDO0FjTkgsSWRLRztBY0xILElkTUc7QWVKSCxPZkdHO0FlSEgsT2ZJRztBZWdCSCxjZmpCRztBZWlCSCxjZmhCRztBZW1DSCxnQmZwQ0c7QWVvQ0gsZ0JmbkNHO0FxQlRILE1yQlFHO0FxQlJILE1yQlNHO0FrQ0NILFdsQ0ZHO0FrQ0VILFdsQ0RHO0F1Q3NGSCxhdkN2Rkc7QXVDdUZILGF2Q3RGRztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsU0FBQztBTjhMSCxjQUNFLEdNL0xDO0FEVEgsVUNTRztBRFdILGdCQ1hHO0FEb0JILElDcEJHO0FJa2RILGdCQXFCRSxZSnZlQztBU2dCSCxZVGhCRztBUzRISCxtQkFXRSxhVHZJQztBY1ZILElkVUc7QWVSSCxPZlFHO0FlWUgsY2ZaRztBZStCSCxnQmYvQkc7QXFCYkgsTXJCYUc7QWtDSEgsV2xDR0c7QXVDa0ZILGF2Q2xGRztFQUNDLFdBQUE7O0FYREYsU0FBQztBQUNELFNBQUM7QUs2TEgsY0FDRSxHTC9MQztBSzhMSCxjQUNFLEdMOUxDO0FVVkgsVVZTRztBVVRILFVWVUc7QVVVSCxnQlZYRztBVVdILGdCVlZHO0FVbUJILElWcEJHO0FVb0JILElWbkJHO0FlaWRILGdCQXFCRSxZZnZlQztBZWtkSCxnQkFxQkUsWWZ0ZUM7QW9CZUgsWXBCaEJHO0FvQmdCSCxZcEJmRztBb0IySEgsbUJBV0UsYXBCdklDO0FvQjRISCxtQkFXRSxhcEJ0SUM7QXlCWEgsSXpCVUc7QXlCVkgsSXpCV0c7QTBCVEgsTzFCUUc7QTBCUkgsTzFCU0c7QTBCV0gsYzFCWkc7QTBCWUgsYzFCWEc7QTBCOEJILGdCMUIvQkc7QTBCK0JILGdCMUI5Qkc7QWdDZEgsTWhDYUc7QWdDYkgsTWhDY0c7QTZDSkgsVzdDR0c7QTZDSEgsVzdDSUc7QWtEaUZILGFsRGxGRztBa0RrRkgsYWxEakZHO0VBQ0MsU0FBUyxHQUFU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RSxrQkFBQTtFQUNBLGlDQUFBOztBNEJURix3QkFBMkM7RUFNN0M7SUFMSSxXQUFBO0lBQ0EsZ0JBQUE7OztBQ1RKLEdBQUc7RUFDRCxtQkFBQTs7QUFHRixHQUFHO0FBQ0gsR0FBRyxzQkFBdUI7RUFDeEIscUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuLy8gICAgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4vLyAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG4gICAgLy9cbiAgICAvLyBDaHJvbWUgKE9TWCkgZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjQ1XG4gICAgLy8gT25jZSBmaXhlZCwgd2UgY2FuIGp1c3Qgc3RyYWlnaHQgdXAgcmVtb3ZlIHRoaXMuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idG4sXG4gICAgLmRyb3B1cCA+IC5idG4ge1xuICAgICAgICA+IC5jYXJldCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG59XG4iLCIvL1xuLy8gR2x5cGhpY29ucyBmb3IgQm9vdHN0cmFwXG4vL1xuLy8gU2luY2UgaWNvbnMgYXJlIGZvbnRzLCB0aGV5IGNhbiBiZSBwbGFjZWQgYW55d2hlcmUgdGV4dCBpcyBwbGFjZWQgYW5kIGFyZVxuLy8gdGh1cyBhdXRvbWF0aWNhbGx5IHNpemVkIHRvIG1hdGNoIHRoZSBzdXJyb3VuZGluZyBjaGlsZC4gVG8gdXNlLCBjcmVhdGUgYW5cbi8vIGlubGluZSBlbGVtZW50IHdpdGggdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXMsIGxpa2Ugc286XG4vL1xuLy8gPGEgaHJlZj1cIiNcIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tc3RhclwiPjwvc3Bhbj4gU3RhcjwvYT5cblxuLy8gSW1wb3J0IHRoZSBmb250c1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBzcmM6IHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3QnKTtcbiAgc3JjOiB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LnN2ZyNAe2ljb24tZm9udC1zdmctaWR9JykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLy8gQ2F0Y2hhbGwgYmFzZWNsYXNzXG4uZ2x5cGhpY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDJhXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMmJcIjsgfSB9XG4uZ2x5cGhpY29uLWV1cm8sXG4uZ2x5cGhpY29uLWV1ciAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGFjXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjIxMlwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2MDFcIjsgfSB9XG4uZ2x5cGhpY29uLWVudmVsb3BlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzA5XCI7IH0gfVxuLmdseXBoaWNvbi1wZW5jaWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwZlwiOyB9IH1cbi5nbHlwaGljb24tZ2xhc3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDFcIjsgfSB9XG4uZ2x5cGhpY29uLW11c2ljICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAyXCI7IH0gfVxuLmdseXBoaWNvbi1zZWFyY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwM1wiOyB9IH1cbi5nbHlwaGljb24taGVhcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwN1wiOyB9IH1cbi5nbHlwaGljb24tdXNlciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbG0gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA5XCI7IH0gfVxuLmdseXBoaWNvbi10aC1sYXJnZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMFwiOyB9IH1cbi5nbHlwaGljb24tdGggICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxpc3QgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH0gfVxuLmdseXBoaWNvbi1vayAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxM1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20taW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE1XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLW91dCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNlwiOyB9IH1cbi5nbHlwaGljb24tb2ZmICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTdcIjsgfSB9XG4uZ2x5cGhpY29uLXNpZ25hbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2cgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOVwiOyB9IH1cbi5nbHlwaGljb24tdHJhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhvbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH0gfVxuLmdseXBoaWNvbi1maWxlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMlwiOyB9IH1cbi5nbHlwaGljb24tdGltZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjNcIjsgfSB9XG4uZ2x5cGhpY29uLXJvYWQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI0XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZC1hbHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNVwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjZcIjsgfSB9XG4uZ2x5cGhpY29uLXVwbG9hZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmJveCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOFwiOyB9IH1cbi5nbHlwaGljb24tcGxheS1jaXJjbGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlcGVhdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMwXCI7IH0gfVxuLmdseXBoaWNvbi1yZWZyZXNoICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdC1hbHQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvY2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMzXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFnICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNFwiOyB9IH1cbi5nbHlwaGljb24taGVhZHBob25lcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1vZmYgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM2XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzN1wiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzhcIjsgfSB9XG4uZ2x5cGhpY29uLXFyY29kZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM5XCI7IH0gfVxuLmdseXBoaWNvbi1iYXJjb2RlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MFwiOyB9IH1cbi5nbHlwaGljb24tdGFnICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZ3MgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQyXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0M1wiOyB9IH1cbi5nbHlwaGljb24tYm9va21hcmsgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXByaW50ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ1XCI7IH0gfVxuLmdseXBoaWNvbi1jYW1lcmEgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NlwiOyB9IH1cbi5nbHlwaGljb24tZm9udCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDdcIjsgfSB9XG4uZ2x5cGhpY29uLWJvbGQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ4XCI7IH0gfVxuLmdseXBoaWNvbi1pdGFsaWMgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1oZWlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtd2lkdGggICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUxXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MlwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tY2VudGVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU0XCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTZcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtcmlnaHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OFwiOyB9IH1cbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW8gICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTlcIjsgfSB9XG4uZ2x5cGhpY29uLXBpY3R1cmUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH0gfVxuLmdseXBoaWNvbi1tYXAtbWFya2VyICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MlwiOyB9IH1cbi5nbHlwaGljb24tYWRqdXN0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjNcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH0gfVxuLmdseXBoaWNvbi1lZGl0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NVwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjZcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZWNrICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH0gfVxuLmdseXBoaWNvbi1tb3ZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OFwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcwXCI7IH0gfVxuLmdseXBoaWNvbi1iYWNrd2FyZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MVwiOyB9IH1cbi5nbHlwaGljb24tcGxheSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhdXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDczXCI7IH0gfVxuLmdseXBoaWNvbi1zdG9wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NFwiOyB9IH1cbi5nbHlwaGljb24tZm9yd2FyZCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3N1wiOyB9IH1cbi5nbHlwaGljb24tZWplY3QgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MFwiOyB9IH1cbi5nbHlwaGljb24tcGx1cy1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODFcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzLXNpZ24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtc2lnbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4M1wiOyB9IH1cbi5nbHlwaGljb24tb2stc2lnbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODRcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH0gfVxuLmdseXBoaWNvbi1pbmZvLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NlwiOyB9IH1cbi5nbHlwaGljb24tc2NyZWVuc2hvdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODdcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH0gfVxuLmdseXBoaWNvbi1vay1jaXJjbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OVwiOyB9IH1cbi5nbHlwaGljb24tYmFuLWNpcmNsZSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTBcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkxXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MlwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWRvd24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk0XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGwgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTZcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk3XCI7IH0gfVxuLmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMVwiOyB9IH1cbi5nbHlwaGljb24tZ2lmdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDJcIjsgfSB9XG4uZ2x5cGhpY29uLWxlYWYgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAzXCI7IH0gfVxuLmdseXBoaWNvbi1maXJlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNFwiOyB9IH1cbi5nbHlwaGljb24tZXllLW9wZW4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDVcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1jbG9zZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA2XCI7IH0gfVxuLmdseXBoaWNvbi13YXJuaW5nLXNpZ24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwN1wiOyB9IH1cbi5nbHlwaGljb24tcGxhbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbGVuZGFyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA5XCI7IH0gfVxuLmdseXBoaWNvbi1yYW5kb20gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMFwiOyB9IH1cbi5nbHlwaGljb24tY29tbWVudCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTFcIjsgfSB9XG4uZ2x5cGhpY29uLW1hZ25ldCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEyXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXVwICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExM1wiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1kb3duICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJldHdlZXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE1XCI7IH0gfVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNlwiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTdcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE4XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhkZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIxXCI7IH0gfVxuLmdseXBoaWNvbi1idWxsaG9ybiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMlwiOyB9IH1cbi5nbHlwaGljb24tYmVsbCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWNlcnRpZmljYXRlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI0XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNVwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI3XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOFwiOyB9IH1cbi5nbHlwaGljb24taGFuZC11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjlcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMwXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMVwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMzXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93biAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNFwiOyB9IH1cbi5nbHlwaGljb24tZ2xvYmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXdyZW5jaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM2XCI7IH0gfVxuLmdseXBoaWNvbi10YXNrcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzN1wiOyB9IH1cbi5nbHlwaGljb24tZmlsdGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWJyaWVmY2FzZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM5XCI7IH0gfVxuLmdseXBoaWNvbi1mdWxsc2NyZWVuICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MFwiOyB9IH1cbi5nbHlwaGljb24tZGFzaGJvYXJkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXBhcGVyY2xpcCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQyXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydC1lbXB0eSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0M1wiOyB9IH1cbi5nbHlwaGljb24tbGluayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ1XCI7IH0gfVxuLmdseXBoaWNvbi1wdXNocGluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NlwiOyB9IH1cbi5nbHlwaGljb24tdXNkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWdicCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0ICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1M1wiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcyAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU1XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0IHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NlwiOyB9IH1cbi5nbHlwaGljb24tdW5jaGVja2VkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cGFuZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OVwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtdXAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjBcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1pbiAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYxXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MlwiOyB9IH1cbi5nbHlwaGljb24tbG9nLW91dCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjNcIjsgfSB9XG4uZ2x5cGhpY29uLW5ldy13aW5kb3cgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWNvcmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjZcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY3XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OFwiOyB9IH1cbi5nbHlwaGljb24taW1wb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcwXCI7IH0gfVxuLmdseXBoaWNvbi1zZW5kICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LWRpc2sgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzJcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTczXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NFwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc2XCI7IH0gfVxuLmdseXBoaWNvbi1jcmVkaXQtY2FyZCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3N1wiOyB9IH1cbi5nbHlwaGljb24tdHJhbnNmZXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWN1dGxlcnkgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc5XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MFwiOyB9IH1cbi5nbHlwaGljb24tY29tcHJlc3NlZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODFcIjsgfSB9XG4uZ2x5cGhpY29uLWVhcnBob25lICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgyXCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4M1wiOyB9IH1cbi5nbHlwaGljb24tdG93ZXIgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODRcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXRzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg1XCI7IH0gfVxuLmdseXBoaWNvbi1zZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NlwiOyB9IH1cbi5nbHlwaGljb24taGQtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODdcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnRpdGxlcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg4XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW8gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtZG9sYnkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTUtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC02LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MlwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNy0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyayAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NVwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk4XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWNvbmlmZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OVwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXMgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDBcIjsgfSB9XG4iLCIvL1xuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLlxuLy8gRm9yIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nXG4qIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IEBsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICAudGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgLmltZy1yZXNwb25zaXZlKCk7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiBAdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIC5pbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXJmaXhcbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2Via2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4uc2l6ZShAd2lkdGg7IEBoZWlnaHQpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZTsgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7ICAgLy8gRmlyZWZveCAxOStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxuICAmLnBsYWNlaG9sZGVyICAgICAgICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gRmFsbGJhY2tcbn1cblxuLnBsYWNlaG9sZGVyLWhlaWdodChAaGVpZ2h0KSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IEBoZWlnaHQ7XG4gIH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IEBoZWlnaHQ7XG4gIH1cbiAgJi5wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IEBoZWlnaHQ7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi50ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IH5cIjAvMFwiIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJvcmRlci1yYWRpdXMgKEByYWRpdXM6IDVweCkge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogICAgQHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogICAgICAgICBAcmFkaXVzO1xuXG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiAgICBwYWRkaW5nO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY2xpcDogICAgICAgICBwYWRkaW5nLWJveDtcbn1cblxuLm1hc2soQGFyZ3VtZW50cykge1xuICAtd2Via2l0LW1hc2s6IEBhcmd1bWVudHM7XG4gICAgICAgICAgbWFzazogQGFyZ3VtZW50cztcbn1cblxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWJvdHRvbS1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4uc2NhbGUoQHJhdGlvOyBAcmF0aW8teS4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvLCBAcmF0aW8teSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8sIEByYXRpby15KTsgLy8gSUU5IG9ubHlcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbywgQHJhdGlvLXkpO1xufVxuLnRyYW5zbGF0ZShAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cblxuLnJvdGF0ZVgoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xufVxuLnJvdGF0ZVkoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xufVxuLnBlcnNwZWN0aXZlKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xufVxuLnBlcnNwZWN0aXZlLW9yaWdpbihAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbn1cbi50cmFuc2Zvcm0tb3JpZ2luKEBvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjsgLy8gSUU5IG9ubHlcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xufVxuXG4vLyBBbmltYXRpb25zXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xufVxuLmFuaW1hdGlvbi1uYW1lKEBuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IEBuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbn1cbi5hbmltYXRpb24tZHVyYXRpb24oQGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG59XG4uYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xufVxuLmFuaW1hdGlvbi1kZWxheShAZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IEBkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IEBkZWxheTtcbn1cbi5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50KEBpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IEBpdGVyYXRpb24tY291bnQ7XG59XG4uYW5pbWF0aW9uLWRpcmVjdGlvbihAZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xufVxuXG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG4vLyBTZWUgZ2l0IHB1bGwgaHR0cHM6Ly9naXRodWIuY29tL2Rhbm55a2VhbmUvYm9vdHN0cmFwLmdpdCBiYWNrZmFjZS12aXNpYmlsaXR5IGZvciBleGFtcGxlc1xuLmJhY2tmYWNlLXZpc2liaWxpdHkoQHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBCYWNrZ3JvdW5kIGNsaXBcbi5iYWNrZ3JvdW5kLWNsaXAoQGNsaXA6IGJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbn1cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG4vLyBCYWNrZ3JvdW5kIHNpemluZ1xuLmJhY2tncm91bmQtc2l6ZShAc2l6ZSkge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2Vcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICBAb3BhY2l0eS1pZTogKEBvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eS1pZX0pXCI7XG59XG5cblxuXG4vLyBHUkFESUVOVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNncmFkaWVudCB7XG5cbiAgLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLnZlcnRpY2FsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lci1jb2xvcjogIzU1NTsgQG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cblxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cblxuXG5cbi8vIFJldGluYSBpbWFnZXNcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemVcblxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuLmltZy1yZXNwb25zaXZlKEBkaXNwbGF5OiBibG9jazspIHtcbiAgZGlzcGxheTogQGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG4vLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRyJiB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoJixcbiAgdGQmIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpIHtcbiAgICAmLFxuICB0ciYsXG4gIHRoJixcbiAgdGQmIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIEdyaWQgU3lzdGVtXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuLmNvbnRhaW5lci1maXhlZCgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuLm1ha2Utcm93KEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIChAZ3V0dGVyIC8gLTIpO1xuICBtYXJnaW4tcmlnaHQ6IChAZ3V0dGVyIC8gLTIpO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xufVxuLm1ha2UteHMtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXhzLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXhzLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS14cy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuLm1ha2Utc20tY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuLm1ha2UtbWQtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29sb3Igc3dhdGNoZXMgZ3JpZFxuLmNhbGMtY29sb3IoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yKSB7XG4gIC5wYWxldHRlLUB7Zmlyc3QtY29sb3J9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB+XCJAe0B7Zmlyc3QtY29sb3J9fVwiO1xuICB9XG4gIC5wYWxldHRlLUB7c2Vjb25kLWNvbG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogflwiQHtAe3NlY29uZC1jb2xvcn19XCI7XG4gIH0gIFxufVxuXG4vLyBEcm9wZG93biBhcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLWFycm93KEBjb2xvcjogQGJyYW5kLXByaW1hcnk7IEB0b3A6IDVweDsgQGxlZnQ6IDE1cHg7IEBzaXplOiA5cHgpIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHNpemUgQHNpemUgQHNpemU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBAY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBAbGVmdDtcbiAgICB0b3A6IEB0b3A7XG4gICAgd2lkdGg6IDA7XG4gICAgLy8gTWFrZSBjb3JuZXJzIHNtb290aFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vLyBCdXR0b24gdmFyaWFudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuLmJ1dHRvbi12YXJpYW50KEBjb2xvcjsgQGJhY2tncm91bmQ7IEBob3Zlci1iYWNrZ3JvdW5kOyBAYWN0aXZlLWJhY2tncm91bmQ7IEBkaXNhYmxlZC1iYWNrZ3JvdW5kOiBAZ3JheS1saWdodCkge1xuICBjb2xvcjogQGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuIC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGhvdmVyLWJhY2tncm91bmQ7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZDogQGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idXR0b24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuXG4vLyBTb2NpYWwgYnV0dG9uIHZhcmlhbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc29jaWFsLWJ1dHRvbi12YXJpYW50KEBjb2xvcjsgQGJhY2tncm91bmQpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBiYWNrZ3JvdW5kLCB3aGl0ZSwgODAlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAYmFja2dyb3VuZCwgYmxhY2ssIDg1JSk7XG4gIH1cbn1cblxuLnN3YXAtZGlhbG9nLWNvbG9yKEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQGNvbG9yLCB3aGl0ZSwgOSUpO1xuICBib3JkZXItdG9wLWNvbG9yOiBtaXgoQGNvbG9yLCB3aGl0ZSwgMjAlKTtcbn1cblxuLmRyb3Bkb3duLWFycm93LWludmVyc2Uge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWNvbG9yOiBAYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uc3dhcC1pY29uYmFyLWNvbG9yKEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gID4gdWwge1xuICAgID4gbGkge1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiBtaXgoQGNvbG9yLCBibGFjaywgNjYlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiBhIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6IG1peChAY29sb3IsIGJsYWNrLCA2NiUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pY29uYmFyLXVucmVhZCB7IGJhY2tncm91bmQtY29sb3I6IG1peChAY29sb3IsIGJsYWNrLCA2NiUpOyB9XG59XG5cbi5zd2FwLXBhZ2luYXRpb24tY29sb3IoQGNvbG9yLCBAaG92ZXIsIEBhY3RpdmUpIHtcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAgIGxpIHtcbiAgICAgICYucHJldmlvdXMge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWl4KEBjb2xvciwgd2hpdGUsIDY2JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gYSwgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IG1peChAY29sb3IsIHdoaXRlLCA2NiUpO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICA+IGEsID4gc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhZ2luYXRpb24tZHJvcGRvd24uZHJvcHVwIHtcbiAgICAgICAgLmRyb3Bkb3duLWFycm93IHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBAY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGFiZWwtdmFyaWFudChAY29sb3IsIEBob3Zlci1jb2xvciwgQHRleHQtY29sb3I6IEBpbnZlcnNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBcbiAgJltocmVmXSB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5iZy12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG5cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyIHtcbiAgICBjb2xvcjogbWl4KEBjb2xvciwgYmxhY2ssIDgwJSk7XG4gIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAZWxlbWVudC1oZWlnaHQ7IEBuYXZiYXItaGVpZ2h0OiBAbmF2YmFyLWhlaWdodC1iYXNlKSB7XG4gIHBhZGRpbmctdG9wOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogQGJyYW5kLXByaW1hcnk7IEBib3JkZXItY29sb3I6IEBncmF5LWxpZ2h0OyBAYmFja2dyb3VuZC1jb2xvcjogQGludmVyc2UpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICAgIC5wbGFjZWhvbGRlcihAdGV4dC1jb2xvcik7XG4gICAgXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWZvY3VzLWJvcmRlcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cblxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBicmFuZC1zZWNvbmRhcnkpIHtcbiAgLmZvcm0tZ3JvdXAuZm9jdXMgJixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcblxuLmlucHV0LXNpemUoQGlucHV0LWhlaWdodDsgQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlKSB7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcblxuICBzZWxlY3QmIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSYsXG4gIHNlbGVjdFttdWx0aXBsZV0mIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzIGZvciBmb3JtIGNvbnRyb2xzXG4vL1xuLmZvcm0tY29udHJvbHMtY29ybmVycy1yZXNldCgpIHtcbiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU3Bpbm5lciB2YXJpYW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNwaW5uZXItdmFyaWFudChAdXAtYnRuLWhlaWdodDsgQGRvd24tYnRuLWhlaWdodDsgQGxpbmUtaGVpZ2h0KSB7XG4gICYgKyAudWktc3Bpbm5lci1idXR0b24ge1xuICAgIGhlaWdodDogQHVwLWJ0bi1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgfVxuICAmICsgLnVpLXNwaW5uZXItYnV0dG9uICsgLnVpLXNwaW5uZXItYnV0dG9uIHtcbiAgICBoZWlnaHQ6IEBkb3duLWJ0bi1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgfVxufSIsIi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MgYW5kIG1vcmVcblxuLy8gQ29sb3Igc3dhdGNoZXNcbkBwdXJwbGU6IFx0XHQgICAgICM0YjJlODM7XG5AZ3JheTogIFx0XHQgICAgICNkOWQ5ZDk7XG5AZGFya2dyYXk6XHQgICAgICM1QTVBNUE7XG5AbGluazogXHRcdFx0ICAgICAjMDA4OEREO1xuQGJyaWdodGdvbGQ6ICAgICAjZmZkODAwO1xuQHVsdHJhbGlnaHRnb2xkOiAjZThlM2QzO1xuQGxpZ2h0Z29sZDpcdFx0ICAgI2I3YTU3YTtcbkBkYXJrZ29sZDogXHRcdCAgICM4NTc1NGQ7XG5cblxuLy8gRm9udHNcbkBmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbkBmb250LWZhbWlseS1oZWFkbGluZTogICAgICBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFtaWx5LWgxOiAgICAgICAgICAgIFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG5AZm9udC1mYW1pbHktZGF3Z2Ryb3BzOiAgICAgXCJFbmNvZGUgU2FucyBDb21wcmVzc2VkXCIsIHNhbnMtc2VyaWY7XG5cbkBmb250LXNpemUtYmFzZTogICAgICAgICAgICAxNnB4O1xuQGZvbnQtd2VpZ2h0LWJhc2U6ICBcdFx0ICAgIG5vcm1hbDtcbkBmb250LWNvbG9yLWJhc2U6XHRcdFx0ICAgICAgIzNEM0QzRDtcblxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcdFx0QGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuXG5cbkBmb250LXNpemUtaDE6ICAgICAgICAgICAgICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiAyLjMpOyBcbkBmb250LXNpemUtaDI6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuOCk7IFxuQGZvbnQtc2l6ZS1oMzogICAgICAgICAgICAgIGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS40KTsgXG5AZm9udC1zaXplLWg0OiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjIpOyBcbkBmb250LXNpemUtaDU6ICAgICAgICAgICAgICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiAxLjExMSk7IFxuQGZvbnQtc2l6ZS1oNjogICAgICAgICAgICAgIGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS4xMTEpOyBcblxuQGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgIDEuMztcblxuXG5cbkBsb2NhbC1mb250LXBhdGg6ICAgICAgICAgICBcdFwiYXNzZXRzL2ZvbnRzL1wiO1xuQGxvY2FsLWZvbnQtbmFtZS10aGluOlx0XHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtMTAwLXRoaW4td2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1leHRyYWxpZ2h0Olx0XCJlbmNvZGVzYW5zY29tcHJlc3NlZC0yMDAtZXh0cmFsaWdodC13ZWJmb250XCI7XG5AbG9jYWwtZm9udC1uYW1lLWxpZ2h0Olx0XHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtMzAwLWxpZ2h0LXdlYmZvbnQuZW90XCI7XG5AbG9jYWwtZm9udC1uYW1lLXJlZ3VsYXI6XHRcdFwiZW5jb2Rlc2Fuc2NvbmRlbnNlZC00MDAtcmVndWxhci13ZWJmb250XCI7XG5AbG9jYWwtZm9udC1uYW1lLW1lZGl1bTpcdFx0XCJlbmNvZGVzYW5zY29uZGVuc2VkLTUwMC1tZWRpdW0td2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZDpcdFx0XCJlbmNvZGVzYW5zY29tcHJlc3NlZC02MDAtc2VtaWJvbGQtd2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1ib2xkOlx0XHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtNzAwLWJvbGQtd2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1leHRyYWJvbGQ6XHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtODAwLWV4dHJhYm9sZC13ZWJmb250XCI7XG5AbG9jYWwtZm9udC1uYW1lLWJsYWNrOiBcdFx0XCJlbmNvZGVzYW5zY29tcHJlc3NlZC05MDAtYmxhY2std2ViZm9udFwiO1xuXG4vLyBWYXJpYWJsZSBoZWFkbGluZSB3ZWlnaHRcbkB1bHRyYS1mb250LXdlaWdodDogXHRcdDkwMDtcbkBoZWFkaW5ncy1mb250LXdlaWdodDpcdFx0NzAwO1xuQGJvZHktZm9udC13ZWlnaHQ6XHRcdFx0MzAwO1xuXG5cblxuLy8gSWNvbm9ncmFwaHlcbkBpY29uLWZvbnQtcGF0aDogICAgICAgICAgICBcImFzc2V0cy9pY29ucy9cIjtcbkBpY29uLWZvbnQtbmFtZTogICAgICAgICAgICBcImZsYXQtdWktaWNvbnMtcmVndWxhclwiO1xuQGljb24tZm9udC1zdmctaWQ6ICAgICAgICAgIFwiZmxhdC11aS1pY29ucy1yZWd1bGFyXCI7XG5cbi8vIEltYWdlIGFzc2V0c1xuQGxvY2FsLWltYWdlLXBhdGg6ICAgICAgICAgICBcImFzc2V0cy9pbWFnZXMvXCI7XG5cbi8vIEJyYW5kIGNvbG9yc1xuQGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgIEBwdXJwbGU7XG5AYnJhbmQtc2Vjb25kYXJ5OiAgICAgICAgICAgQHB1cnBsZTtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuQGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIEBsaW5rO1xuQGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIEBncmF5O1xuXG4vLyBTbGlkZXNob3cgZGlzcGxheWVkIG9uIGZyb250IHBhZ2VcbkBzbGlkZXNob3dfaGVpZ2h0IDogNjAwcHg7XG5AbW9iaWxlX3NsaWRlc2hvd19oZWlnaHQ6IDM1MHB4O1xuQG1vYmlsZV9zbGlkZXNob3dfdGV4dF9ib3hfaGVpZ2h0OiAyNTBweDsiLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbiBhbmQgYWRqdXN0IHRoZSByZWd1bGFyIGltYWdlIGNsYXNzXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IEB0aHVtYm5haWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIC50cmFuc2l0aW9uKGJvcmRlciAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gID4gaW1nLFxuICBhID4gaW1nIHtcbiAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIEFkZCBhIGhvdmVyIHN0YXRlIGZvciBsaW5rZWQgdmVyc2lvbnMgb25seVxuICBhJjpob3ZlcixcbiAgYSY6Zm9jdXMsXG4gIGEmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGluay1jb2xvcjtcbiAgfVxuXG4gIC8vIEltYWdlIGNhcHRpb25zXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiBAdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZztcbiAgICBjb2xvcjogQHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBmb3IgdGhlIHNsaWRlIGNvbnRhaW5lciBhbmQgaW5kaWNhdG9yc1xuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC50cmFuc2l0aW9uKC42cyBlYXNlLWluLW91dCBsZWZ0KTtcblxuICAgIC8vIEFjY291bnQgZm9yIGphbmtpdHVkZSBvbiBpbWFnZXNcbiAgICA+IGltZyxcbiAgICA+IGEgPiBpbWcge1xuICAgICAgJjpleHRlbmQoLmltZy1yZXNwb25zaXZlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBlcnNwZWN0aXZlOiAxMDAwO1xuXG4gICAgICAmLm5leHQsXG4gICAgICAmLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLnByZXYsXG4gICAgICAmLmFjdGl2ZS5sZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUsXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLm5leHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgPiAucHJldiB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAubmV4dC5sZWZ0LFxuICA+IC5wcmV2LnJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLmFjdGl2ZS5yaWdodCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG59XG5cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IEBjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICAub3BhY2l0eShAY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5KTtcbiAgZm9udC1zaXplOiBAY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU7XG4gIGNvbG9yOiBAY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogQGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcbiAgJi5sZWZ0IHtcbiAgICAjZ3JhZGllbnQgPiAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpOyBAZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICAjZ3JhZGllbnQgPiAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpOyBAZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGNvbG9yOiBAY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLm9wYWNpdHkoLjkpO1xuICB9XG5cbiAgLy8gVG9nZ2xlc1xuICAuaWNvbi1wcmV2LFxuICAuaWNvbi1uZXh0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmljb24tcHJldixcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCB7XG4gICAgd2lkdGg6ICAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gIH1cblxuXG4gIC5pY29uLXByZXYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMzknOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwM2EnOy8vIFNJTkdMRSBSSUdIVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDNBKVxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiB1bm9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4LTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDgtOSBkb2VzIG5vdCBzdXBwb3J0IGNsaWNrcyBvbiBlbGVtZW50cyB3aXRob3V0IGEgc2V0XG4gICAgLy8gYGJhY2tncm91bmQtY29sb3JgLiBXZSBjYW5ub3QgdXNlIGBmaWx0ZXJgIHNpbmNlIHRoYXQncyBub3Qgdmlld2VkIGFzIGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGJ5IHRoZSBicm93c2VyLiBUaHVzLCBhIGhhY2sgaXMgbmVlZGVkLlxuICAgIC8vXG4gICAgLy8gRm9yIElFOCwgd2Ugc2V0IHNvbGlkIGJsYWNrIGFzIGl0IGRvZXNuJ3Qgc3VwcG9ydCBgcmdiYSgpYC4gRm9yIElFOSwgd2VcbiAgICAvLyBzZXQgYWxwaGEgdHJhbnNwYXJlbmN5IGZvciB0aGUgYmVzdCByZXN1bHRzIHBvc3NpYmxlLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgXFw5OyAvLyBJRThcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApOyAvLyBJRTlcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6ICAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0c1xuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogQGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgJiAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy8gU2NhbGUgdXAgY29udHJvbHMgZm9yIHRhYmxldHMgYW5kIHVwXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuXG4gIC8vIFNjYWxlIHVwIHRoZSBjb250cm9scyBhIHNtaWRnZVxuICAuY2Fyb3VzZWwtY29udHJvbCB7XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbn1cbi5hbmltYXRpb24tbmFtZShAbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogQG5hbWU7XG59XG4uYW5pbWF0aW9uLWR1cmF0aW9uKEBkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xufVxuLmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oQHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi5hbmltYXRpb24tZGVsYXkoQGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG59XG4uYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChAaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xufVxuLmFuaW1hdGlvbi1kaXJlY3Rpb24oQGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbn1cbi5hbmltYXRpb24tZmlsbC1tb2RlKEBmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IEBmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW4tY291bnQ7IEBjb2x1bW4tZ2FwOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbi5oeXBoZW5zKEBtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiBAbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiBAbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG59XG4uc2NhbGUoQHJhdGlvWDsgQHJhdGlvWSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG59XG4uc2NhbGVYKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG59XG4uc2NhbGVZKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG59XG4uc2tldyhAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xufVxuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVYKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVZKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbn1cbi5wZXJzcGVjdGl2ZShAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbn1cbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG59XG4udHJhbnNmb3JtLW9yaWdpbihAb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnRyYW5zaXRpb24tcHJvcGVydHkoQHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbi50cmFuc2l0aW9uLWRlbGF5KEB0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG59XG4udHJhbnNpdGlvbi1kdXJhdGlvbihAdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuIiwiLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogQGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogQGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogQGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogQGhlYWRpbmdzLWNvbG9yO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IEBoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxufVxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgbWFyZ2luLXRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gIH1cbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjsgfVxuXG5cbi8vIEJvZHkgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIH1cbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6ICgxMnB4IHNtYWxsIGZvbnQgLyAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKDEwMCUgKiBAZm9udC1zaXplLXNtYWxsIC8gQGZvbnQtc2l6ZS1iYXNlKSk7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdGF0ZS13YXJuaW5nLWJnO1xuICBwYWRkaW5nOiAuMmVtO1xufVxuXG4vLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbn1cbi50ZXh0LWluZm8ge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1pbmZvLXRleHQpO1xufVxuLnRleHQtd2FybmluZyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctdGV4dCk7XG59XG4udGV4dC1kYW5nZXIge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1kYW5nZXItdGV4dCk7XG59XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG4gIC5iZy12YXJpYW50KEBicmFuZC1wcmltYXJ5KTtcbn1cbi5iZy1zdWNjZXNzIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmJnLWluZm8ge1xuICAuYmctdmFyaWFudChAc3RhdGUtaW5mby1iZyk7XG59XG4uYmctd2FybmluZyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5iZy1kYW5nZXIge1xuICAuYmctdmFyaWFudChAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuXG4vLyBQYWdlIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xuICBtYXJnaW46IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICAubGlzdC11bnN0eWxlZCgpO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IChAZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgLnRleHQtb3ZlcmZsb3coKTtcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCBAYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbjogMCAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBAYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuXG4gIHAsXG4gIHVsLFxuICBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCBzbWFsbCBhbmQgLnNtYWxsIGFzIG9mIHYzLjEuMFxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6IEBibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IC8vIG5ic3AsIGVtIGRhc2hcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLnRleHQtZW1waGFzaXMtdmFyaWFudChAY29sb3IpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYSY6aG92ZXIge1xuICAgIGNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi5iZy12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvL1xuLy8gQ29kZSAoaW5saW5lIGFuZCBibG9jaylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSW5saW5lIGFuZCBibG9jayBjb2RlIHN0eWxlc1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbn1cblxuLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBjb2RlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29kZS1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogQGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGtiZC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAtIDEpIC8gMik7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlIC0gMSk7IC8vIDE0cHggdG8gMTNweFxuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogQHByZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByZS1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHByZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IEBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyA9PSBDb2xvcnNcbi8vXG4vLyMjXG5cbi8vIENvbG9yIHN3YXRjaGVzXG5AdHVycXVvaXNlOiAgICAgICAgICAgICAgICAgIzFhYmM5YztcbkBncmVlbi1zZWE6ICAgICAgICAgICAgICAgICAjMTZhMDg1O1xuXG5AZW1lcmFsZDogICAgICAgICAgICAgICAgICAgIzJlY2M3MTtcbkBuZXBocml0aXM6ICAgICAgICAgICAgICAgICAjMjdhZTYwO1xuXG5AcGV0ZXItcml2ZXI6ICAgICAgICAgICAgICAgIzM0OThkYjtcbkBiZWxpemUtaG9sZTogICAgICAgICAgICAgICAjMjk4MGI5O1xuXG5AYW1ldGh5c3Q6ICAgICAgICAgICAgICAgICAgIzliNTliNjtcbkB3aXN0ZXJpYTogICAgICAgICAgICAgICAgICAjOGU0NGFkO1xuXG5Ad2V0LWFzcGhhbHQ6ICAgICAgICAgICAgICAgIzM0NDk1ZTtcbkBtaWRuaWdodC1ibHVlOiAgICAgICAgICAgICAjMmMzZTUwO1xuXG5Ac3VuLWZsb3dlcjogICAgICAgICAgICAgICAgI2YxYzQwZjtcbkBvcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAjZjM5YzEyO1xuXG5AY2Fycm90OiAgICAgICAgICAgICAgICAgICAgI2U2N2UyMjtcbkBwdW1wa2luOiAgICAgICAgICAgICAgICAgICAjZDM1NDAwO1xuXG5AYWxpemFyaW46ICAgICAgICAgICAgICAgICAgI2U3NGMzYztcbkBwb21lZ3JhbmF0ZTogICAgICAgICAgICAgICAjYzAzOTJiO1xuXG5AY2xvdWRzOiAgICAgICAgICAgICAgICAgICAgI2VjZjBmMTtcbkBzaWx2ZXI6ICAgICAgICAgICAgICAgICAgICAjYmRjM2M3O1xuXG5AY29uY3JldGU6ICAgICAgICAgICAgICAgICAgIzk1YTVhNjtcbkBhc2Jlc3RvczogICAgICAgICAgICAgICAgICAjN2Y4YzhkO1xuXG5AZGFya2dyZXk6XHRcdFx0XHRcdCM1OTU5NTk7XG5cbi8vIEdyYXlzXG5AZ3JheTogICAgICAgICAgICAgICAgICAgICAgQGNvbmNyZXRlO1xuQGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgIEBzaWx2ZXI7XG5AaW52ZXJzZTogICAgICAgICAgICAgICAgICAgd2hpdGU7XG5cbi8vIEJyYW5kIGNvbG9yc1xuQGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgIEB3ZXQtYXNwaGFsdDtcbkBicmFuZC1zZWNvbmRhcnk6ICAgICAgICAgICBAdHVycXVvaXNlO1xuQGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICAgIEBlbWVyYWxkO1xuQGJyYW5kLXdhcm5pbmc6ICAgICAgICAgICAgIEBzdW4tZmxvd2VyO1xuQGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgIEBhbGl6YXJpbjtcbkBicmFuZC1pbmZvOiAgICAgICAgICAgICAgICBAcGV0ZXItcml2ZXI7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuQGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmZmY7XG5AdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgQGRhcmtncmV5O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG5AbGluay1jb2xvcjogICAgICAgICAgICAgICAgQGdyZWVuLXNlYTtcbkBsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBAdHVycXVvaXNlO1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG5AZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgXCJMYXRvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5AZm9udC1mYW1pbHktZGVtbzogICAgICAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgIE1vbmFjbywgTWVubG8sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbkBmb250LXNpemUtYmFzZTogICAgICAgICAgICAxOHB4O1xuXG5AbG9jYWwtZm9udC1wYXRoOiAgICAgICAgICAgICAgIFwiLi4vZm9udHMvbGF0by9cIjtcbkBsb2NhbC1mb250LW5hbWU6ICAgICAgICAgICAgICAgXCJsYXRvLXJlZ3VsYXJcIjtcbkBsb2NhbC1mb250LXN2Zy1pZDogICAgICAgICAgICAgXCJsYXRvcmVndWxhclwiO1xuQGxvY2FsLWZvbnQtbmFtZS1saWdodDogICAgICAgICBcImxhdG8tbGlnaHRcIjtcbkBsb2NhbC1mb250LXN2Zy1pZC1saWdodDogICAgICAgXCJsYXRvbGlnaHRcIjtcbkBsb2NhbC1mb250LW5hbWUtYmxhY2s6ICAgICAgICAgXCJsYXRvLWJsYWNrXCI7XG5AbG9jYWwtZm9udC1zdmctaWQtYmxhY2s6ICAgICAgIFwibGF0b2JsYWNrXCI7XG5AbG9jYWwtZm9udC1uYW1lLWJvbGQ6ICAgICAgICAgIFwibGF0by1ib2xkXCI7XG5AbG9jYWwtZm9udC1zdmctaWQtYm9sZDogICAgICAgIFwibGF0b2JvbGRcIjtcbkBsb2NhbC1mb250LW5hbWUtaXRhbGljOiAgICAgICAgXCJsYXRvLWl0YWxpY1wiO1xuQGxvY2FsLWZvbnQtc3ZnLWlkLWl0YWxpYzogICAgICBcImxhdG9pdGFsaWNcIjtcbkBsb2NhbC1mb250LW5hbWUtYm9sZC1pdGFsaWM6ICAgXCJsYXRvLWJvbGRpdGFsaWNcIjtcbkBsb2NhbC1mb250LXN2Zy1pZC1ib2xkLWl0YWxpYzogXCJsYXRvYm9sZC1pdGFsaWNcIjtcblxuQGZvbnQtc2l6ZS1oMTogICAgICAgICAgICAgIGZsb29yKEBmb250LXNpemUtYmFzZSAqIDIuMjIyKTsgLy8gfjYycHhcbkBmb250LXNpemUtaDI6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuNjExKTsgLy8gfjUycHhcbkBmb250LXNpemUtaDM6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuNTU2KTsgLy8gfjQwcHhcbkBmb250LXNpemUtaDQ6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuMzMzKTsgLy8gfjI5cHhcbkBmb250LXNpemUtaDU6ICAgICAgICAgICAgICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiAxLjIyMik7IC8vIH4yOHB4XG5AZm9udC1zaXplLWg2OiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjExMSk7IC8vIH4yMHB4XG5cbkBsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAxLjcyMjIyOyAvLyAzMS8xOFxuQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICAgIGZsb29yKEBmb250LXNpemUtYmFzZSAqIEBsaW5lLWhlaWdodC1iYXNlKTsgLy8gfjMxcHhcblxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgIGluaGVyaXQ7XG5AaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgNzAwO1xuQGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgIDEuMTtcbkBoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICBpbmhlcml0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9ucyBvZiB0aGUgaW5jbHVkZSBHbHlwaGljb25zIGljb24gZm9udC5cblxuQGljb24tZm9udC1wYXRoOiAgICAgICAgICAgIFwiLi4vZm9udHMvXCI7XG5AaWNvbi1mb250LW5hbWU6ICAgICAgICAgICAgXCJmbGF0LXVpLWljb25zLXJlZ3VsYXJcIjtcbkBpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgICBcImZsYXQtdWktaWNvbnMtcmVndWxhclwiO1xuXG4vLyoqIEljb24gc2l6ZXMgZm9yIHVzZSBpbiBjb21wb25lbnRzXG5AaWNvbi1ub3JtYWw6ICAgICAgICAgICAgICAgMTZweDtcbkBpY29uLW1lZGl1bTogICAgICAgICAgICAgICAxOHB4O1xuQGljb24tbGFyZ2U6ICAgICAgICAgICAgICAgIDMycHg7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbi8vKiogRGVmYXVsdCBmb250LXNpemUgaW4gY29tcG9uZW50c1xuQGNvbXBvbmVudC1mb250LXNpemUtYmFzZTogIGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMC44MzMpOyAvLyB+MTVweFxuXG4vLyBCb3JkZXItcmFkaXVzXG5AYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4O1xuQGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweDtcbkBib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHg7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBGbGF0IFVJJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGZvbnQgc2l6ZSBhbmQgaGVpZ2h0LlxuXG5AYnRuLWZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIEBjb21wb25lbnQtZm9udC1zaXplLWJhc2U7XG5AYnRuLWZvbnQtc2l6ZS14czogICAgICAgICAgIGNlaWwoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDAuODApOyAgIC8vIH4xMnB4XG5AYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgIGZsb29yKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAwLjg2Nyk7IC8vIH4xM3B4XG5AYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgIGNlaWwoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDEuMTMzKTsgIC8vIH4xN3B4XG5AYnRuLWZvbnQtc2l6ZS1oZzogICAgICAgICAgIGZsb29yKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjQ2Nyk7IC8vIH4yMnB4XG5cbkBidG4tbGluZS1oZWlnaHQtYmFzZTogICAgICAgMS40OyAgIC8vIH4yMXB4XG5AYnRuLWxpbmUtaGVpZ2h0LWhnOiAgICAgICAgIDEuMjI3OyAvLyB+MjdweFxuQGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAxLjQ3MTsgLy8gfjI1cHhcbkBidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgMS4zODU7IC8vIH4xNnB4XG5AYnRuLWxpbmUtaGVpZ2h0LXhzOiAgICAgICAgIDEuMDgzOyAvLyB+MTNweFxuXG5AYnRuLXNvY2lhbC1mb250LXNpemUtYmFzZTogICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMC44NjcpOyAvLyB+MTNweFxuQGJ0bi1zb2NpYWwtbGluZS1oZWlnaHQtYmFzZTogMS4wNzc7ICAvLyB+MTRweFxuXG5AYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIG5vcm1hbDtcblxuQGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICBAaW52ZXJzZTtcbkBidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG5AYnRuLWhvdmVyLWJnOiAgICAgICAgICAgICAgIG1peChAZ3JheS1saWdodCwgd2hpdGUsIDgwJSk7XG5AYnRuLWFjdGl2ZS1iZzogICAgICAgICAgICAgIG1peChAZ3JheS1saWdodCwgYmxhY2ssIDg1JSk7XG5cbkBidG4tcHJpbWFyeS1ob3Zlci1iZzogICAgICAgbWl4KEBicmFuZC1zZWNvbmRhcnksIHdoaXRlLCA4MCUpO1xuQGJ0bi1wcmltYXJ5LWFjdGl2ZS1iZzogICAgICBtaXgoQGJyYW5kLXNlY29uZGFyeSwgYmxhY2ssIDg1JSk7XG5cbkBidG4taW5mby1ob3Zlci1iZzogICAgICAgICAgbWl4KEBicmFuZC1pbmZvLCB3aGl0ZSwgODAlKTtcbkBidG4taW5mby1hY3RpdmUtYmc6ICAgICAgICAgbWl4KEBicmFuZC1pbmZvLCBibGFjaywgODUlKTtcblxuQGJ0bi1zdWNjZXNzLWhvdmVyLWJnOiAgICAgICBtaXgoQGJyYW5kLXN1Y2Nlc3MsIHdoaXRlLCA4MCUpO1xuQGJ0bi1zdWNjZXNzLWFjdGl2ZS1iZzogICAgICBtaXgoQGJyYW5kLXN1Y2Nlc3MsIGJsYWNrLCA4NSUpO1xuXG5AYnRuLWRhbmdlci1ob3Zlci1iZzogICAgICAgIG1peChAYnJhbmQtZGFuZ2VyLCB3aGl0ZSwgODAlKTtcbkBidG4tZGFuZ2VyLWFjdGl2ZS1iZzogICAgICAgbWl4KEBicmFuZC1kYW5nZXIsIGJsYWNrLCA4NSUpO1xuXG5AYnRuLXdhcm5pbmctaG92ZXItYmc6ICAgICAgIG92ZXJsYXkoQGJyYW5kLXdhcm5pbmcsIGRhcmtlbih3aGl0ZSwgMzcuNSUpKTtcbkBidG4td2FybmluZy1hY3RpdmUtYmc6ICAgICAgbWl4KEBicmFuZC13YXJuaW5nLCBibGFjaywgODUlKTtcblxuQGJ0bi1pbnZlcnNlLWhvdmVyLWJnOiAgICAgICBvdmVybGF5KEBicmFuZC1wcmltYXJ5LCBkYXJrZW4od2hpdGUsIDM3LjUlKSk7XG5AYnRuLWludmVyc2UtYWN0aXZlLWJnOiAgICAgIG1peChAYnJhbmQtcHJpbWFyeSwgYmxhY2ssIDg1JSk7XG5cbkBidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgQGdyYXktbGlnaHQ7XG5cblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuQGlucHV0LWZvbnQtc2l6ZS1iYXNlOiAgICAgIEBjb21wb25lbnQtZm9udC1zaXplLWJhc2U7XG5AaW5wdXQtZm9udC1zaXplLXNtYWxsOiAgICAgZmxvb3IoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDAuODY3KTsgLy8gfjEzcHhcbkBpbnB1dC1mb250LXNpemUtbGFyZ2U6ICAgICBjZWlsKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjEzMyk7IC8vIH4xN3B4XG5AaW5wdXQtZm9udC1zaXplLWh1Z2U6ICAgICAgZmxvb3IoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDEuNDY3KTsgLy8gfjIycHhcblxuQGlucHV0LWxpbmUtaGVpZ2h0LWJhc2U6ICAgIDEuNDY3OyAvLyB+MjJweFxuQGlucHV0LWxpbmUtaGVpZ2h0LXNtYWxsOiAgIDEuNDYyOyAvLyB+MTlweFxuQGlucHV0LWxpbmUtaGVpZ2h0LWxhcmdlOiAgIDEuMjM1OyAvLyB+MjFweFxuQGlucHV0LWxpbmUtaGVpZ2h0LWh1Z2U6ICAgIDEuMzE4OyAvLyB+MjlweFxuXG5AaW5wdXQtaWNvbi1mb250LXNpemU6ICAgICAgY2VpbChAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMS4zMzMpOyAgLy8gfjIwcHggICAgICAgXG5cbkBpbnB1dC1iZzogICAgICAgICAgICAgICAgICBAaW52ZXJzZTtcbkBpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICBtaXgoQGdyYXksIHdoaXRlLCAxMCUpO1xuXG5AaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgMzVweDtcbkBpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICA0MXB4O1xuQGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgIDQ1cHg7XG5AaW5wdXQtaGVpZ2h0LWh1Z2U6ICAgICAgICAgNTNweDtcblxuQGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgIEBib3JkZXItcmFkaXVzLWxhcmdlO1xuXG5AbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG5AaW5wdXQtZm9udC1zaXplLWJhc2U6ICAgICAgQGNvbXBvbmVudC1mb250LXNpemUtYmFzZTtcbkBpbnB1dC1mb250LXNpemUtc21hbGw6ICAgICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMC44NjcpOyAvLyB+MTNweFxuQGlucHV0LWZvbnQtc2l6ZS1sYXJnZTogICAgIGNlaWwoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDEuMTMzKTsgLy8gfjE3cHhcbkBpbnB1dC1mb250LXNpemUtaHVnZTogICAgICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMS40NjcpOyAvLyB+MjJweFxuXG5AaW5wdXQtbGluZS1oZWlnaHQtYmFzZTogICAgMS40Njc7IC8vIH4yMnB4XG5AaW5wdXQtbGluZS1oZWlnaHQtc21hbGw6ICAgMS40NjI7IC8vIH4xOXB4XG5AaW5wdXQtbGluZS1oZWlnaHQtbGFyZ2U6ICAgMS4yMzU7IC8vIH4yMXB4XG5AaW5wdXQtbGluZS1oZWlnaHQtaHVnZTogICAgMS4zMTg7IC8vIH4yOXB4XG5cbkBpbnB1dC1pY29uLWZvbnQtc2l6ZTogICAgICBjZWlsKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjMzMyk7ICAvLyB+MjBweCAgICAgICBcblxuQGlucHV0LWJnOiAgICAgICAgICAgICAgICAgIEBpbnZlcnNlO1xuQGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgIG1peChAZ3JheSwgd2hpdGUsIDEwJSk7XG5cbkBpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAzNXB4O1xuQGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgIDQxcHg7XG5AaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgNDVweDtcbkBpbnB1dC1oZWlnaHQtaHVnZTogICAgICAgICA1M3B4O1xuXG5AaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cbkBsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuQHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICBtaXgoQGJyYW5kLXByaW1hcnksIHdoaXRlLCAyMCUpO1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbkBwYWdlci1wYWRkaW5nOiAgICAgICAgICAgICAgOXB4IDE1cHggMTBweDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG5AemluZGV4LW5hdmJhcjogICAgICAgICAgICAgIDEwMDA7XG5AemluZGV4LW5hdmJhci1maXhlZDogICAgICAgIDEwMzA7XG5AbmF2YmFyLWhlaWdodC1iYXNlOiAgICAgICAgIDUzcHg7XG5AbmF2YmFyLWhlaWdodC1sYXJnZTogICAgICAgIDc2cHg7XG5AbmF2YmFyLWlucHV0LWxpbmUtaGVpZ2h0OiAgIDEuNDsgLy8gfjIxcHhcbkBuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuQG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcblxuQG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICBzYXR1cmF0ZShzcGluKHRpbnQoQGJyYW5kLXByaW1hcnksIDkxJSksIC0xOCksIDIlKTtcblxuLy8gTmF2YmFyIGxpbmtzXG5AbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xuQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICBAYnJhbmQtc2Vjb25kYXJ5O1xuQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICB0cmFuc3BhcmVudDtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgQGJyYW5kLXNlY29uZGFyeTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICNjY2M7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgbmF2IGNhcmV0c1xuQG5hdmJhci1kZWZhdWx0LWNhcmV0LWNvbG9yOiAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbkBuYXZiYXItZGVmYXVsdC1jYXJldC1ob3Zlci1jb2xvcjogICAgQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG5AbmF2YmFyLWRlZmF1bHQtY2FyZXQtYWN0aXZlLWNvbG9yOiAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG5AbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgdHJhbnNwYXJlbnQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbkBuYXZiYXItZGVmYXVsdC10b2dnbGUtY29sb3I6ICAgICAgICAgQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuXG4vLyBOYXZiYXIgZm9ybVxuQG5hdmJhci1kZWZhdWx0LWZvcm0tcGxhY2Vob2xkZXI6ICAgICBzcGluKHRpbnQoQGJyYW5kLXByaW1hcnksIDYwJSksIDIpO1xuQG5hdmJhci1kZWZhdWx0LWZvcm0taWNvbjogICAgICAgICAgICBkZXNhdHVyYXRlKHRpbnQoQGJyYW5kLXByaW1hcnksIDQ1JSksIDIlKTtcbkBuYXZiYXItZGVmYXVsdC1mb3JtLWJvcmRlcjogICAgICAgICAgc2hhZGUoQG5hdmJhci1kZWZhdWx0LWJnLCAzJSk7XG5cblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG5AbmF2YmFyLWludmVyc2UtZGl2aWRlcjogICAgICAgICAgICAgIGRhcmtlbihAYnJhbmQtcHJpbWFyeSwgMyUpO1xuXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG5AbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgIEBpbnZlcnNlO1xuQG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcbkBuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgMTAlKTtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG5AbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgIEBpbnZlcnNlO1xuQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICBAYnJhbmQtc2Vjb25kYXJ5O1xuQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICB0cmFuc3BhcmVudDtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5AbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgIEBicmFuZC1zZWNvbmRhcnk7XG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICM0NDQ7XG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgbmF2IGNhcmV0c1xuQG5hdmJhci1pbnZlcnNlLWNhcmV0LWNvbG9yOiAgICAgICAgICBsaWdodGVuKGRlc2F0dXJhdGUoQGJyYW5kLXByaW1hcnksIDclKSwgOSUpO1xuQG5hdmJhci1pbnZlcnNlLWNhcmV0LWhvdmVyLWNvbG9yOiAgICBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbkBuYXZiYXItaW52ZXJzZS1jYXJldC1hY3RpdmUtY29sb3I6ICAgQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5AbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgIEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICB0cmFuc3BhcmVudDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1jb2xvcjogICAgICAgICBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItY29sb3I6ICAgQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG5cbi8vIE5hdmJhciBmb3JtXG5AbmF2YmFyLWludmVyc2UtZm9ybS1iZzogICAgICAgICAgICAgIGRhcmtlbihAYnJhbmQtcHJpbWFyeSwgNiUpO1xuQG5hdmJhci1pbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXI6ICAgICBkZXNhdHVyYXRlKGxpZ2h0ZW4oQGJyYW5kLXByaW1hcnksIDEzJSksIDclKTtcbkBuYXZiYXItaW52ZXJzZS1mb3JtLWljb246ICAgICAgICAgICAgZGVzYXR1cmF0ZShsaWdodGVuKEBicmFuZC1wcmltYXJ5LCAxMyUpLCA2JSk7XG5AbmF2YmFyLWludmVyc2UtZm9ybS1ib3JkZXI6ICAgICAgICAgIEBuYXZiYXItaW52ZXJzZS1kaXZpZGVyO1xuXG4vLyBEcm9wZG93biBtZW51XG5AbmF2YmFyLWludmVyc2UtZHJvcGRvd24tYXJyb3c6ICAgICAgICAgICAgIEBuYXZiYXItaW52ZXJzZS1iZztcbkBuYXZiYXItaW52ZXJzZS1kcm9wZG93bi1iZzogICAgICAgICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWJnO1xuQG5hdmJhci1pbnZlcnNlLWRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICBtaXgoQG5hdmJhci1pbnZlcnNlLWJnLCBAbmF2YmFyLWludmVyc2UtY29sb3IsIDE1JSk7XG5AbmF2YmFyLWludmVyc2UtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogIEBpbnZlcnNlO1xuQG5hdmJhci1pbnZlcnNlLWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICBAYnJhbmQtc2Vjb25kYXJ5O1xuXG5cbi8vPT0gRHJvcGRvd24gTWVudVxuLy9cbi8vIyNcblxuQGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICBtaXgoQGludmVyc2UsIEBicmFuZC1wcmltYXJ5LCA5NCUpO1xuXG5cbi8vPT0gSWNvbmJhclxuLy9cbi8vIyNcblxuQGljb25iYXItYmFja2dyb3VuZDogICAgICAgICBtaXgoQGJyYW5kLXByaW1hcnksIGJsYWNrLCA4NSUpO1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuQHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAxMnB4O1xuXG5cbi8vPT0gU2xpZGVyXG4vL1xuLy8jI1xuXG5Ac2xpZGVyLWhlaWdodDogICAgICAgICAgICAgIDEycHg7XG5Ac2xpZGVyLXZhbHVlLWZvbnQtc2l6ZTogICAgIGZsb29yKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAwLjg2Nyk7IC8vIH4xM3B4O1xuXG5Ac2xpZGVyLWhhbmRsZS1iZzogICAgICAgICAgIG1peChAYnJhbmQtc2Vjb25kYXJ5LCBibGFjaywgODUlKTtcbkBzbGlkZXItaGFuZGxlLWhvdmVyLWJnOiAgICAgbWl4KEBicmFuZC1zZWNvbmRhcnksIHdoaXRlLCA4MCUpO1xuQHNsaWRlci1oYW5kbGUtYWN0aXZlLWJnOiAgICBtaXgoQGJyYW5kLXNlY29uZGFyeSwgYmxhY2ssIDg1JSk7XG5cbkBzbGlkZXItcmFuZ2UtYmc6ICAgICAgICAgICAgQGJyYW5kLXNlY29uZGFyeTtcblxuQHNsaWRlci1zZWdtZW50LWJnOiAgICAgICAgICBtaXgoZGVzYXR1cmF0ZShAYnJhbmQtcHJpbWFyeSwgMTUlKSwgd2hpdGUsIDIwJSk7XG5cblxuLy89PSBTd2l0Y2hcbi8vXG4vLyMjXG5cbkBzd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgMzBweDtcbkBzd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgODBweDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuQHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuQHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgQGJvZHktYmc7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbkB0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuQHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgQHRleHQtY29sb3I7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbkBzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgIDQ4MHB4O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbkBzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgIDc2OHB4O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuQHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAgOTkycHg7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuQHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAgMTIwMHB4O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbkBzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgIChAc2NyZWVuLXNtLW1pbiAtIDEpO1xuQHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAgKEBzY3JlZW4tbWQtbWluIC0gMSk7XG5Ac2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICAoQHNjcmVlbi1sZy1taW4gLSAxKTtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuQGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTI7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuQGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG5AZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgICBAc2NyZWVuLXNtLW1pbjtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAgIChAZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSk7XG5cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG5Ac3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICBAYnJhbmQtc3VjY2VzcztcbkBzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICNkZmYwZDg7XG5Ac3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpO1xuXG5Ac3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICBAYnJhbmQtaW5mbztcbkBzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICNkOWVkZjc7XG5Ac3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpO1xuXG5Ac3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICBAYnJhbmQtd2FybmluZztcbkBzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICNmY2Y4ZTM7XG5Ac3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpO1xuXG5Ac3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xuQHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgI2YyZGVkZTtcbkBzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKTtcblxuXG4vLyBDb2RlXG4vL1xuLy8jI1xuXG5AY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlO1xuQGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNDtcblxuQGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgQGludmVyc2U7XG5Aa2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcblxuQHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgQGludmVyc2U7XG5AcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICBpbmhlcml0O1xuQHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgbWl4KEBicmFuZC1wcmltYXJ5LCBAaW52ZXJzZSwgMTIlKTtcbkBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4O1xuQHByZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cblxuLy8gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG5AdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG5AYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbkBoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgIG1peChAYnJhbmQtcHJpbWFyeSwgQGludmVyc2UsIDEyJSk7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbkBibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgIGluaGVyaXQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG5AYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICBtaXgoQGJyYW5kLXByaW1hcnksIEBpbnZlcnNlLCAxMiUpO1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbkBwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgIG1peChAYnJhbmQtcHJpbWFyeSwgQGludmVyc2UsIDEyJSk7XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy9cbi8vIyNcblxuLy8qKiBIciBib3JkZXIgY29sb3JcbkBoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIG1peChAYnJhbmQtcHJpbWFyeSwgQGludmVyc2UsIDYzJSk7XG5cbi8vKiogSG9yaXpvbnRhbCBmb3JtcyAmIGxpc3RzXG5AY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweDtcbiIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiBAY29udGFpbmVyLXNtO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiBAY29udGFpbmVyLW1kO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHdpZHRoOiBAY29udGFpbmVyLWxnO1xuICB9XG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICAuY29udGFpbmVyLWZpeGVkKCk7XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuLnJvdyB7XG4gIC5tYWtlLXJvdygpO1xufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbi5tYWtlLWdyaWQtY29sdW1ucygpO1xuXG5cbi8vIEV4dHJhIHNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXG4vLyBzbWFydHBob25lcy5cblxuLm1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gIC5tYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5tYWtlLWdyaWQobWQpO1xufVxuXG5cbi8vIExhcmdlIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgLm1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG4uY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgQGdyaWQtY29sdW1uc2AuXG5cbi5tYWtlLWdyaWQtY29sdW1ucygpIHtcbiAgLy8gQ29tbW9uIHN0eWxlcyBmb3IgYWxsIHNpemVzIG9mIGdyaWQgY29sdW1ucywgd2lkdGhzIDEtMTJcbiAgLmNvbChAaW5kZXgpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLXhzLUB7aW5kZXh9LCAuY29sLXNtLUB7aW5kZXh9LCAuY29sLW1kLUB7aW5kZXh9LCAuY29sLWxnLUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWw7IFwiPTxcIiBpc24ndCBhIHR5cG9cbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICAgIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICB9XG4gIH1cbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XG59XG5cbi5mbG9hdC1ncmlkLWNvbHVtbnMoQGNsYXNzKSB7XG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsXG4gICAgQGl0ZW06IH5cIi5jb2wtQHtjbGFzc30tQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHdpZHRoKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1c2gpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1c2gtQHtpbmRleH0ge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1c2gpIGFuZCAoQGluZGV4ID0gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtQHtpbmRleH0ge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdWxsKSBhbmQgKEBpbmRleCA9IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gb2Zmc2V0KSB7XG4gIC5jb2wtQHtjbGFzc30tb2Zmc2V0LUB7aW5kZXh9IHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEJhc2ljIGxvb3BpbmcgaW4gTEVTU1xuLmxvb3AtZ3JpZC1jb2x1bW5zKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQGluZGV4ID49IDApIHtcbiAgLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKTtcbiAgLy8gbmV4dCBpdGVyYXRpb25cbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKChAaW5kZXggLSAxKSwgQGNsYXNzLCBAdHlwZSk7XG59XG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuLm1ha2UtZ3JpZChAY2xhc3MpIHtcbiAgLmZsb2F0LWdyaWQtY29sdW1ucyhAY2xhc3MpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCB3aWR0aCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHB1bGwpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBwdXNoKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctYWNjZW50O1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZy1ob3ZlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIGNlbGwgc2l6aW5nXG4vL1xuLy8gUmVzZXQgZGVmYXVsdCB0YWJsZSBiZWhhdmlvclxuXG50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTkvMTAgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uO1xufVxudGFibGUge1xuICB0ZCxcbiAgdGgge1xuICAgICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LzEwIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuLnRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZTsgQHRhYmxlLWJnLWFjdGl2ZSk7XG4udGFibGUtcm93LXZhcmlhbnQoc3VjY2VzczsgQHN0YXRlLXN1Y2Nlc3MtYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGluZm87IEBzdGF0ZS1pbmZvLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudCh3YXJuaW5nOyBAc3RhdGUtd2FybmluZy1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQoZGFuZ2VyOyBAc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAwLjc1KTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29udGVudCBkb2Vzbid0IHdyYXBcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXG4gICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAvLyBOdWtlIHRoZSBhcHByb3ByaWF0ZSBib3JkZXJzIHNvIHRoYXQgdGhlIHBhcmVudCBjYW4gaGFuZGxlIHRoZW1cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgbnVrZSB0aGUgbGFzdCByb3cncyBib3R0b20tYm9yZGVyIGluIGB0Ym9keWAgYW5kIGB0Zm9vdGAgc2luY2VcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcbiAgICAgIC8vIHJlbW92ZSB0aGUgYm9yZGVyIGFsdG9nZXRoZXIuXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG4udGFibGUtcm93LXZhcmlhbnQoQHN0YXRlOyBAYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLkB7c3RhdGV9LFxuICAgID4gdGguQHtzdGF0ZX0sXG4gICAgJi5Ae3N0YXRlfSA+IHRkLFxuICAgICYuQHtzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLkB7c3RhdGV9OmhvdmVyLFxuICAgID4gdGguQHtzdGF0ZX06aG92ZXIsXG4gICAgJi5Ae3N0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuQHtzdGF0ZX0sXG4gICAgJi5Ae3N0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE5vcm1hbGl6ZSBub24tY29udHJvbHNcbi8vXG4vLyBSZXN0eWxlIGFuZCBiYXNlbGluZSBub24tY29udHJvbCBmb3JtIGVsZW1lbnRzLlxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggc2V0IGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gIG1pbi13aWR0aDogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogQGxlZ2VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGxlZ2VuZC1ib3JkZXItY29sb3I7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIEZvcmNlIElFOCB0byB3cmFwIGxvbmcgY29udGVudCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTMxNDEpXG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLy8gTm9ybWFsaXplIGZvcm0gY29udHJvbHNcbi8vXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxuLy8gaXMgcmVxdWlyZWQgdG8gZW5zdXJlIG9wdGltdW0gZGlzcGxheSB3aXRoIG9yIHdpdGhvdXQgdGhvc2UgY2xhc3NlcyB0byBiZXR0ZXJcbi8vIGFkZHJlc3MgYnJvd3NlciBpbmNvbnNpc3RlbmNpZXMuXG5cbi8vIE92ZXJyaWRlIGNvbnRlbnQtYm94IGluIE5vcm1hbGl6ZSAoKiBpc24ndCBzcGVjaWZpYyBlbm91Z2gpXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy8gU2V0IHRoZSBoZWlnaHQgb2YgZmlsZSBjb250cm9scyB0byBtYXRjaCB0ZXh0IGlucHV0c1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIC50YWItZm9jdXMoKTtcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiBAcGFkZGluZy1iYXNlLXZlcnRpY2FsIEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XG4gIC50cmFuc2l0aW9uKH5cImJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXNcIik7XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAuZm9ybS1jb250cm9sLWZvY3VzKCk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgLnBsYWNlaG9sZGVyKCk7XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudFxuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xuICB0ZXh0YXJlYSYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20ge1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LWxnLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LWxnLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtbGcge1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cblxuLmlucHV0LXNtLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtc21hbGw7IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuLmlucHV0LWxnLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtbGFyZ2U7IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGlucHV0LWhlaWdodC1iYXNlICogMS4yNSk7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci10ZXh0OyBAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbihAdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoICh3aGljaCBhbHNvIGF2b2lkc1xuICAgIC8vIGEgYnVnIGluIFdlYktpdDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTY5KS5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIC5tYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogQGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvb3RzdHJhcCB2YXJpYWJsZXMuXG5AaW1wb3J0ICd2YXJpYWJsZXMubGVzcyc7XG5cbi8vIE1lZGlhIHF1ZXJ5IHZhcmlhYmxlcy5cbkB0YWJsZXQ6ICB+XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB7c2NyZWVuLXNtLW1pbn0pXCI7XG5Abm9ybWFsOiAgflwic2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3NjcmVlbi1tZC1taW59KVwiO1xuQHdpZGU6ICAgIH5cInNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHtzY3JlZW4tbGctbWlufSlcIjtcblxuLy8gRHJvcCBzaGFkb3dzLlxuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG5odG1sIHtcbiAgJi5vdmVybGF5LW9wZW4gLm5hdmJhci1maXhlZC10b3Age1xuICAgIHotaW5kZXg6IDQwMDtcbiAgfVxuICAmLmpzIHtcbiAgICAvLyBDb2xsYXBzaWJsZSBmaWVsZHNldHMuXG4gICAgZmllbGRzZXQuY29sbGFwc2VkIHtcbiAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAvLyBUaHJvYmJlcnMuXG4gICAgaW5wdXQuZm9ybS1hdXRvY29tcGxldGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbmJvZHkge1xuICAvLyBGaXggaG9yaXpvbnRhbCBzY3JvbGxpbmcgb24gaU9TIGRldmljZXMuXG4gIC8vIGh0dHA6Ly9kcnVwYWwub3JnL25vZGUvMTg3MDA3NlxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYuYWRtaW4tZXhwYW5kZWQuYWRtaW4tdmVydGljYWwuYWRtaW4tbncgLm5hdmJhcixcbiAgJi5hZG1pbi1leHBhbmRlZC5hZG1pbi12ZXJ0aWNhbC5hZG1pbi1zdyAubmF2YmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMjYwcHg7XG4gIH1cbiAgLy8gQWRkIHBhZGRpbmcgdG8gYm9keSBpZiB2YXJpb3VzIHRvb2xiYXIgb3IgbmF2YmFycyBhcmUgZml4ZWQgb24gdG9wLlxuICAmLm5hdmJhci1pcy1maXhlZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5uYXZiYXItaXMtZml4ZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50O1xuICB9XG4gICYudG9vbGJhciB7XG4gICAgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgfVxuICAgICYubmF2YmFyLWlzLWZpeGVkLXRvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogOTRweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLnRvb2xiYXItZHJhd2VyIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweCAhaW1wb3J0YW50O1xuICAgIC5uYXZiYXItZml4ZWQtdG9wIHtcbiAgICAgIHRvcDogNjRweDtcbiAgICB9XG4gICAgJi5uYXZiYXItaXMtZml4ZWQtdG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjhweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAvLyBBZG1pbl9tZW51IHRvb2xiYXIuXG4gICYuYWRtaW4tbWVudSB7XG4gICAgLm5hdmJhci1maXhlZC10b3Age1xuICAgICAgdG9wOiAyOXB4O1xuICAgIH1cbiAgICAmLm5hdmJhci1pcy1maXhlZC10b3Age1xuICAgICAgcGFkZGluZy10b3A6IDkzcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgZGl2I2FkbWluLXRvb2xiYXIge1xuICAgIHotaW5kZXg6IDE2MDA7XG4gIH1cbiAgLy8gT3ZlcnJpZGUgYm94LXNoYWRvdyBzdHlsZXMgb24gYWxsIFwiYWRtaW5cIiBtZW51cy5cbiAgI3Rvb2xiYXIsICNhZG1pbi1tZW51LCAjYWRtaW4tdG9vbGJhciB7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgLy8gT3ZlcnJpZGUgI2FkbWluLW1lbnUgc3R5bGUuXG4gICNhZG1pbi1tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTYwMDtcbiAgICAuZHJvcGRvd24gbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVmYXVsdCBuYXZiYXIuXG4ubmF2YmFyLmNvbnRhaW5lciB7XG4gIEBtZWRpYSBAdGFibGV0IHtcbiAgICBtYXgtd2lkdGg6ICgoQGNvbnRhaW5lci1zbSAtIDMwcHgpKTtcbiAgfVxuICBAbWVkaWEgQG5vcm1hbCB7XG4gICAgbWF4LXdpZHRoOiAoKEBjb250YWluZXItbWQgLSAzMHB4KSk7XG4gIH1cbiAgQG1lZGlhIEB3aWRlIHtcbiAgICBtYXgtd2lkdGg6ICgoQGNvbnRhaW5lci1sZyAtIDMwcHgpKTtcbiAgfVxuICBtYXJnaW4tdG9wOiAyMHB4O1xuICA+IC5jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vIEFkanVzdCB6LWluZGV4IG9mIGNvcmUgY29tcG9uZW50cy5cbiNvdmVybGF5LWNvbnRhaW5lcixcbi5vdmVybGF5LW1vZGFsLWJhY2tncm91bmQsXG4ub3ZlcmxheS1lbGVtZW50IHtcbiAgei1pbmRleDogMTUwMDtcbn1cbiN0b29sYmFyIHtcbiAgei1pbmRleDogMTYwMDtcbn1cbi8vIEFkanVzdCB6LWluZGV4IG9mIGJvb3RzdHJhcCBtb2RhbHNcbi5tb2RhbCB7XG4gIHotaW5kZXg6IDE2MjA7XG59XG4ubW9kYWwtZGlhbG9nIHtcbiAgei1pbmRleDogMTYzMDtcbn1cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHotaW5kZXg6IDE2MTA7XG59XG5cbi8vIEVsZW1lbnQgaW52aXNpYmxlIGZpeFxuLmVsZW1lbnQtaW52aXNpYmxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBCcmFuZGluZy5cbi5uYXZiYXIgLmxvZ28ge1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIEBtZWRpYSBAdGFibGV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE5hdmlnYXRpb24uXG51bC5zZWNvbmRhcnkge1xuICBmbG9hdDogbGVmdDtcbiAgQG1lZGlhIEB0YWJsZXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4vLyBQYWdlIGhlYWRlci5cbi5wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8vIEJsb2Nrc1xuLmJsb2NrIHtcbiAgJjpmaXJzdC1jaGlsZCBoMi5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBQYXJhZ3JhcGhzLlxucDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gSGVscCByZWdpb24uXG4ucmVnaW9uLWhlbHAge1xuICA+IC5nbHlwaGljb24ge1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IC0wLjA1ZW0gMC41ZW0gMCAwO1xuICB9XG4gIC5ibG9jayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBTZWFyY2ggZm9ybS5cbmZvcm0jc2VhcmNoLWJsb2NrLWZvcm0ge1xuICBtYXJnaW46IDA7XG59XG4ubmF2YmFyICNibG9jay1zZWFyY2gtZm9ybSB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDVweCAwIDVweCA1cHg7XG4gIEBtZWRpYSBAbm9ybWFsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi5uYXZiYXItc2VhcmNoIC5jb250cm9sLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTowcHg7XG59XG5cbi8vIEFjdGlvbiBMaW5rc1xudWwuYWN0aW9uLWxpbmtzIHtcbiAgbWFyZ2luOiBAcGFkZGluZy1iYXNlLWhvcml6b250YWwgMDtcbiAgcGFkZGluZzogMDtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCBAcGFkZGluZy1iYXNlLXZlcnRpY2FsIDAgMDtcbiAgfVxuICAuZ2x5cGhpY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgfVxufVxuXG4vLyBGb3JtIGVsZW1lbnRzLlxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIC51bmVkaXRhYmxlLWlucHV0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbmlucHV0LmVycm9yIHtcbiAgY29sb3I6IEBzdGF0ZS1kYW5nZXItdGV4dDtcbiAgYm9yZGVyLWNvbG9yOiBAc3RhdGUtZGFuZ2VyLWJvcmRlcjtcbn1cbmZpZWxkc2V0IGxlZ2VuZC5wYW5lbC1oZWFkaW5nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMDtcbn1cbmZpZWxkc2V0IC5wYW5lbC1ib2R5IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5maWVsZHNldCAucGFuZWwtaGVhZGluZyBhLnBhbmVsLXRpdGxlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0xMHB4IC0xNXB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tYWN0aW9uc3tcbiAgY2xlYXI6IGJvdGg7XG59XG4ucmVzaXphYmxlLXRleHRhcmVhIHRleHRhcmVhIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbn1cbi5yYWRpbywgLmNoZWNrYm94IHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5oZWxwLWJsb2NrLCAuY29udHJvbC1ncm91cCAuaGVscC1pbmxpbmUge1xuICBjb2xvcjogQGdyYXktbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuLnBhbmVsLWhlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmEudGFibGVkcmFnLWhhbmRsZSAuaGFuZGxlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gRXJyb3IgY29udGFpbmVycy5cbi5lcnJvciB7XG4gIGNvbG9yOiBAc3RhdGUtZGFuZ2VyLXRleHQ7XG59XG5kaXYuZXJyb3IsXG50YWJsZSB0ci5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdGF0ZS1kYW5nZXItYmc7XG4gIGNvbG9yOiBAc3RhdGUtZGFuZ2VyLXRleHQ7XG59XG4uY29udHJvbC1ncm91cC5lcnJvciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxhYmVsLCAuY29udHJvbC1sYWJlbCB7XG4gICAgY29sb3I6IEBzdGF0ZS1kYW5nZXItdGV4dDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtYm9yZGVyO1xuICB9XG4gIC5oZWxwLWJsb2NrLCAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBMaXN0c1xuLmxpc3QtaW5saW5lIHtcbiAgPiBsaS5maXJzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG4ubmF2LXRhYnMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxudWwgbGkuY29sbGFwc2VkLFxudWwgbGkuZXhwYW5kZWQsXG51bCBsaS5sZWFmIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbn1cbi50YWJzLS1zZWNvbmRhcnkge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG4vLyBTdWJtaXR0ZWRcbi5zdWJtaXR0ZWQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM3Nzc7XG59XG5cbi8vIFBhc3N3b3JkIHN0cmVuZ3RoIGluZGljYXRvci5cbi5wYXNzd29yZC1zdHJlbmd0aCB7XG4gIHdpZHRoOiAxN2VtO1xuICBmbG9hdDogcmlnaHQ7ICAvKiBMVFIgKi9cbiAgbWFyZ2luLXRvcDogMS40ZW07XG59XG4ucGFzc3dvcmQtc3RyZW5ndGgtdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ucGFzc3dvcmQtc3RyZW5ndGgtdGV4dCB7XG4gIGZsb2F0OiByaWdodDsgLyogTFRSICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnBhc3N3b3JkLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIsIDIlKTtcbiAgaGVpZ2h0OiAwLjNlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI7XG4gIH1cbn1cbmlucHV0LnBhc3N3b3JkLWNvbmZpcm0sXG5pbnB1dC5wYXNzd29yZC1maWVsZCB7XG4gIHdpZHRoOiAxNmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjRlbTtcbn1cbmRpdi5wYXNzd29yZC1jb25maXJtIHtcbiAgZmxvYXQ6IHJpZ2h0OyAgLyogTFRSICovXG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxN2VtO1xufVxuZGl2LmZvcm0taXRlbSBkaXYucGFzc3dvcmQtc3VnZ2VzdGlvbnMge1xuICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgbWFyZ2luOiAwLjdlbSAwO1xuICB3aWR0aDogMzguNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQjRCNEI0O1xufVxuZGl2LnBhc3N3b3JkLXN1Z2dlc3Rpb25zIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jb25maXJtLXBhcmVudCxcbi5wYXNzd29yZC1wYXJlbnQge1xuICBjbGVhcjogbGVmdDsgLyogTFRSICovXG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDM2LjNlbTtcbn1cblxuLy8gUHJvZ3Jlc3MgYmFyLlxuLnByb2dyZXNzLXdyYXBwZXIgLnByb2dyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLy8gVmlld3MgQUpBWCBwYWdlci5cbi5wYWdpbmF0aW9uIHVsID4gbGkgPiBhIHtcbiAgJi5wcm9ncmVzcy1kaXNhYmxlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLy8gQXV0b2NvbXBsZXRlIGFuZCB0aHJvYmJlclxuLmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgLmdseXBoaWNvbiB7XG4gICAgY29sb3I6IEBncmF5LWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAmLmdseXBoaWNvbi1zcGluIHtcbiAgICAgIGNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcbiAgICB9XG4gIH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIH1cbn1cblxuLy8gQUpBWCBcIlRocm9iYmVyXCIuXG4uYWpheC1wcm9ncmVzcyB7XG4gIC5nbHlwaGljb24ge1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIG1hcmdpbjogMCAtLjI1ZW0gMCAwLjVlbTtcbiAgfVxufVxuXG4uZ2x5cGhpY29uLXNwaW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgLW8tYW5pbWF0aW9uOiBzcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IHNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xufVxuYSAuZ2x5cGhpY29uLXNwaW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkAtbW96LWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC1vLWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkAtbXMta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG4uZ2x5cGhpY29uLXJlZnJlc2gge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDQ1JTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG59XG5cbi8qKlxuICogTWlzc2luZyBCb290c3RyYXAgMiB0YWIgc3R5bGluZy5cbiAqIEBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQzMjU3Ny9zdGFja2VkLXRhYnMtaW4tYm9vdHN0cmFwLTNcbiAqIEBzZWUgaHR0cDovL2Jvb3RwbHkuY29tLzc0OTI2XG4gKi9cbi50YWJiYWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4udGFicy1iZWxvdywgLnRhYnMtbGVmdCwgLnRhYnMtcmlnaHQge1xuICA+IC5uYXYtdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAuc3VtbWFyeSB7XG4gICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIH1cbiAgfVxufVxuLnRhYi1wYW5lID4gLnBhbmVsLWhlYWRpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCZWxvdy5cbi50YWJzLWJlbG93IHtcbiAgPiAubmF2LXRhYnMge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgID4gbGkge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICA+IGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSB7XG4gICAgICA+IGEsXG4gICAgICA+IGE6aG92ZXIsXG4gICAgICA+IGE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IEBuYXYtdGFicy1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMZWZ0IGFuZCByaWdodCB0YWJzLlxuLnRhYnMtbGVmdCxcbi50YWJzLXJpZ2h0IHtcbiAgPiAubmF2LXRhYnMge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICA+IGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWItY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAuYm94LXNoYWRvdygwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICB9XG59XG5cbi8vIExlZnQgdGFicy5cbi50YWJzLWxlZnQge1xuICA+IC5uYXYtdGFicyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgMCAwIEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50IEBuYXYtdGFicy1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIC5ib3gtc2hhZG93KC0xcHggMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSaWdodCB0YWJzLlxuLnRhYnMtcmlnaHQge1xuICA+IC5uYXYtdGFicyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDA7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgLmJveC1zaGFkb3coMXB4IDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tib3ggY2VsbCBmaXguXG50aC5jaGVja2JveCxcbnRkLmNoZWNrYm94LFxudGgucmFkaW8sXG50ZC5yYWRpbyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8vIFZpZXdzIFVJIGZpeGVzLlxuLnZpZXdzLWRpc3BsYXktc2V0dGluZ3Mge1xuICAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBjb2xvcjojNjY2NjY2O1xuICB9XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46NHB4IDAgMCAwO1xuICB9XG59XG5cbi8vIFJhZGlvIGFuZCBjaGVja2JveCBpbiB0YWJsZSBmaXhlc1xudGFibGUge1xuICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gRXhwb3NlZCBmaWx0ZXJzXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoMiAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBUcmVhdCBhbGwgbGlua3MgaW5zaWRlIGFsZXJ0IGFzIC5hbGVydC1saW5rXG4uYWxlcnQgYSB7XG4gIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cbi5hbGVydC1zdWNjZXNzIGEge1xuICBjb2xvcjogZGFya2VuKEBhbGVydC1zdWNjZXNzLXRleHQsIDEwJSk7XG59XG4uYWxlcnQtaW5mbyBhIHtcbiAgY29sb3I6IGRhcmtlbihAYWxlcnQtaW5mby10ZXh0LCAxMCUpO1xufVxuLmFsZXJ0LXdhcm5pbmcgYSB7XG4gIGNvbG9yOiBkYXJrZW4oQGFsZXJ0LXdhcm5pbmctdGV4dCwgMTAlKTtcbn1cbi5hbGVydC1kYW5nZXIgYSB7XG4gIGNvbG9yOiBkYXJrZW4oQGFsZXJ0LWRhbmdlci10ZXh0LCAxMCUpO1xufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogIzU1NTsgQGJvcmRlci1jb2xvcjogI2NjYzsgQGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG4uZm9ybS1jb250cm9sLWZvY3VzKEBjb2xvcjogQGlucHV0LWJvcmRlci1mb2N1cykge1xuICBAY29sb3ItcmdiYTogcmdiYShyZWQoQGNvbG9yKSwgZ3JlZW4oQGNvbG9yKSwgYmx1ZShAY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggQHtjb2xvci1yZ2JhfVwiKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcblxuICBzZWxlY3QmIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSYsXG4gIHNlbGVjdFttdWx0aXBsZV0mIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiBAYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1iYXNlLXZlcnRpY2FsOyBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7IEBmb250LXNpemUtYmFzZTsgQGxpbmUtaGVpZ2h0LWJhc2U7IEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAudXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgLnRhYi1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBAYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzXG4gICAgLm9wYWNpdHkoLjY1KTtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kZWZhdWx0LWNvbG9yOyBAYnRuLWRlZmF1bHQtYmc7IEBidG4tZGVmYXVsdC1ib3JkZXIpO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tcHJpbWFyeS1jb2xvcjsgQGJ0bi1wcmltYXJ5LWJnOyBAYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tc3VjY2Vzcy1jb2xvcjsgQGJ0bi1zdWNjZXNzLWJnOyBAYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1pbmZvLWNvbG9yOyBAYnRuLWluZm8tYmc7IEBidG4taW5mby1ib3JkZXIpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuLmJ0bi13YXJuaW5nIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4td2FybmluZy1jb2xvcjsgQGJ0bi13YXJuaW5nLWJnOyBAYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kYW5nZXItY29sb3I7IEBidG4tZGFuZ2VyLWJnOyBAYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6IEBsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXhzLXZlcnRpY2FsOyBAcGFkZGluZy14cy1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLmJ1dHRvbi12YXJpYW50KEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi5idXR0b24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuIiwiLy9cbi8vIEJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIC5idG4tZ3JvdXAsXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBDdXN0b20gZWRpdHMgZm9yIGluY2x1ZGluZyBidG4tZ3JvdXBzIHdpdGhpbiBidG4tZ3JvdXBzICh1c2VmdWwgZm9yIGluY2x1ZGluZyBkcm9wZG93biBidXR0b25zIHdpdGhpbiBhIGJ0bi1ncm91cClcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZCB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIE9uIGFjdGl2ZSBhbmQgb3BlbiwgZG9uJ3Qgc2hvdyBvdXRsaW5lXG4uYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGU6YWN0aXZlLFxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXhzID4gLmJ0biB7ICY6ZXh0ZW5kKC5idG4teHMpOyB9XG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7ICY6ZXh0ZW5kKC5idG4tc20pOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7ICY6ZXh0ZW5kKC5idG4tbGcpOyB9XG5cblxuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHaXZlIHRoZSBsaW5lIGJldHdlZW4gYnV0dG9ucyBzb21lIGRlcHRoXG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgYW5kIHNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIENhcmV0cyBpbiBvdGhlciBidXR0b24gc2l6ZXNcbi5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiBAY2FyZXQtd2lkdGgtbGFyZ2UgQGNhcmV0LXdpZHRoLWxhcmdlIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgQGNhcmV0LXdpZHRoLWxhcmdlIEBjYXJldC13aWR0aC1sYXJnZTtcbn1cblxuXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbiAgICA+IC5idG4ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBKdXN0aWZpZWQgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLWp1c3RpZmllZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAmLmluICAgICAgeyBkaXNwbGF5OiBibG9jazsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0ciYuaW4gICAgeyBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGJvZHkmLmluIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC50cmFuc2l0aW9uLXByb3BlcnR5KH5cImhlaWdodCwgdmlzaWJpbGl0eVwiKTtcbiAgLnRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIC50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlKTtcbn1cbiIsIi8vXG4vLyBEcm9wZG93biBtZW51c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBEcm9wZG93biBhcnJvdy9jYXJldFxuLmNhcmV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItdG9wOiAgIEBjYXJldC13aWR0aC1iYXNlIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogIEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI7IC8vIElFOCBmYWxsYmFja1xuICBib3JkZXI6IDFweCBzb2xpZCBAZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAuYm94LXNoYWRvdygwIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIC8vIEFsaWducyB0aGUgZHJvcGRvd24gbWVudSB0byByaWdodFxuICAvL1xuICAvLyBEZXByZWNhdGVkIGFzIG9mIDMuMS4wIGluIGZhdm9yIG9mIGAuZHJvcGRvd24tbWVudS1bZGlyXWBcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIHRoZSBkcm9wZG93blxuICAuZGl2aWRlciB7XG4gICAgLm5hdi1kaXZpZGVyKEBkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICB9XG59XG5cbi8vIEhvdmVyL0ZvY3VzIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbi8vXG4vLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAucmVzZXQtZmlsdGVyKCk7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLm9wZW4ge1xuICAvLyBTaG93IHRoZSBtZW51XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gOmZvY3VzIGlzIHRyaWdnZXJlZFxuICA+IGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gTWVudSBwb3NpdGlvbmluZ1xuLy9cbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cbi8vIG1lbnUgd2l0aCB0aGUgcGFyZW50LlxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgcmlnaHQ6IDA7XG59XG4vLyBXaXRoIHYzLCB3ZSBlbmFibGVkIGF1dG8tZmxpcHBpbmcgaWYgeW91IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gYSByaWdodFxuLy8gYWxpZ25lZCBuYXYgY29tcG9uZW50LiBUbyBlbmFibGUgdGhlIHVuZG9pbmcgb2YgdGhhdCwgd2UgcHJvdmlkZSBhbiBvdmVycmlkZVxuLy8gdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBkcm9wZG93biBtZW51IGFsaWdubWVudC5cbi8vXG4vLyBUaGlzIGlzIG9ubHkgZm9yIGxlZnQtYWxpZ25pbmcgYSBkcm9wZG93biBtZW51IHdpdGhpbiBhIGAubmF2YmFyLXJpZ2h0YCBvclxuLy8gYC5wdWxsLXJpZ2h0YCBuYXYgY29tcG9uZW50LlxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAoQHppbmRleC1kcm9wZG93biAtIDEwKTtcbn1cblxuLy8gUmlnaHQgYWxpZ25lZCBkcm9wZG93bnNcbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vL1xuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LCBicm8uXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlaXRlcmF0ZSBwZXIgbmF2YmFyLmxlc3MgYW5kIHRoZSBtb2RpZmllZCBjb21wb25lbnQgYWxpZ25tZW50IHRoZXJlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAuZHJvcGRvd24tbWVudS1yaWdodCgpO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIC5kcm9wZG93bi1tZW51LWxlZnQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuLm5hdi1kaXZpZGVyKEBjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xufVxuIiwiLy9cbi8vIElucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGRyb3Bkb3duc1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgLy8gcHJldmVudCBpbnB1dCBncm91cHMgZnJvbSBpbmhlcml0aW5nIGJvcmRlciBzdHlsZXMgZnJvbSB0YWJsZSBjZWxscyB3aGVuIHBsYWNlZCB3aXRoaW4gYSB0YWJsZVxuXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaW5wdXQgaXMgYWx3YXlzIGFib3ZlIHRoZSAqYXBwZW5kZWQqIGFkZG9uIGJ1dHRvbiBmb3JcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIElFOSBmdWJhcnMgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBpbiB0ZXh0IGlucHV0cyBhbmQgdGhlIGFycm93cyBvblxuICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtbGcoKTtcbn1cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIC5pbnB1dC1zbSgpO1xufVxuXG5cbi8vIERpc3BsYXkgYXMgdGFibGUtY2VsbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi8vIEFkZG9uIGFuZCBhZGRvbiB3cmFwcGVyIGZvciBidXR0b25zXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2lkdGg6IDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBNYXRjaCB0aGUgaW5wdXRzXG59XG5cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiBAcGFkZGluZy1iYXNlLXZlcnRpY2FsIEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBTaXppbmdcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZzogQHBhZGRpbmctc21hbGwtdmVydGljYWwgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgJi5pbnB1dC1sZyB7XG4gICAgcGFkZGluZzogQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBCdXR0b24gaW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBKYW5raWx5IHByZXZlbnQgaW5wdXQgYnV0dG9uIGdyb3VwcyBmcm9tIHdyYXBwaW5nIHdpdGggYHdoaXRlLXNwYWNlYCBhbmRcbiAgLy8gYGZvbnQtc2l6ZWAgaW4gY29tYmluYXRpb24gd2l0aCBgaW5saW5lLWJsb2NrYCBvbiBidXR0b25zLlxuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBzcGFjaW5nLCBwb3NpdGlvbiBmb3IgYnJpbmdpbmcgaG92ZXJlZC9mb2N1c2VkL2FjdGl2ZWRcbiAgLy8gZWxlbWVudCBhYm92ZSB0aGUgc2libGluZ3MuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiB0byBvbmx5IGhhdmUgYSAxcHggYm9yZGVyIGJldHdlZW4gdGhlIHR3b1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiBAbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXG4gICAgJi5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6IEBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3BlbiBkcm9wZG93bnNcbiAgLm9wZW4gPiBhIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoKTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgLm5hdi1qdXN0aWZpZWQoKTtcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkKCk7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogQG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BlY2lmaWMgZHJvcGRvd25zXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBtYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogQG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiBAbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IEBuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiBAbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IEBzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiBAemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogQG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6ICAgIDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogMTBweCBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuXG4gIC8vIE1peGluIGJlaGF2aW9yIGZvciBvcHRpbXVtIGRpc3BsYXlcbiAgLmZvcm0taW5saW5lKCk7XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIGV4cGFuZGVkLCBob3Jpem9udGFsIG5hdmJhclxuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoQG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAmLmJ0bi1zbSB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxuLy8gaXNzdWVzIHdpdGggcGFyZW50cyBhbmQgY2hhaW5pbmcuIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBuYXZiYXIgaXMgdW5jb2xsYXBzZWRcbi8vIHRob3VnaCBzbyB0aGF0IG5hdmJhciBjb250ZW50cyBwcm9wZXJseSBzdGFjayBhbmQgYWxpZ24gaW4gbW9iaWxlLlxuLy9cbi8vIERlY2xhcmVkIGFmdGVyIHRoZSBuYXZiYXIgY29tcG9uZW50cyB0byBlbnN1cmUgbW9yZSBzcGVjaWZpY2l0eSBvbiB0aGUgbWFyZ2lucy5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1sZWZ0ICB7IC5wdWxsLWxlZnQoKTsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAucHVsbC1yaWdodCgpO1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcbiAgLy9cbiAgLy8gQWRkIGEgY2xhc3MgdG8gZW5zdXJlIGxpbmtzIG91dHNpZGUgdGhlIG5hdmJhciBuYXYgYXJlIGNvbG9yZWQgY29ycmVjdGx5LlxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnNlIG5hdmJhclxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYmc7XG4gIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIC5jZW50ZXItYmxvY2soKTtcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIC50ZXh0LWhpZGUoKTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy9cbi8vIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5icmVhZGNydW1iIHtcbiAgcGFkZGluZzogQGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbCBAYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyZWFkY3J1bWItYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgKyBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJAe2JyZWFkY3J1bWItc2VwYXJhdG9yfVxcMDBhMFwiOyAvLyBVbmljb2RlIHNwYWNlIGFkZGVkIHNpbmNlIGlubGluZS1ibG9jayBtZWFucyBub24tY29sbGFwc2luZyB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBjb2xvcjogQGJyZWFkY3J1bWItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBjb2xvcjogQGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gUGFnaW5hdGlvbiAobXVsdGlwbGUgcGFnZXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQgMDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIENvbGxhcHNlIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiBAcGFkZGluZy1iYXNlLXZlcnRpY2FsIEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBAcGFnaW5hdGlvbi1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWJnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgQHBhZ2luYXRpb24tYm9yZGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGxpID4gYSxcbiAgPiBsaSA+IHNwYW4ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cblxuLy8gU21hbGxcbi5wYWdpbmF0aW9uLXNtIHtcbiAgLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4ucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdlci1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiBAcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnByZXZpb3VzIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMsXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBAcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuICBhJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBDb2xvcnNcbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGxhYmVscyBnZXQgZGFya2VyIG9uIDpob3ZlcilcblxuLmxhYmVsLWRlZmF1bHQge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1zdWNjZXNzLWJnKTtcbn1cblxuLmxhYmVsLWluZm8ge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRhbmdlci1iZyk7XG59XG4iLCIvLyBMYWJlbHNcblxuLmxhYmVsLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IEBiYWRnZS1mb250LXdlaWdodDtcbiAgY29sb3I6IEBiYWRnZS1jb2xvcjtcbiAgbGluZS1oZWlnaHQ6IEBiYWRnZS1saW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWRnZS1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJhZGdlLWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbiAgLmJ0bi14cyAmIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMXB4IDVweDtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3VudCBmb3IgYmFkZ2VzIGluIG5hdnNcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAmLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAmIHtcbiAgICBjb2xvcjogQGJhZGdlLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYWN0aXZlLWJnO1xuICB9XG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYgKyAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuICAubmF2LXBpbGxzID4gbGkgPiBhID4gJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuIiwiLy9cbi8vIEp1bWJvdHJvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZzogQGp1bWJvdHJvbi1wYWRkaW5nIChAanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogQGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogQGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGp1bWJvdHJvbi1iZztcblxuICBoMSxcbiAgLmgxIHtcbiAgICBjb2xvcjogQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yO1xuICB9XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgICBmb250LXNpemU6IEBqdW1ib3Ryb24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICA+IGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGp1bWJvdHJvbi1iZywgMTAlKTtcbiAgfVxuXG4gIC5jb250YWluZXIgJixcbiAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTsgLy8gT25seSByb3VuZCBjb3JuZXJzIGF0IGhpZ2hlciByZXNvbHV0aW9ucyBpZiBjb250YWluZWQgaW4gYSBjb250YWluZXJcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgcGFkZGluZzogKEBqdW1ib3Ryb24tcGFkZGluZyAqIDEuNikgMDtcblxuICAgIC5jb250YWluZXIgJixcbiAgICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKEBqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKEBqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgIH1cblxuICAgIGgxLFxuICAgIC5oMSB7XG4gICAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiA0LjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiBAYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQGFsZXJ0LWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLy8gU3BlY2lmaWVkIGZvciB0aGUgaDQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgQGhlYWRpbmdzLWNvbG9yXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoQGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICAuYWxlcnQtdmFyaWFudChAYWxlcnQtc3VjY2Vzcy1iZzsgQGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOyBAYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cbi5hbGVydC1pbmZvIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWluZm8tYmc7IEBhbGVydC1pbmZvLWJvcmRlcjsgQGFsZXJ0LWluZm8tdGV4dCk7XG59XG4uYWxlcnQtd2FybmluZyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC13YXJuaW5nLWJnOyBAYWxlcnQtd2FybmluZy1ib3JkZXI7IEBhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1kYW5nZXItYmc7IEBhbGVydC1kYW5nZXItYm9yZGVyOyBAYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbi5hbGVydC12YXJpYW50KEBiYWNrZ3JvdW5kOyBAYm9yZGVyOyBAdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbihAYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oQHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhciBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdlYktpdFxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLy8gU3BlYyBhbmQgSUUxMCtcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vIEJhciBpdHNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gT3V0ZXIgY29udGFpbmVyXG4ucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJvZ3Jlc3MtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSkpO1xufVxuXG4vLyBCYXIgb2YgcHJvZ3Jlc3Ncbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgY29sb3I6IEBwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByb2dyZXNzLWJhci1iZztcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgLnRyYW5zaXRpb24od2lkdGggLjZzIGVhc2UpO1xufVxuXG4vLyBTdHJpcGVkIGJhcnNcbi8vXG4vLyBgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci1zdHJpcGVkYCBjbGFzcywgd2hpY2ggeW91IGp1c3QgYWRkIHRvIGFuIGV4aXN0aW5nXG4vLyBgLnByb2dyZXNzLWJhcmAuXG4ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG59XG5cbi8vIENhbGwgYW5pbWF0aW9uIGZvciB0aGUgYWN0aXZlIG9uZVxuLy9cbi8vIGAucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXIuYWN0aXZlYCBhcHByb2FjaC5cbi5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXIuYWN0aXZlIHtcbiAgLmFuaW1hdGlvbihwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGUpO1xufVxuXG5cbi8vIFZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLWluZm8tYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXdhcm5pbmcge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1kYW5nZXIge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbiNncmFkaWVudCB7XG5cbiAgLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLnZlcnRpY2FsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICB9XG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAudmVydGljYWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpOyBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG4ucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgLy8gUHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBpbnN0YW5jZXMgb2YgLm1lZGlhXG4gIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEgPiAucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tZWRpYS1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWVkaWEtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBoZWFkaW5ncyBmb3IgdGlnaHRlciBkZWZhdWx0IHNwYWNpbmdcbi5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cbi8vIFVuZG8gZGVmYXVsdCB1bC9vbCBzdHlsZXNcbi5tZWRpYS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy9cbi8vIExpc3QgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAbGlzdC1ncm91cC1ib3JkZXI7XG5cbiAgLy8gUm91bmQgdGhlIGZpcnN0IGFuZCBsYXN0IGl0ZW1zXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cyhAbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKEBsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy8gTGlua2VkIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBsaW5rZWQgbGlzdCBpdGVtcy5cbi8vIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2hvd2luZyBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQ6aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSxcbiAgJi5hY3RpdmU6aG92ZXIsXG4gICYuYWN0aXZlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChzdWNjZXNzOyBAc3RhdGUtc3VjY2Vzcy1iZzsgQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbzsgQHN0YXRlLWluZm8tYmc7IEBzdGF0ZS1pbmZvLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmc7IEBzdGF0ZS13YXJuaW5nLWJnOyBAc3RhdGUtd2FybmluZy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChkYW5nZXI7IEBzdGF0ZS1kYW5nZXItYmc7IEBzdGF0ZS1kYW5nZXItdGV4dCk7XG5cblxuLy8gQ3VzdG9tIGNvbnRlbnQgb3B0aW9uc1xuLy9cbi8vIEV4dHJhIGNsYXNzZXMgZm9yIGNyZWF0aW5nIHdlbGwtZm9ybWF0dGVkIGNvbnRlbnQgd2l0aGluIGAubGlzdC1ncm91cC1pdGVtYHMuXG5cbi5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoQHN0YXRlOyBAYmFja2dyb3VuZDsgQGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tQHtzdGF0ZX0ge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG5cbiAgICBhJiB7XG4gICAgICBjb2xvcjogQGNvbG9yO1xuXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBwYW5lbC1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdygwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbn1cblxuLy8gUGFuZWwgY29udGVudHNcbi5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIE9wdGlvbmFsIGhlYWRpbmdcbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBmb290ZXIgKHN0YXlzIGdyYXkgaW4gZXZlcnkgbW9kaWZpZXIgY2xhc3MpXG4ucGFuZWwtZm9vdGVyIHtcbiAgcGFkZGluZzogQHBhbmVsLWZvb3Rlci1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtZm9vdGVyLWJnO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBDb2xsYXBzZSBzcGFjZSBiZXR3ZWVuIHdoZW4gdGhlcmUncyBubyBhZGRpdGlvbmFsIGNvbnRlbnQuXG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLy8gVGFibGVzIGluIHBhbmVsc1xuLy9cbi8vIFBsYWNlIGEgbm9uLWJvcmRlcmVkIGAudGFibGVgIHdpdGhpbiBhIHBhbmVsIChub3Qgd2l0aGluIGEgYC5wYW5lbC1ib2R5YCkgYW5kXG4vLyB3YXRjaCBpdCBnbyBmdWxsIHdpZHRoLlxuXG4ucGFuZWwge1xuICA+IC50YWJsZSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBjYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0aGVhZDpmaXJzdC1jaGlsZCxcbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgPiAudGFibGU6bGFzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2FibGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGVmYXVsdC1ib3JkZXI7IEBwYW5lbC1kZWZhdWx0LXRleHQ7IEBwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc7IEBwYW5lbC1kZWZhdWx0LWJvcmRlcik7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1wcmltYXJ5LWJvcmRlcjsgQHBhbmVsLXByaW1hcnktdGV4dDsgQHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzsgQHBhbmVsLXByaW1hcnktYm9yZGVyKTtcbn1cbi5wYW5lbC1zdWNjZXNzIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOyBAcGFuZWwtc3VjY2Vzcy10ZXh0OyBAcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOyBAcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtaW5mby1ib3JkZXI7IEBwYW5lbC1pbmZvLXRleHQ7IEBwYW5lbC1pbmZvLWhlYWRpbmctYmc7IEBwYW5lbC1pbmZvLWJvcmRlcik7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC13YXJuaW5nLWJvcmRlcjsgQHBhbmVsLXdhcm5pbmctdGV4dDsgQHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzsgQHBhbmVsLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5wYW5lbC1kYW5nZXIge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGFuZ2VyLWJvcmRlcjsgQHBhbmVsLWRhbmdlci10ZXh0OyBAcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc7IEBwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG4ucGFuZWwtdmFyaWFudChAYm9yZGVyOyBAaGVhZGluZy10ZXh0LWNvbG9yOyBAaGVhZGluZy1iZy1jb2xvcjsgQGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIE1vZGlmaWVyIGNsYXNzIGZvciAxNjo5IGFzcGVjdCByYXRpb1xuICAmLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIH1cblxuICAvLyBNb2RpZmllciBjbGFzcyBmb3IgNDozIGFzcGVjdCByYXRpb1xuICAmLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgfVxufVxuIiwiLy9cbi8vIFdlbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdlbGwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB3ZWxsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcbiAgfVxufVxuXG4vLyBTaXplc1xuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cbi53ZWxsLXNtIHtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbn1cbiIsIi8vXG4vLyBDbG9zZSBpY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiBAY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGNsb3NlLXRleHQtc2hhZG93O1xuICAub3BhY2l0eSguMik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5vcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbiAgLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4gIC8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuICBidXR0b24mIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG4iLCIvL1xuLy8gTW9kYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc2hpdFxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1tb2RhbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICAudHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC50cmFuc2l0aW9uLXRyYW5zZm9ybSh+XCIwLjNzIGVhc2Utb3V0XCIpO1xuICB9XG4gICYuaW4gLm1vZGFsLWRpYWxvZyB7IC50cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICAuYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgLm9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IC5vcGFjaXR5KEBtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIG1pbi1oZWlnaHQ6IChAbW9kYWwtdGl0bGUtcGFkZGluZyArIEBtb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogQG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogQG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7IC8vIGNsZWFyIGl0IGluIGNhc2UgZm9sa3MgdXNlIC5wdWxsLSogY2xhc3NlcyBvbiBidXR0b25zXG5cbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICB9XG4gIC8vIGJ1dCBvdmVycmlkZSB0aGF0IGZvciBidXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXG4gIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiBAbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIC5ib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6IEBtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6IEBtb2RhbC1sZzsgfVxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiBAemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAvLyBSZXNldCBmb250IGFuZCB0ZXh0IHByb3BlcnRlcyBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgLm9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyAub3BhY2l0eShAdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gUG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IEBwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogMXB4O1xuICAvLyBSZXNldCBmb250IGFuZCB0ZXh0IHByb3BlcnRlcyBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCBAcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG4gIC8vIE92ZXJyaWRlcyBmb3IgcHJvcGVyIGluc2VydGlvblxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5yaWdodCAgIHsgbWFyZ2luLWxlZnQ6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tICB7IG1hcmdpbi10b3A6IEBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYubGVmdCAgICB7IG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbn1cblxuLnBvcG92ZXItdGl0bGUge1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oQHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgYm9yZGVyLXJhZGl1czogKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgKEBib3JkZXItcmFkaXVzLWxhcmdlIC0gMSkgMCAwO1xufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7XG59XG5cbi8vIEFycm93c1xuLy9cbi8vIC5hcnJvdyBpcyBvdXRlciwgLmFycm93OmFmdGVyIGlzIGlubmVyXG5cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgJixcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBAcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCA+IC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5ib3R0b20gPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIHRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXhzLFxuLnZpc2libGUtc20sXG4udmlzaWJsZS1tZCxcbi52aXNpYmxlLWxnIHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG59XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4teHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXByaW50IHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRhYmxlJiAgeyBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ciYgICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgmLFxuICB0ZCYgICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gIEBmb250LWZhY2Uge1xuLy8gICAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbi8vICAgIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS10aGlufS5lb3QnKVwiO1xuLy8gICAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLXRoaW59LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcIixcbi8vICAgICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS10aGlufS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbi8vICAgICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS10aGlufS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbi8vICAgICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS10aGlufS5zdmcjQHtsb2NhbC1mb250LW5hbWUtdGhpbn0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4vLyAgICBmb250LXdlaWdodDogMTAwO1xuLy8gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gIH1cbi8vICBcbi8vICBAZm9udC1mYWNlIHtcbi8vICAgIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4vLyAgICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodH0uZW90JylcIjtcbi8vICAgIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1leHRyYWxpZ2h0fS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodH0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodH0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLWV4dHJhbGlnaHR9JykgZm9ybWF0KCdzdmcnKVwiO1xuLy8gICAgZm9udC13ZWlnaHQ6IDIwMDtcbi8vICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICB9XG4vLyAgXG4vLyAgQGZvbnQtZmFjZSB7XG4vLyAgICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuLy8gICAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWxpZ2h0fS5lb3QnKVwiO1xuLy8gICAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWxpZ2h0fS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbGlnaHR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuLy8gICAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWxpZ2h0fS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbi8vICAgICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1saWdodH0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLWxpZ2h0fScpIGZvcm1hdCgnc3ZnJylcIjtcbi8vICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4vLyAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLXJlZ3VsYXJ9LmVvdCcpXCI7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1yZWd1bGFyfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1yZWd1bGFyfS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLXJlZ3VsYXJ9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtcmVndWxhcn0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLXJlZ3VsYXJ9JykgZm9ybWF0KCdzdmcnKVwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbWVkaXVtfS5lb3QnKVwiO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbWVkaXVtfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1tZWRpdW19LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbWVkaXVtfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLW1lZGl1bX0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLW1lZGl1bX0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0uZW90JylcIjtcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLXNlbWlib2xkfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLXNlbWlib2xkfScpIGZvcm1hdCgnc3ZnJylcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWJvbGR9LmVvdCcpXCI7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ib2xkfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ib2xkfS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWJvbGR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYm9sZH0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLWJvbGR9JykgZm9ybWF0KCdzdmcnKVwiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFib2xkfS5lb3QnKVwiO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFib2xkfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1leHRyYWJvbGR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFib2xkfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhYm9sZH0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLWV4dHJhYm9sZH0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ibGFja30uZW90JylcIjtcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWJsYWNrfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ibGFja30ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ibGFja30udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ibGFja30uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLWJsYWNrfScpIGZvcm1hdCgnc3ZnJylcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufSIsIi8vXG4vLyBHbHlwaGljb25zIGZvciBGbGF0IFVJIEZyZWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGbGF0LVVJLUljb25zXCI7XG4gIHNyYzogflwidXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LmVvdCcpXCI7XG4gIHNyYzogflwidXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgICAgflwidXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5zdmcjQHtpY29uLWZvbnQtc3ZnLWlkfScpIGZvcm1hdCgnc3ZnJylcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbi8qIFVzZSB0aGUgZm9sbG93aW5nIENTUyBjb2RlIGlmIHlvdSB3YW50IHRvIHVzZSBkYXRhIGF0dHJpYnV0ZXMgZm9yIGluc2VydGluZyB5b3VyIGljb25zICovXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ0ZsYXQtVUktSWNvbnMnO1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vKiBVc2UgdGhlIGZvbGxvd2luZyBDU1MgY29kZSBpZiB5b3Ugd2FudCB0byBoYXZlIGEgY2xhc3MgcGVyIGljb24gKi9cbi8qXG5JbnN0ZWFkIG9mIGEgbGlzdCBvZiBhbGwgY2xhc3Mgc2VsZWN0b3JzLFxueW91IGNhbiB1c2UgdGhlIGdlbmVyaWMgc2VsZWN0b3IgYmVsb3csIGJ1dCBpdCdzIHNsb3dlcjpcbltjbGFzcyo9XCJmdWktXCJdIHtcbiovXG4uZnVpLWFycm93LXJpZ2h0LCAuZnVpLWFycm93LWxlZnQsIC5mdWktY21kLCAuZnVpLWNoZWNrLWludmVydGVkLCAuZnVpLWhlYXJ0LCAuZnVpLWxvY2F0aW9uLCAuZnVpLXBsdXMsIC5mdWktY2hlY2ssIC5mdWktY3Jvc3MsIC5mdWktbGlzdCwgLmZ1aS1uZXcsIC5mdWktdmlkZW8sIC5mdWktcGhvdG8sIC5mdWktdm9sdW1lLCAuZnVpLXRpbWUsIC5mdWktZXllLCAuZnVpLWNoYXQsIC5mdWktc2VhcmNoLCAuZnVpLXVzZXIsIC5mdWktbWFpbCwgLmZ1aS1sb2NrLCAuZnVpLWdlYXIsIC5mdWktcmFkaW8tdW5jaGVja2VkLCAuZnVpLXJhZGlvLWNoZWNrZWQsIC5mdWktY2hlY2tib3gtdW5jaGVja2VkLCAuZnVpLWNoZWNrYm94LWNoZWNrZWQsIC5mdWktY2FsZW5kYXItc29saWQsIC5mdWktcGF1c2UsIC5mdWktcGxheSwgLmZ1aS1jaGVjay1pbnZlcnRlZC0yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0ZsYXQtVUktSWNvbnMnO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLmZ1aS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyY1wiO1xufVxuLmZ1aS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDJkXCI7XG59XG4uZnVpLWNtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyZlwiO1xufVxuLmZ1aS1jaGVjay1pbnZlcnRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNlwiO1xufVxuLmZ1aS1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiO1xufVxuLmZ1aS1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOFwiO1xufVxuLmZ1aS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA5XCI7XG59XG4uZnVpLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBhXCI7XG59XG4uZnVpLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBiXCI7XG59XG4uZnVpLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGNcIjtcbn1cbi5mdWktbmV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBkXCI7XG59XG4uZnVpLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBlXCI7XG59XG4uZnVpLXBob3RvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBmXCI7XG59XG4uZnVpLXZvbHVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMFwiO1xufVxuLmZ1aS10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDExXCI7XG59XG4uZnVpLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMlwiO1xufVxuLmZ1aS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7XG59XG4uZnVpLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxY1wiO1xufVxuLmZ1aS11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFkXCI7XG59XG4uZnVpLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWVcIjtcbn1cbi5mdWktbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZlwiO1xufVxuLmZ1aS1nZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI0XCI7XG59XG4uZnVpLXJhZGlvLXVuY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyYlwiO1xufVxuLmZ1aS1yYWRpby1jaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMyXCI7XG59XG4uZnVpLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzM1wiO1xufVxuLmZ1aS1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM0XCI7XG59XG4uZnVpLWNhbGVuZGFyLXNvbGlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIyXCI7XG59XG4uZnVpLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDNiXCI7XG59XG4uZnVpLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwM2NcIjtcbn1cbi5mdWktY2hlY2staW52ZXJ0ZWQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiO1xufVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJvZHkgcmVzZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbn1cblxuLy8gTGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYSB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAudHJhbnNpdGlvbiguMjVzKTtcbiAgICBcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi8vIEltYWdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byB0aHVtYm5haWxzLmxlc3MgZm9yIGAudGh1bWJuYWlsYC5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMnB4IHNvbGlkIEB0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIC50cmFuc2l0aW9uKGFsbCAuMjVzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgLmltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XG59XG5cbi8vIERlc2NyaXB0aW9uIHRleHQgdW5kZXIgaW1hZ2Vcbi5pbWctY29tbWVudCB7XG4gIGZvbnQtc2l6ZTogY2VpbChAZm9udC1zaXplLWJhc2UgKiAwLjgzMzMpOyAvLyB+MTVweFxuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMjRweCAwO1xufSIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcbiAgXG4gIHNtYWxsIHtcbiAgICBjb2xvcjogQGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xuICB9XG59XG5cbmgxLFxuaDIsXG5oMyB7XG4gIG1hcmdpbi10b3A6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbmg2IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMTsgfSAvLyB+NjJweFxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMjsgfSAvLyB+NTJweFxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMzsgfSAvLyB+NDBweFxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNDsgfSAvLyB+MjlweFxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNTsgfSAvLyB+MjhweCBcbmg2LCAuaDYgeyBmb250LXNpemU6IEBmb250LXNpemUtaDY7IH0gLy8gfjI0cHhcblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIGZvbnQtc2l6ZTogICBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgbWFyZ2luOiAwIDAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBmb250LXdlaWdodDogQGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAZm9udC1jb2xvci1iYXNlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiAxLjU1Nik7ICAvLyB+MjhweFxuICBsaW5lLWhlaWdodDogMS40NjQyODU3MTsgICAgICAgICAgICAgICAgICAgICAgLy8gfjQxcHhcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNjY3KTsgICAgICAgLy8gfjMwcHhcbiAgfVxufVxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6IDE4cHggYmFzZSBmb250ICogODMlID0gYWJvdXQgMTVweFxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDgzJTsgICAgIC8vIH4xNXB4XG4gIGxpbmUtaGVpZ2h0OiAyLjA2NzsgLy8gfjMxcHhcbn1cblxuLy8gQ29udGV4dHVhbCBlbXBoYXNpc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG59XG4udGV4dC1pbnZlcnNlIHtcbiAgY29sb3I6IEBpbnZlcnNlO1xufVxuLnRleHQtcHJpbWFyeSB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGJyYW5kLXNlY29uZGFyeSk7XG59XG4udGV4dC13YXJuaW5nIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtd2FybmluZy10ZXh0KTtcbn1cbi50ZXh0LWRhbmdlciB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLWRhbmdlci10ZXh0KTtcbn1cbi50ZXh0LXN1Y2Nlc3Mge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLXRleHQpO1xufVxuLnRleHQtaW5mbyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLWluZm8tdGV4dCk7XG59XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6IEBpbnZlcnNlO1xuICAuYmctdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4uYmctc3VjY2VzcyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5iZy1pbmZvIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWluZm8tYmcpO1xufVxuLmJnLXdhcm5pbmcge1xuICAuYmctdmFyaWFudChAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uYmctZGFuZ2VyIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgLy9tYXJnaW46IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIFxufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXG4vLyBncmlkIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCAoZGVmYXVsdCBvZiB+NzY4cHgpLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAuZGwtaG9yaXpvbnRhbCB7XG4gICAgZHQge1xuICAgICAgd2lkdGg6IChAY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsIC0gMjApO1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogQGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTUlTQ1xuLy8gLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCBAYWJici1ib3JkZXItY29sb3I7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIHBhZGRpbmc6IDAgMCAwIDE2cHg7XG4gIG1hcmdpbjogMCAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjExMSk7IC8vIH4yMHB4XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gfjMxcHhcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IC40ZW07XG4gIH1cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogQGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gRmxvYXQgcmlnaHQgd2l0aCB0ZXh0LWFsaWduOiByaWdodFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItbGVmdDogMDtcblxuICAgIHNtYWxsIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn0iLCIvKiBTdHlsZXMgbmVjZXNzYXJ5IGZvciBxdWlja2xpbmtzICovXG5cblxuI3V3LWNvbnRhaW5lclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAjcXVpY2tsaW5rc1xuICAgIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQ0ZDRkO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAwIDkwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgICAgYmFja2dyb3VuZDogIzRkNGQ0ZDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg0Niw0Niw0NiwxKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0Niw0Niw0NiwxKSAwJSwgcmdiYSg3Nyw3Nyw3NywxKSA0JSwgcmdiYSg3Nyw3Nyw3NywxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDQ2LDQ2LDQ2LDEpKSwgY29sb3Itc3RvcCg0JSwgcmdiYSg3Nyw3Nyw3NywxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSg3Nyw3Nyw3NywxKSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDQ2LDQ2LDQ2LDEpIDAlLCByZ2JhKDc3LDc3LDc3LDEpIDQlLCByZ2JhKDc3LDc3LDc3LDEpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0Niw0Niw0NiwxKSAwJSwgcmdiYSg3Nyw3Nyw3NywxKSA0JSwgcmdiYSg3Nyw3Nyw3NywxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDQ2LDQ2LDQ2LDEpIDAlLCByZ2JhKDc3LDc3LDc3LDEpIDQlLCByZ2JhKDc3LDc3LDc3LDEpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoNDYsNDYsNDYsMSkgMCUsIHJnYmEoNzcsNzcsNzcsMSkgNCUsIHJnYmEoNzcsNzcsNzcsMSkgMTAwJSk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMmUyZTJlJywgZW5kQ29sb3JzdHI9JyM0ZDRkNGQnLCBHcmFkaWVudFR5cGU9MSApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMTkwLCAwKTtcbiAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAxOTAsIDApO1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDE5MCwgMCk7XG4gICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMTkwLCAwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAxOTAsIDApO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIHVsI2JpZy1saW5rcyB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgbGlcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwIDAgMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJpZ2h0Z29sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6MzBweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgICAgJi5pY29uLW1hcHNcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLmljb24tZGlyZWN0b3JpZXNcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04NHB4IC0zMDNweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuaWNvbi1jYWxlbmRhclxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTMwM3B4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5pY29uLWxpYnJhcmllc1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOXB4IC0zMDNweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmljb24tbWVkaWNpbmVcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5pY29uLW15dXdcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzRweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLmljb24tdXd0b2RheVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxOXB4IC0zMDNweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICBoM3tcbiAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWg2O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDMwcHggMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IC0xOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bCNsaXR0bGUtbGlua3N7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyaWdodGdvbGQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgIC5ib3JkZXItdG9wLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDEwMCUpO1xuICAgICAgICAgICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDEwMCUpO1xuICAgICAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cygxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMSk6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzhhMDBmZjsgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICM4YTAwZmY7IH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTQ5MjQzOyB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNCk6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzliYzM0MzsgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDUpOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICM5YmMzNDM7IH1cbiAgICAgICAgICAmOm50aC1jaGlsZCg2KTpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgMHB4IC0xNTlweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0yOHB4O1xuICAgICAgICAgICAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNyk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0zN3B4IC0xNTdweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0yOHB4O1xuICAgICAgICAgICAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2OTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IC0xNXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNyksXG4gICAgICAgICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgICB9XG5cblxuXG5cblxuICAgICAgICAgIGF7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuICAgICAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWg2O1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiBAYnJpZ2h0Z29sZDtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICAgYVxuICAgICAgICB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5vcGVuXG4gICAgICAgIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGRpdiN1dy1jb250YWluZXItaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAxMHB4IDBweCAxMXB4IC02cHggIzFmMWYxZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgICAvL2Rpdi51dy1ib2R5LXdyYXB7XG4gICAgICAgIC8vICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAvLyAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuICAgICAgICAvL31cbiAgICB9XG4gICAgJi5vcGVuXG4gICAge1xuICAgICAgICBkaXYjdXctY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgLTI3MCwgMCk7XG4gICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIC0yNzAsIDApO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAtMjcwLCAwKTtcbiAgICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgLTI3MCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIC0yNzAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy8gTW9iaWxlXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XG4gICN1dy1jb250YWluZXIge1xuICAgICNxdWlja2xpbmtzICB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA3MHB4O1xuICAgIH1cbn1cbn1cbiIsIi8vIFVXIERyb3dwZG93bnNcblxuLmFzc2lzdGl2ZS10ZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG5cdGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTtcblx0ei1pbmRleDogLTE7XG59XG5cbi8vIFJlc2V0c1xuXG4jZGF3Z2Ryb3BzIHtcblx0LmJveC1zaGFkb3coMCAxcHggM3B4IHJnYmEoMzQsIDI1LCAyNSwgMC40KSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHVsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGlzdC1zdHlsZTpub25lO1xuXHRcdC8vIEZvciBlcXVhbCB3aWR0aFxuXHRcdC8vZGlzcGxheTogdGFibGU7XG5cdFx0Ly90YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRcdC8vb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvL3dpZHRoOiAxMDAlXG5cdH1cblx0bGkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdC8vZGlzcGxheTogdGFibGUtY2VsbDsgLy8gRm9yIGVxdWFsIHdpZHRoXG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdG1hcmdpbjogMCAxMCU7XG5cdFx0fVxuXHR9XG59XG5cbi5kYXdnZHJvcHMtaW5uZXIge1xuXHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMjBweCAwIDVweCAwO1xufVxuXG4vLyBNZW51IGJsb2Nrc1xuXG4ubWVudS1ibG9jayB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDoyMzBweDtcbn1cblxuLmRhd2dkcm9wcy1pdGVtIHtcblx0Ji5kYXdnZHJvcHMtaXRlbSB7XG5cdFx0YSB7XG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1kYXdnZHJvcHM7XG5cdFx0Zm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0cGFkZGluZzogNXB4IDEwcHggMjFweCAxNXB4O1xuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogQGRhcmtnb2xkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsaSBhIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktZGF3Z2Ryb3BzO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRcdHBhZGRpbmctdG9wOiA0cHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdG1hcmdpbi10b3A6IDZweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogQHB1cnBsZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0U3RTdFNztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0YSB7XG5cblx0XHRjb2xvcjogQHB1cnBsZTtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nOiAyNHB4IDEwcHggMTlweCAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvL0NhcmV0XG5cdFx0Ji5kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHRcdCY6aG92ZXI6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yMDNweCAtNDkwcHg7XG5cdFx0XHRcdC5yb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdHdpZHRoOiAxOHB4O1xuXHRcdFx0XHRyaWdodDogNHB4O1xuXHRcdFx0XHR0b3A6IDhweDtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0XHRyaWdodDogOHB4O1xuXHRcdFx0XHR0b3A6IDE3cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMzUzcHggMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBGb3J3YXJkIHNsYXNoIG1lbnUtc2VwYXJhdG9yXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IC0xNHB4O1xuXHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHR0b3A6IDE0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9zdmcvc2xhc2guc3ZnJykgbm8tcmVwZWF0O1xuXHRcdH1cblx0XHQmOmZvY3VzIHtcblxuXHRcdH1cblx0fVxuXHQmOmhvdmVyIC5kYXdnZHJvcHMtbWVudSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0JjpsYXN0LWNoaWxkIGE6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5kYXdnZHJvcHMtbWVudSB7XG5cdHRvcDogNjZweDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5Om5vbmU7XG5cdG1pbi13aWR0aDogMjYwcHg7XG5cdC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgQHB1cnBsZTtcblx0cGFkZGluZzogMTBweCAwO1xuXHRtYXJnaW46IC0xcHggMCAwO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR6LWluZGV4OjE7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDhweCByZ2JhKDAsMCwwLC41KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDFweCAxcHggOHB4IHJnYmEoMCwwLDAsLjUpO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggOHB4IHJnYmEoMCwwLDAsLjUpO1xuXG5cdGxpIHtcblx0XHRmbG9hdDpsZWZ0O1xuXHRcdGNsZWFyOmxlZnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCAjZWVlO1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICM3MDcwNzA7XG5cdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHRtYXJnaW46IDEwcHggMzBweCAwcHggMjBweDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XG5cdCNkYXdnZHJvcHMge1xuIFx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4vKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MnB4KSB7XG5cdC5kYXdnZHJvcHMtaW5uZXIge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxuXHQuZGF3Z2Ryb3BzLWl0ZW0uZGF3Z2Ryb3BzLWl0ZW0ge1xuXHRcdCY6aG92ZXIgLmRhd2dkcm9wcy1tZW51IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0cGFkZGluZzogNHB4IDEwcHggMTBweCAxNXB4O1xuXHRcdFx0Ji5kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHRvcDogMTNweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDk5M3B4KSBhbmQgKG1heC13aWR0aCA6IDEyMDBweCkge1xuXHQuZGF3Z2Ryb3BzLWl0ZW0uZGF3Z2Ryb3BzLWl0ZW0gYSB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyM3B4O1xuXHR9XG59XG5cbi8vIFNwZWNpYWwgTXlVVyBidXR0b25cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNzY4cHgpIHtcblx0bmF2I2Rhd2dkcm9wcyAuYnRuLW15dXcgYSB7XG4gIFx0XHRmb250LXNpemU6IDE4cHg7XG4gIFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgXHRcdGNvbG9yOiAjRkZGO1xuICBcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcbiAgXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgXHRcdHRvcDogNjVweDtcbiAgXHRcdHJpZ2h0OiAwO1xuICBcdFx0cGFkZGluZzogMTVweCAyMHB4IDIwcHggMTAwcHg7XG4gIFx0XHR6LWluZGV4OiAtMTtcbiAgXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdCAgICAmOmFmdGVyIHtcbiAgXHRcdFx0Y29udGVudDogXCJcIjtcbiAgXHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgXHRcdFx0d2lkdGg6IDQwcHg7XG4gIFx0XHRcdGhlaWdodDogMzNweDtcbiAgXHRcdFx0bGVmdDogNThweDtcbiAgXHRcdFx0dG9wOiAxNnB4O1xuXHQgICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3BlcnNvbi5zdmcpIG5vLXJlcGVhdCAwIDA7XG5cdCAgICB9XG5cdCAgICAmOmhvdmVyIHtcblx0ICAgICAgY29sb3I6IGJsYWNrO1xuXHQgICAgfVxuXHQgICAgJjpiZWZvcmUge1xuXHQgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cdCAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIHRvcDogMTdweDtcblx0ICAgICAgICB3aWR0aDogNDUwcHg7XG5cdCAgICAgICAgaGVpZ2h0OiA2MHB4O1xuXHQgICAgICAgIGxlZnQ6IDMzcHg7XG5cdCAgICAgICAgdG9wOiAtMXB4O1xuXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkYXJrZ29sZDtcblx0ICAgICAgICAuc2tldygtMTVkZWcsMCk7XG5cdCAgICAgICAgei1pbmRleDogLTE7XG5cdCAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLDAsMCwuNCk7XG5cdCAgICB9XG5cdH1cbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuXHRwYWRkaW5nOiAwO1xuXHRcblx0YSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG59IiwiLy8gVVcgVGhpbnN0cmlwXG5cbi51dy10aGluc3RyaXAge1xuXHRoZWlnaHQ6IDkwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiBAcHVycGxlO1xuXHRwYWRkaW5nLXRvcDogMjJweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHQuYm94LXNoYWRvdygwIDJweCA1cHggcmdiYSgwLDAsMCwuMykpO1xuXG5cdC8vIENvbnRhaW5lclxuXHQuY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQvLyBBbGxlbiBTY2hvb2wgV29yZG1hcmtcblxuXHQuYWxsZW4tc2Nob29sLXdvcmRtYXJrIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDE3cHg7XG5cdFx0bGVmdDogMTVweDtcblx0XHRcblx0XHRpbWcge1xuXHRcdFx0bWFyZ2luLXRvcDogLTI1cHg7XG5cdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0fVxuXHR9XG5cbiAgZGl2LmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICBuYXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cblx0Ly8gQXVkaWVuY2VcblxuXHR1bC51dy10aGluLWxpbmtzIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0bGkge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0JjpsYXN0LWNoaWxkIGE6YWZ0ZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0YSwgYnV0dG9uIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAyNXB4IDEwcHggMDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cmlnaHQ6IDZweDtcblx0XHRcdFx0XHRoZWlnaHQ6MzJweDtcblx0XHRcdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdFx0XHR0b3A6IDdweDtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdC8vYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC02OTZweCAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiBAbGlnaHRnb2xkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgJi51dy1zZWFyY2gge1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzhweDtcbiAgICAgICAgICAgIC8vYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG5cdFx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAuYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAycHggc29saWQgQGxpZ2h0Z29sZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHB1cnBsZSwgOCUpO1xuICAgICAgICAgICAgICAgIC50cmFuc2l0aW9uKGFsbCAuMXMgbGluZWFyKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYudXctcXVpY2tsaW5rcyB7XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0yMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2OHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtNDUxcHggLTIzNXB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHsgICAgICAgICAgICAgICAgXHRcbiAgICAgICAgICAgICAgICBcdGNvbG9yOiAjRkZGO1xuXHRcdFx0XHRcdHRleHQtc2hhZG93OiAwcHggMHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdFx0LnRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZSk7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIFx0cmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8vXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy9cdHRvcDogMXB4O1xuICAgICAgICAgICAgICAgIC8vXHRyaWdodDogLTdweDtcbiAgICAgICAgICAgICAgICAvL1x0Y29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAvL1x0d2lkdGg6IDUxcHg7XG4gICAgICAgICAgICAgICAgLy9cdGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAvL1x0ZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLy9cdHRyYW5zZm9ybTogc2tld1goLTE0ZGVnKTtcbiAgICAgICAgICAgICAgICAvL1x0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMyZTJlMmUgMCwjNjg2ODY4IDQlLCM2ODY4NjggMTAwJSk7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihyaWdodCAwLjJzIGVhc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVx0XHRcbiAgICAvLyBBY3RpdmUgc3RhdGUgb2Ygc2VhcmNoIGJ1dHRvblxuXG4gICAgLnNlYXJjaC1vcGVuIC51dy10aGluc3RyaXAgYnV0dG9uLnV3LXNlYXJjaCB7XG4gICAgICAgIHN2ZyB7XG5cdFx0dG9wOiAtMjBweDtcblx0XHRsZWZ0OiAxMHB4O1xuXHR9XG59XG4ub3BlbiAudXctdGhpbnN0cmlwIHVsLnV3LXRoaW4tbGlua3MgbGkudXctcXVpY2tsaW5rcyBidXR0b24ge1xuXHQmOmhvdmVyIHN2Zyxcblx0Jjpmb2N1cyBzdmcge1xuXHRcdHJpZ2h0OiAxMXB4O1xuXHR9XG5cdHN2ZyB7XG5cdFx0dG9wOiAtMzdweDtcblx0fVxufVxuXG5cbiN1dy1jb250YWluZXIge1xuXHQmLm9wZW4gLnV3LXF1aWNrbGlua3MgYSB7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHRcdC8vIGJhY2tncm91bmQtcG9zaXRpb246IC00NzJweCAtMzE3cHg7XG5cdFx0JjphZnRlciB7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUzcHggLTQ0cHg7XG4gICAgICB0b3A6IDExcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgLW8tdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHR9XG59XG5cbiNkYXdnZHJvcHMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheTtcbn1cblxuXG4vKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG5cdCN1dy1jb250YWluZXIge1xuXHRcdCYub3BlbiAudXctcXVpY2tsaW5rcyBidXR0b24ge1xuXHRcdFx0Y29sb3I6IGJsYWNrO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQ5MnB4IC0zMTdweDtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk0cHggLTUycHg7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogODgwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnV3LXRoaW5zdHJpcCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRoZWlnaHQ6IDQ1cHg7XG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdH1cblx0XHRcblx0XHQuYWxsZW4tc2Nob29sLXdvcmRtYXJrIHtcblx0XHRcdHdpZHRoOiA3M3B4O1xuXHRcdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogNDcwcHg7XG5cdFx0XHQudHJhbnNpdGlvbihhbGwgMHMpO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHR7XG5cdFx0XHQgIGJhY2tncm91bmQtc2l6ZTogNDcwcHg7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGltZyB7XG5cdFx0XHRcdGhlaWdodDogMzVweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudXctd29yZG1hcmsge1xuXHRcdFx0d2lkdGg6IDE1NXB4O1xuXHRcdFx0aGVpZ2h0OiAzNHB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR0b3A6IDRweDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMzk3cHg7XG5cdFx0fVxuXHRcdGJ1dHRvbiB7XG5cdFx0XHQmLnV3LXF1aWNrbGlua3Mge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDg0cHggLTI0N3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDkwMHB4O1xuXHRcdFx0XHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggOXB4IDAgMDtcblx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTI1M3B4IDRweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDc4MHB4O1xuXHRcdFx0XHRcdHRvcDogMTFweDtcblx0XHRcdFx0XHRyaWdodDogOXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC8vIFdlIGhpZGUgdGhlIHNlYXJjaCBpY29uIGF0IHRoaXMgcmVzb2x0aW9uLCBidXQgaXQgYXBwZWFycyBpbiB0aGVcblx0XHRcdC8vIG1vYmlsZSBuYXYgKGNzZS5tb2JpbGUtbWVudS5sZXNzKVxuXHRcdFx0Ji51dy1zZWFyY2h7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdC8vdG9wOiAwO1xuXHRcdFx0XHQvL3JpZ2h0OiAzNnB4O1xuXHRcdFx0XHQvL2hlaWdodDogNDdweDtcblx0XHRcdFx0Ly93aWR0aDogNDdweDtcblx0XHRcdFx0Ly9tYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdC8vYm9yZGVyOiBub25lO1xuXHRcdFx0XHQvL292ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdC8vcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHQvLyY6aG92ZXIge1xuXHRcdFx0XHQvL1x0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdC8vXHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdC8vfVxuXHRcdFx0XHQvL3N2ZyB7XG5cdFx0XHRcdC8vXHR0b3A6IDE0cHg7XG5cdFx0XHRcdC8vXHRsZWZ0OiAxNHB4O1xuXHRcdFx0XHQvL31cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC51dy10aGluLWxpbmtzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuICAgIC5zZWFyY2gtb3BlbiB7XG4gICAgICAgIC51dy10aGluc3RyaXAge1xuICAgICAgICAgICAgYnV0dG9uLnV3LXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTdweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblx0LnV3LXRoaW5zdHJpcCB7XG5cdFx0dWwudXctdGhpbi1saW5rcyB7XG5cdFx0XHRsaSB7XG5cdFx0XHQgICAgZGlzcGxheTogbm9uZTtcblx0XHRcdCAgICAmLnV3LXNlYXJjaCwgJi51dy1xdWlja2xpbmtzIHtcblx0XHRcdCAgICBcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICAgIH1cblx0ICAgICAgICAgICAgICAgICYudXctcXVpY2tsaW5rcyB7XG5cdCAgICAgICAgICAgICAgICBcdGJ1dHRvbjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHQgICAgICAgICAgICAgICAgXHRkaXYge1xuXHQgICAgICAgICAgICAgICAgICAgIFx0ZGlzcGxheTogbm9uZTtcblx0ICAgICAgICAgICAgICAgIFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDk5MXB4KSB7XG5cdC51dy10aGluc3RyaXAge1xuXHRcdGhlaWdodDogMTQwcHg7XG5cdFx0LnV3LXBhdGNoIHtcblx0XHRcdC8vdG9wOiAtOTBweDtcblx0XHR9XG5cdFx0LmFsbGVuLXNjaG9vbC13b3JkbWFyayB7XG4gICAgICB6LWluZGV4OiAyO1xuXHRcdH1cbiAgICBkaXYuYWxpZ24tcmlnaHQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0I3NlYXJjaC1xdWlja2xpbmtzIHtcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdHRvcDowcHg7XG5cdFx0XHRcdHJpZ2h0OjBweDtcblx0XHRcdFx0bWluLXdpZHRoOiAyMzBweDtcblx0XHRcdH1cbiAgICB9XG5cdFx0dWwudXctdGhpbi1saW5rcyB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdC8vZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuXHRcdFx0fVxuXHRcdFx0bGkgYSxsaSBidXR0b24ge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjVweCAxMHB4IDA7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLXRvcDogNjhweDtcblx0XHR9XG5cdFx0bGkudXctcXVpY2tsaW5rcyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogLTY5cHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdHVsLnV3LXRoaW4tbGlua3MgbGkudXctc2VhcmNoIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAxNDVweDtcblx0XHRcdHRvcDogLTY5cHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDEwMjBweCkge1xuXHQudXctdGhpbnN0cmlwIHtcblx0XHQuYWxsZW4tc2Nob29sLXdvcmRtYXJrIHtcbiAgICAgIC5zY2FsZSguOCwuOCk7XG5cdFx0XHR0b3A6IDEycHg7XG5cdFx0XHRsZWZ0OiAtMTVweDtcblx0XHR9XG5cdH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDk5MnB4KSBhbmQgKG1heC13aWR0aCA6IDEyMDBweCkge1xuXHQudXctdGhpbnN0cmlwIHtcblx0XHR1bC51dy10aGluLWxpbmtzIGxpe1xuICAgICAgICAgICAgYSwgYnV0dG9uIHtcblx0XHRcdCAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHQgICAgcGFkZGluZzogMTBweCAyNXB4IDEwcHggMDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIFVXIEhlcm9cblxuLnV3LWhlcm8taW1hZ2UsXG4ubm8tdXctaGVyby1pbWFnZSAge1xuXHRoZWlnaHQ6IDE3MHB4O1xuXHQvLyBiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy90ZW1wL2ltYS5qcGcnKSBjZW50ZXIgY2VudGVyO1xuXHQuYmFja2dyb3VuZC1zaXplKGNvdmVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvLyB6LWluZGV4OiAtMTtcblx0JjphZnRlciB7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogODBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zdHJpcGVzLWRhcmstdGlsZS5zdmcnKTtcblx0XHRvcGFjaXR5OiAuMjtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0b3BhY2l0eTogLjQ7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKHJnYmEoMCwgMCwgMCwgMCkpLCB0byhyZ2JhKDAsIDAsIDAsIC44KSkpIDAgMCBuby1yZXBlYXQ7XG5cdH1cblx0Ly8gUGFnZSBBdHRyaWJ1dGVzID4gQmlnIEhlcm8gLyBSYWRpbyBidXR0b25cblx0Ji5oZXJvLWhlaWdodCB7XG4gIFx0XHRoZWlnaHQ6IDM1MHB4O1xuICBcdFx0I2hlcm8tY29udGFpbmVyIHtcbiAgXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcbiAgXHRcdFx0aDEge1xuXHRcdFx0ICBsaW5lLWhlaWdodDogMTtcblx0XHRcdCAgcGFkZGluZzogODBweCAyMCUgMCAwO1xuXHRcdFx0ICBtYXJnaW46IDA7XG5cdFx0ICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwwLDAsLjUpO1xuXHRcdFx0ICAmOmFmdGVyIHtcblx0XHRcdCAgICBjb250ZW50OiBcIlwiO1xuXHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICB0b3A6IDA7XG5cdFx0XHQgICAgaGVpZ2h0OiAzNjBweDtcblx0XHRcdCAgICBsZWZ0OiAtMTQwcHg7XG4gIFx0XHRcdFx0b3BhY2l0eTogLjM7XG4gIFx0XHRcdFx0d2lkdGg6IDYwMHB4O1xuXHRcdFx0ICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3NsYXNoZXMtbGlnaHQuc3ZnKSBuby1yZXBlYXQgMCAwO1xuXHRcdFx0ICAgIHotaW5kZXg6IDA7XG5cdFx0XHQgIH1cblx0XHRcdH1cbiAgXHRcdH1cbiAgXHRcdCY6YWZ0ZXJ7XG4gIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4gIFx0XHR9XG4gIFx0XHQjaGVyby1iZyB7XG4gIFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdC51ZHViLXNsYW50IHNwYW4ge1xuXHRcdCAgYmFja2dyb3VuZC1jb2xvcjogI0U4RTNEMztcblx0XHR9XG5cdH1cbn1cbi5uby11dy1oZXJvLWltYWdlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2U4ZTNkMztcblx0aGVpZ2h0OiAxMzBweDtcblx0JjphZnRlciB7XG5cdFx0b3BhY2l0eTogLjI7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4vLyBEdWIgc2xhbnRcblxuLnVkdWItc2xhbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjVweCAwO1xuICAgIHNwYW4ge1xuICAgICAgLnNrZXcoLTI1ZGVnLDApO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgICBtYXJnaW46IDAgMCAwIC01cHg7XG4gICAgfVxufVxuXG5cbi8vIE5vIGltYWdlXG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlc3RlbXBsYXRlLW5vLWhlcm8tcGhwIHtcblx0LnV3LWJvZHkge1xuXHRcdC51dy1zaXRlLXRpdGxlIHtcblx0XHRcdGNvbG9yOiBAZGFya2dyYXlcblx0XHR9XG5cdH1cbn1cblxuLy8gTm8gc2l0ZSB0aXRsZVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZXN0ZW1wbGF0ZS1uby10aXRsZS1waHAge1xuXHQudXctYm9keSB7XG5cdFx0LnV3LXNpdGUtdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0Ji5jb250YWluZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHR9XG5cdH1cblx0dWwudXctc2lkZWJhci1tZW51IHtcblx0XHRtYXJnaW4tdG9wOiAtMjBweDtcblx0fVxufVxuXG5cbi8qIFNtYWxsIERldmljZXMsIFRhYmxldHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XG5cdC51dy1oZXJvLWltYWdlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0Ly8gTGFyZ2VyIGhlcm9cblx0XHQmLmhlcm8taGVpZ2h0IHtcblx0XHRcdHBhZGRpbmc6IDUwcHggMjBweCAyMHB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ICBcdGhlaWdodDogYXV0bztcblx0XHQgIFx0I2hlcm8tY29udGFpbmVyIHtcblx0XHQgIFx0XHRoMSB7XG5cdFx0ICBcdFx0XHRmb250LXNpemU6IDM1cHg7XG5cdFx0ICBcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdCAgXHRcdFx0JjphZnRlciB7XG5cdFx0ICBcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogODAlO1xuXHRcdCAgXHRcdFx0XHQtbW96LWJhY2tncm91bmQtc2l6ZTogODAlO1xuXHRcdCAgXHRcdFx0XHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogODAlO1xuXHRcdFx0XHRcdFx0dG9wOiAtNjBweDtcblx0XHRcdFx0XHRcdGxlZnQ6IC0yNzBweDtcblx0XHQgIFx0XHRcdH1cblx0XHQgIFx0XHR9XG5cdFx0ICBcdH1cblx0XHR9XG5cdFx0Ji5oZXJvLWJsYW5rIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0LnV3LXNpdGUtdGl0bGUtYmxhbmsge1xuICAgIFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcbiAgXHRcdFx0ICAgIG1hcmdpbjogNXB4IDAgMjBweCA1cHg7XG4gICAgXHRcdH1cblx0XHR9XG5cdH1cbiAgICAudWR1Yi1zbGFudCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDE1cHggMDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgLTE0NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdi5jb250YWluZXIudXctYm9keSB7XG4gICAgXHRwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgZGl2LmNvbnRhaW5lci51dy1ib2R5IHtcblx0ICAgXHRkaXYudXctc2l0ZS10aXRsZSB7IFxuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0ICAgIH1cblx0fVxuICAgIGJ1dHRvbi51dy1tb2JpbGUtbWVudS10b2dnbGUge1xuICAgIFx0Ly9ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIGRpdi5oZXJvLWNvbnRlbnQuY29sLW1kLTEyLnV3LWNvbnRlbnQge1xuICAgIFx0bWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG4iLCIvLyBVVyBCcmVhZGNydW1ic1xuXG4udXctYnJlYWRjcnVtYnMge1xuXHRtYXJnaW46IC0xN3B4IDAgMCAtMzBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMjBweCAyMHB4IDAgMzBweDtcblx0dWwge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yNDlweCA1cHg7XG5cdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwIDVweCAwO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRyaWdodDogLTE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR0b3A6IDE3cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY3VycmVudCB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGRhcmtnb2xkO1x0XHRcdFx0XHRcdFxuICAgICAgICAgICAgfVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XHRcblx0XHR9IFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDI5cHg7XG5cdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiA0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvYnJlYWRjcnVtYi1ncmFkaWVudC5wbmcnKSByaWdodCB0b3AgcmVwZWF0LXkgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcdFx0XHRcblx0XHRcdGhlaWdodDogMTBweDtcblx0XHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdHRvcDogN3B4O1xuXHRcdFx0Lm9wYWNpdHkoLjgpO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCdhc3NldHMvc3ZnL2NhcmV0LnN2ZycpIG5vLXJlcGVhdDtcblx0XHRcdC5iYWNrZ3JvdW5kLXNpemUoN3B4IDVweCk7XG5cdFx0XHQucm90YXRlKC05MGRlZyk7XG5cdFx0fVxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0YTpob3ZlciB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdGEsIHNwYW4ge1xuXHRcdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG5cdFx0Y29sb3I6ICM1MzUzNTM7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0cGFkZGluZzogMCAyNXB4IDAgMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Ly9DYXJldFxuXHR9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHQudXctYnJlYWRjcnVtYnMge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwIDAgMCAtNXB4O1xuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0XHRcdGEsIHNwYW4ge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDI1cHggMCAwO1xuXHRcdFx0fVxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0yNTBweCAtM3B4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCBcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFNldHMgYnVsbGV0ZWQgaXRlbXMgdG8gYSBkZWZhdWx0IHBhZGRpbmc6XG5cbnVsIHtcblx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHQvL2xpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cbmRkIHtcblx0bWFyZ2luLWJvdHRvbTogMjQuNXB4O1xufVxuXG4vLyBCYXNpYyBzdHlsZXMgXG5cbmhyIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFQkVCRUI7XG5cdGNsZWFyOiBib3RoO1xufVxuXG5pZnJhbWUge1xuXHRtYXJnaW46IDQwcHggMCAyMHB4O1xufVxuXG5cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBsaW5lLWhlaWdodCBpc3N1ZSB3aXRoIGJvb3RyYXBcbnNtYWxsLFxuLnNtYWxsIHtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbi5pbnRybyB7XG5cdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG5cdGZvbnQtc2l6ZTogMjNweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLy8gTWFrZXMgaGVhdnlcbi51dy1ib2R5LWNvcHkgLndlaWdodC05MDAge1xuXHRmb250LXdlaWdodDogOTAwO1xufVxuXG5hLm1vcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL3V3LTIwMTQvYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTI0cHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIC5yb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbi5uby1ibHVlLWxpbmtzIGEge1xuXHRjb2xvcjogQHB1cnBsZTtcbn1cblxuLm5vLWJsdWUtbGlua3MgYS5idG4tYnMge1xuXHRjb2xvcjogI0ZGRjtcbn1cbi8vIFdyYXBwZXJcblxuLnV3LWJvZHkge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Ji5jb250YWluZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdC8vbWFyZ2luLWJvdHRvbTogODBweDtcblx0fVxufVxuXG5ib2R5LmZyb250IC5mcm9udC1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGFzc2V0cy9pbWFnZXMvZnJvbnRfcGFnZV9iZy5naWYpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC51dy1ib2R5LFxuXHQucm93IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuLy8gQWN0dWFsIGNvbnRlbnQgYXJlYSAoaW5jbHVkZXMgc2lkZWFiYXIpXG5cblxuLnV3LWJvZHkge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGgxLCBoMiB7XG5cdFx0Y29sb3I6IEBwdXJwbGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0aDIsIGgzLCBoNCwgaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblx0YmxvY2txdW90ZSB7XG5cdFx0cCB7XG5cdFx0XHRmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuXHRcdFx0Zm9udC1zaXplOiAyMXB4O1xuXHRcdH1cblx0fVxuXHQudXctc2l0ZS10aXRsZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTE1MHB4O1xuXHRcdGxlZnQ6IDExcHg7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHRmb250LXNpemU6IDUwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDU1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHR9XG5cdGRpdi51dy1zaXRlLXRpdGxlIHtcblx0XHRtYXJnaW4tdG9wOiAyOXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE0LjVweDtcblx0fVxuICBwLmRhdGUge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE5cHg7XG4gICAgLy8gJjpmaXJzdC1vZi10eXBle1xuICAgIC8vICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgLy8gfVxuICB9XG4gIC5hdXRob3ItaW5mbyB7XG4gICAgbWFyZ2luOiAtNC41cHggMCAyMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICBcbn1cblxuLy8gTmV4dCBsaW5rIGluIHRoZSBibG9nXG5cbnNwYW4ubmV4dC1wYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IDUwcHg7XG5cdGEge1xuXHQgIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDE5cHg7XG5cdCAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBAdWx0cmFsaWdodGdvbGQ7XG5cdCAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0ICBmb250LXdlaWdodDogQGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuXHQgIGNvbG9yOiBAZGFya2dyYXk7XG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdCAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblx0ICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHQgIG1hcmdpbi1yaWdodDogNTVweDtcblx0ICB6LWluZGV4OiAxO1xuXHQgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHQgIGZvbnQtc2l6ZTogMTRweDtcblx0ICBmb250LXdlaWdodDogNzAwO1xuXHQgIGJvcmRlci1yYWRpdXM6MDtcblx0ICAtd2Via2l0LWJvcmRlci1yYWRpdXM6MDtcblx0ICAtbW96LWJvcmRlci1yYWRpdXM6MDtcblx0ICAmOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL3V3LTIwMTQvYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTdweDtcblx0XHR0b3A6IDEycHg7XG5cdFx0Ym90dG9tOiAzcHg7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHRcdC5yb3RhdGUoOTBkZWcpO1xuXHQgIH1cblx0ICAmOmhvdmVyIHtcblx0ICBcdCBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHVsdHJhbGlnaHRnb2xkLCA1JSk7XG5cdCAgfVxuXHR9XG59XG5cblxuIC8vIChkb2Vzbid0IGluY2x1ZGUgc2lkZWJhcilcblxuLnV3LWJvZHktY29weSB7XG5cdGgxIGEsXG5cdGgyIGEsXG5cdGgzIGEsXG5cdGg0IGEsXG5cdGg1IGEge1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDNEM0QzO1xuXG5cdH1cbn1cblxuXG4uaW5mby1ib3gge1xuXHR3aWR0aDogMzEwcHg7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6IDUwcHg7XG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG5cdHBhZGRpbmc6IDMwcHggMzBweCAzMHB4O1xuXHQuYm94LXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xuXHRib3JkZXItdG9wOiA2cHggc29saWQgQGxpZ2h0Z29sZDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3RyaXBlcy1kYXJrLXRpbGUuc3ZnJykgcmVwZWF0LXggMCAtODhweCB0cmFuc3BhcmVudDtcblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogYXV0bztcblx0XHRib3R0b206IC00MHB4O1xuXHR9XG5cdHAsIGxpLCBhIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0fVxuXHRoMSwgaDIsIGgzLCBoNCwgaDUge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cbi51dy1ib2R5LWNvcHkgdWwubGlua3Mge1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmxpbmtzIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdGEge1xuLy9cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy9cdFx0JjphZnRlciB7XG4vL1x0XHRcdGJhY2tncm91bmQ6IHVybCgvd3AtY29udGVudC90aGVtZXMvdXctMjAxNC9hc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMjA2cHggLTQ5MnB4O1xuLy9cdFx0XHRjb250ZW50OiBcIlwiO1xuLy9cdFx0XHRvcGFjaXR5OiAuNDtcbi8vXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy9cdFx0XHRyaWdodDogLTIzcHg7XG4vL1x0XHRcdGJvdHRvbTogMXB4O1xuLy9cdFx0XHR3aWR0aDogMTRweDtcbi8vXHRcdFx0aGVpZ2h0OiAyMXB4O1xuLy9cdFx0XHQucm90YXRlKDkwZGVnKTtcbi8vXHRcdH1cblx0fVxuXHRsaSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNnB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5pbWcuYXR0YWNobWVudC1wb3N0LXRodW1ibmFpbC53cC1wb3N0LWltYWdlIHtcblx0ZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHggNTBweCAwIDA7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuaW1nLmltZy1mbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1yaWdodDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuXG5pbWcuaW1nLWZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmRhd2dieXRlcy10aHVtYm5haWwtdGV4dC1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcblx0aW1nIHtcblx0XHR3aWR0aDogODVweDtcblx0XHRoZWlnaHQ6IDEyNnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0fVxuXHRcblx0aDMge1xuXHRcdG1hcmdpbi10b3A6IDBweDtcblx0fVxuXHRcbn1cblxuXG4vKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHQudXctYm9keSB7XG5cdFx0cGFkZGluZzogMjBweDtcblx0XHQudXctc2l0ZS10aXRsZSB7XG5cdFx0XHRjb2xvcjogQHB1cnBsZTtcblx0XHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0bWFyZ2luOiAtMjBweCAtMjBweCAyMHB4IC0yMHB4O1xuXHRcdFx0cGFkZGluZzogMTVweCAxNXB4IDE1cHggMjBweDtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMik7XG5cdFx0fVxuXHRcdGgxIHtcblx0XHRcdG1hcmdpbjogMTBweCA4MHB4IDEwcHggMDtcblx0XHRcdGZvbnQtc2l6ZTogMzNweDtcblx0XHR9XG4gICAgICAgIHAuZGF0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcbiAgICAgICAgfVxuXHR9XG4gICAgLmhvbWUge1xuICAgICAgICAudXctYm9keSB7XG4gICAgICAgICAgICAudXctc2l0ZS10aXRsZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblx0XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xuICAgIC51dy1ib2R5IHtcbiAgICAgICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICAgICAgJi5sb25nLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC5ob21lIC51dy1zaWRlYmFyLW1lbnUge1xuLy8gXHRkaXNwbGF5OiBub25lO1xuLy8gfVxuXG4ud2lkZ2V0IHtcblx0cGFkZGluZzogMTBweCAwIDAgNDBweDtcbn1cblxuXG4vLyBCaWcgU2NyZWVuc1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAxNjAwcHgpIHtcblx0LmluZm8tYm94IHtcblx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY3cHgpIHtcblxuXHQud2lkZ2V0IHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XHRcblx0LmluZm8tYm94IHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuICAgIC51dy1ib2R5LWNvcHkge1xuICAgICAgICBoMSxoMixoMyxoNCB7XG4gICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgPmRpdi5yb3cge1xuICAgICAgICAgICAgY2xlYXI6Ym90aDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBzY3JlZW4teHMpIHtcblx0Ym9keS5mcm9udCAuZnJvbnQtYmFja2dyb3VuZCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xuXG5cdC51dy1ib2R5IHtcblx0XHQudXctc2l0ZS10aXRsZSB7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgwLDAsMCwuNSk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gRml4ZXMgZmxvYXRlZCBpbWFnZXMgbmV4dCB0byBhIGJ1bGxldGVkIGxpc3QuIFRoZSBidWxsZXRzIHdlcmVuJ3QgaW5kZW50aW5nIHByb3Blcmx5XG5cdC8vLnV3LWJvZHktY29weSB7XG5cdC8vXHR1bCB7XG5cdC8vXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdC8vXHR9XG5cdC8vfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2OHB4KSB7XG5cdGRpdi5mcm9udC1iYWNrZ3JvdW5kIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiBAbW9iaWxlX3NsaWRlc2hvd190ZXh0X2JveF9oZWlnaHQ7XG5cdH1cbn1cbiIsImJvZHkuc2VhcmNoLW9wZW4gI3V3c2VhcmNoYXJlYSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG5cbiAgICAudXctc2VhcmNoLXdyYXBwZXJcbiAgICB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwwKTtcbiAgICB9XG59XG5cbiN1d3NlYXJjaGFyZWEge1xuICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMTAwKTtcbiAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTEwMCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0xMDApO1xuICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMTAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTEwMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgLnV3LXNlYXJjaC13cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMjApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0yMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTIwKTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMjApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0yMCk7XG4gICAgLy8gdHJhbnNpdGlvbjogdG9wIDJzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgLy8gdHJhbnNpdGlvbjogYWxsIDFzO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICB9XG4gIC51dy1yZXN1bHRzXG4gIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0b3A6MTYycHg7XG4gIH1cbn1cblxuLnV3LXNlYXJjaC1iYXItY29udGFpbmVyXG57XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cbiAgLnJhZGlvLmNoZWNrZWQsXG4gIC5yYWRpby5jaGVja2VkIC5zZWNvbmQtaWNvblxuICB7XG4gICAgY29sb3I6IEBwdXJwbGU7XG4gIH1cbiAgLnJhZGlvIC5pY29ucyB7XG4gICAgY29sb3I6ICNDN0M3Qzc7XG4gIH1cblxuICAuY29udGFpbmVyLm5vLWhlaWdodCB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNDBweCAwIDUwcHg7XG4gIH1cbiAgLnV3LXNlYXJjaC13cmFwcGVyXG4gIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB3aWR0aDo4OTBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgZm9ybVxuICB7XG5cbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOmNhbGMoflwiMTAwJSAtIDI0MHB4XCIpO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjQURBREFEO1xuXG4gICAgaW5wdXRcbiAgICB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDE1cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvc2VhcmNoX3B1cnBsZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdzYy1jbGVhci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBkaXYubGFiZWxzXG4gIHtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgIC5yYWRpbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgZGl2I3NlYXJjaC1sYWJlbHMubGFiZWxzLmhpZGRlbi14cy5mb2N1c2VkIHtcbiAgICB6b29tOiAxLjI7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIH1cblxuICBpbnB1dC5zZWFyY2hcbiAge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjODA4MDgwO1xuICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3NlYXJjaC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIGdyYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHg7XG4gICAgcGFkZGluZzogMHB4IDYwcHggMHB4IDBweDtcbiAgfVxuXG4gIGlucHV0LnNlYXJjaDpmb2N1cyB7XG4gICAgem9vbTogMS4yO1xuICAgIGJvdHRvbTogNXB4O1xuICB9XG5cbiAgLnV3LXJlc3VsdHNcbiAge1xuICAgIHdpZHRoOiA4OTBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLnJlc3VsdCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDY5MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNEU0RTQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmluZm9ybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAtMTBweCAwIDIwcHggMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgfVxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICAgIH1cbiAgICAgIC5tYWlsLFxuICAgICAgLmZheCxcbiAgICAgIC50ZWxlcGhvbmVudW1iZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBAcHVycGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWFpbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zZWFyY2gtbWFpbC5wbmcnKSBuby1yZXBlYXQgMCA4cHg7XG4gICAgICB9XG4gICAgICAuZmF4IHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1hZ2VzL3NlYXJjaC1mYXgucG5nJykgbm8tcmVwZWF0IDAgOHB4O1xuICAgICAgfVxuICAgICAgLnRlbGVwaG9uZW51bWJlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zZWFyY2gtcGhvbmUucG5nJykgbm8tcmVwZWF0IDAgNnB4O1xuICAgICAgfVxuICAgICAgLnZjYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1hZ2VzL3NlYXJjaC12Y2FyZC5wbmcnKSBuby1yZXBlYXQgMCA2cHg7XG4gICAgICB9XG4gICAgICAmLm9wZW4ge1xuICAgICAgICBoNCB7XG4gICAgICAgICAgY29sb3I6IEBwdXJwbGU7XG4gICAgICAgIH1cbiAgICAgICAgYS5kaXJlY3RvcnktbW9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMHB4IC0yM3B4O1xuICAgICAgICAgIC50cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICM3NTc1NzU7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBhLmRpcmVjdG9yeS1tb3JlIHtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMjgzcHggMXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG5cbiAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBjb2xvcjogIzRFNEU0RTtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogIzRFNEU0RTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNEU0RTRFO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb3JlLXJlc3VsdHMge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgY29sb3I6ICM1MjUyNTI7XG4gICAgfVxuXG4gIH1cblxufVxuXG5ib2R5IHtcbiAgICAjdXctY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgICB9XG4gICAgJi5zZWFyY2gtb3BlbiB7XG4gICAgICAgICN1dy1jb250YWluZXIge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTkyKTtcbiAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDE5Mik7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxOTIpO1xuICAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTkyKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDE5Mik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDk5MXB4KSB7XG5cbiAgICAjdXdzZWFyY2hhcmVhIHtcbiAgICAgICAgLmNlbnRlci1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogNzUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vYmlsZVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY3cHgpIHtcblxuICAjdXdzZWFyY2hhcmVhIHtcbiAgICAudXctcmVzdWx0c3tcbiAgICAgICAgdG9wOiAxMjZweDtcbiAgICB9XG4gIH1cblxuICAudXctc2VhcmNoLWJhci1jb250YWluZXIge1xuICAgLy8gbWFyZ2luLXRvcDogLTE3NnB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICAuY29udGFpbmVyLm5vLWhlaWdodHtcbiAgICAgICAgcGFkZGluZzowcHggMTBweDtcbiAgICB9XG4gICAgLnV3LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIC5zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgICBkaXYubGFiZWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC51dy1yZXN1bHRzIHtcbiAgICAgIGg0IHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2MHB4IDE1cHggMTRweDtcbiAgICAgIH1cbiAgICAgIC5yZXN1bHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICBib2R5LnNlYXJjaC1vcGVuIHtcbiAgICAgICAgI3V3LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMzYpO1xuICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTM2KTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDEzNik7XG4gICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMzYpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTM2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInVsLnV3LXNpZGViYXItbWVudSxcbnVsLnV3LW1vYmlsZS1tZW51XG5cbntcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbi10b3A6IC0xMjRweDtcblx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblxuXHR1bCwgbGlcblx0e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpc3Qtc3R5bGU6bm9uZTtcblx0XHRwYWRkaW5nOjA7XG5cdFx0bWFyZ2luOjA7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcblx0fVxuXG5cdGxpLnBhZ2VuYXYsXG5cdD5kaXZcblx0e1xuXHRcdFx0YSwgc3BhblxuXHRcdFx0e1xuXHRcdFx0XHQvLyBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG5cblx0XHRcdFx0Ji5ob21lbGlua1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdFx0XHRcdGNvbG9yOkBwdXJwbGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjI1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dWxcblx0XHRcdHtcblxuXHRcdFx0XHRmb250LXNpemU6MjBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcbiAgICBcdFx0XHRmb250LXNpemU6IDE5cHg7XG5cblx0XHRcdFx0bGkuY3VycmVudF9wYWdlX2l0ZW0sIGxpLmN1cnJlbnRfcGFnZV9wYXJlbnRcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGU7XG5cdFx0XHRcdFx0JiA+IGEsXG5cdFx0XHRcdFx0JiA+IHNwYW4ge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE5cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTZweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICAgICAgYSxcblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdGNvbG9yOndoaXRlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNiN2E1N2E7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdCYgPiBhIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbGlnaHRnb2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTE5MXB4IC00NzhweDtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1MnB4O1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA0NHB4O1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA3cHg7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLTI2cHg7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNiN2E1N2E7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4gdWwge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4uY3VycmVudF9wYWdlX2l0ZW0gdWwge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRhXHR7XG5cdFx0XHRcdFx0XHRjb2xvcjogQHB1cnBsZTtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgI2VlZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5jdXJyZW50X3BhZ2VfaXRlbSB1bC5jaGlsZHJlbiwgJi5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgdWwuY2hpbGRyZW5cblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblxuXHRcdFx0XHRcdFx0bGlcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZWVlO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRcdFx0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjpAZGFya2dyYXk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAzMHB4IDEwcHggMzBweDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNEREQ7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0bGkuY3VycmVudF9wYWdlX2l0ZW1cblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblx0XHRcdFx0XHRcdFx0dWwuY2hpbGRyZW4ge1xuXHRcdFx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTBFMEUwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRsaTpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogQGRhcmtncmF5O1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiLSBcIjtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0c3BhblxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjojNzU3NTc1O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNiN2E1N2E7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cdFx0XHRcdFx0XHRcdFx0YVxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOndoaXRlO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0Ly8gY29sb3I6d2hpdGU7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cblx0XHRcdFx0XHR9XG5cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGk6bGFzdC1jaGlsZFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0YVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdC8vIGNvbG9yOkBwdXJwbGU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHR1bC5jaGlsZHJlbiB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0fVxuXG59XG5cbi8vIFNpZGViYXIgd2lkZ2V0IHRpdGxlc1xuXG4udXctc2lkZWJhciB7XG5cdC53aWRnZXR0aXRsZSB7XG4gICAgICAgIGNsZWFyOmxlZnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Ym90dG9tOiA1cHg7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBsaWdodGdvbGQ7XHRcdFx0XHRcdFxuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0LnNrZXcoLTI1ZGVnLDApO1xuXHRcdFx0bGVmdDogODBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0Ym90dG9tOiAzcHg7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHR9XG5cdH1cbn1cblxuXG5ib2R5LmhvbWUgLnV3LXNpZGViYXItbWVudSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogOTkycHgpIHtcblx0dWwudXctc2lkZWJhci1tZW51IHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogNTBweCAwIDAgMDtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xuXHQudXctc2lkZWJhciB7XG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdH1cbn1cbiIsIiNtb2JpbGUtcmVsYXRpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdWwudXctbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW46MCAwIDI1cHg7XG4gICAgICA+IHVsXG4gICAgICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbn1cblxuXG4vKj09PT09PT09PT0gIE1vYmlsZSBGaXJzdCBNZXRob2QgID09PT09PT09PT0qL1xuXG4vKiBDdXN0b20sIGlQaG9uZSBSZXRpbmEgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XG5cbiAgLy9IaWRlcyBkZXNrdG9wIHZlcnNpb25cbiAgI2Rlc2t0b3AtcmVsYXRpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudXctbW9iaWxlLW1lbnUgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIH1cbiAgI21vYmlsZS1yZWxhdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBcbiAgICBidXR0b24udXctbW9iaWxlLW1lbnUtdG9nZ2xlXG4gICAge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2UgLyAxLjI7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2UgLyAxLjI7XG4gICAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuICAgICAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOkBwdXJwbGU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTQ3NXB4IDIwcHggdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDU1cHg7XG4gICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC02MDBweCAwIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgICB1bC51dy1tb2JpbGUtbWVudSBsaS5wYWdlbmF2IHVsIGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLmZyb250cGFnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJ1dHRvbi51dy1tb2JpbGUtbWVudS10b2dnbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICB9XG4gICAgICAgIHVsLnV3LW1vYmlsZS1tZW51IHtcbiAgICAgICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy9yaWdodDogMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDYycHg7XG4gICAgICAgICAgICAvL3dpZHRoOiBjYWxjKH5cIjEwMCUgLSA0MHB4XCIpO1xuICAgICAgICAgICAgLm1lbnUtZHJvcGRvd25zLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYmlnaGVybyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJ1dHRvbi51dy1tb2JpbGUtbWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwudXctbW9iaWxlLW1lbnUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNzcGFjZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHsgLy9jbGVhcmZpeFxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgfVxuICB9XG5cbiAgLy8gTmV4dCBmZXcgbGluZXMgZm9yIHRoZSBob21lcGFnZSBvbmx5XG4gLmhvbWVcbiAgICNtb2JpbGUtcmVsYXRpdmUge1xuICAgIGxpe1xuICAgICAgYTpob3ZlcixcbiAgICAgIGE6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGE6aG92ZXIsXG4gICAgICAgIGE6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIFxuICBidXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgJi51dy1zZWFyY2gge1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDc4cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAuYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgIGxlZnQ6IDExcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cbiAgXG5cbiAgLnNlYXJjaC1vcGVuIGJ1dHRvbi51dy1zZWFyY2gge1xuICAgIHN2ZyB7XG4gICAgICB0b3A6IC0yMHB4O1xuICAgICAgbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuIiwiIC8vIC5jaGVja2JveCwgLnJhZGlve1xuIC8vICAgICBpbnB1dCB7XG4gLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAvLyAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAvLyAgICAgICAgIG9wYWNpdHk6IDA7XG4gLy8gICAgIH1cbiAvLyB9XG5hLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgdG9wOiAtOTlweDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgICAgICAgICAgY29sb3I6IEBwdXJwbGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgfVxufVxubGFiZWwuc2NyZWVuLXJlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy9vcGFjaXR5IGhhY2sgcXVlc3Rpb25hYmxlIHN1cHBvcnQgaW4gSUU4XG4gICAgLy9sZWZ0OiAtOTk5OTlweDtcbn1cbi5vZmZzY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuI2Rhd2dkcm9wcyB7XG4gICAgbGkuZGF3Z2Ryb3BzLWl0ZW17XG4gICAgICAgIGE6Zm9jdXN7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgICB1bC5kYXdnZHJvcHMtbWVudSB7XG4gICAgICAgICAgICBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4udXctYm9keSB7XG4gICAgYTpmb2N1cyxcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBkYXJrZ29sZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREJEQkQ7XG4gICAgICAgIC8vIFdlIGRvbid0IHdhbnQgYnV0dG9ucyB1bmRlcmxpbmVkIG9uIGhvdmVyXG4gICAgICAgICYudXctYnRuIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYS51dy1idG46Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgLnV3LWJyZWFkY3J1bWJzIHtcbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgI21haW5fY29udGVudDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOm5vbmU7XG4gICAgfVxuICAgIC53aWRnZXQge1xuICAgICAgICBhLndpZGdldC1saW5re1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGRhcmtnb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgLy8gY2FuJ3Qgb3ZlcnJpZGUgYWNjb3JkaW5nIHRvIHNwZWMuIFdlJ2xsIGhhdmUgdG8gcmVkbyB0aGUgc3RydWN0dXJlIHRvIGdldCB0aGlzIGRvbmVcbiAgICAgICAgICAgICAgICAvL3Age1xuICAgICAgICAgICAgICAgIC8vICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBEYXJrZW4gZm9ybSBkZWZhdWx0IGNvbG9yXG4gICAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICAgICAgICBjb2xvcjogIzdCN0I3QjtcbiAgICB9XG4gICAgaW5wdXQ6LW1vei1wbGFjZWhvbGRlcntcbiAgICAgICAgIGNvbG9yOiAjN0I3QjdCO1xuICAgIH1cbiAgICBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcntcbiAgICAgICAgIGNvbG9yOiAjN0I3QjdCO1xuICAgIH0gICAgXG4gICAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgIGNvbG9yOiAjN0I3QjdCO1xuICAgIH1cbiAgICAvLyBEYXJrZW5zIGZvcm0gY29sb3JzXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGNvbG9yOiAjMzAzMDMwO1xuICAgIH1cbn1cblxuXG5cbi8vIEZvciB1dy5lZHUvYWNjZXNzaWJpbGl0eSBvbmx5XG5cbi5zaXRlLWFjY2Vzc2liaWxpdHkge1xuICAgIC51dy1ib2R5LWNvcHksIFxuICAgIC51dy1zaWRlYmFyIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZGFya2dvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBJbnNlcnQgeW91ciBzdHlsaW5nIGhlcmUuXG5cbi8vIFNlYXJjaCBmb3JtIGluIHJlZ2lvbiBzZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi51dy1zZWFyY2gtYmFyLWNvbnRhaW5lciB7XG4gICAgZm9ybSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC51dy1zZWFyY2gtd3JhcHBlciB7ICAgICAgICBcbiAgICAgICAgLmJsb2NrLXNlYXJjaCB7ICAgICAgICAgICAgXG4gICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICAuYnRuLnNlYXJjaCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfSAgXG4gICAgLy8gY29weSBvZiBpbnB1dC5zZWFyY2ggZnJvbSB1dy5zZWFyY2gubGVzcywgTG4gMTMyXG4gICAgYnV0dG9uLnNlYXJjaFxuICAgICAge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjODA4MDgwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy9zZWFyY2guc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBncmF5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDBweCA2MHB4IDBweCAwcHg7XG4gICAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudXctc2VhcmNoLWJhci1jb250YWluZXIge1xuICAgICAgICAudXctc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBtYWluLW1lbnUgaW4gcmVnaW9uIG5hdmlnYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vLmRhd2dkcm9wcy1tZW51IHtcbi8vICAgIGxlZnQ6IGluaGVyaXQ7XG4vLyAgICB0b3A6IDc4cHg7XG4vL31cbi8vLmFkbWluLW1lbnUge1xuLy8gICAgLmRhd2dkcm9wcy1tZW51IHtcbi8vICAgICAgICB0b3A6IDU4cHg7XG4vLyAgICB9XG4vL31cblxuLy8gZnJvbnRwYWdlIHV3LWhlcm8taW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mcm9udCB7XG4gICAgLnV3LWhlcm8taW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDU5NXB4O1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJFbmNvZGUgU2FucyBDb21wcmVzc2VkXCIsc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTVweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsMCwwLC41KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDVweCByZ2JhKDAsMCwwLC44KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBJbnNlcnQgeW91ciBzdHlsaW5nIGhlcmUuXG4vLyBTaXRlIHRpdGxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udXctYm9keSB7XG4gICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICArcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC02MHB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNXB4IHJnYmEoMCwwLDAsLjgpO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC51dy1ib2R5IHtcbiAgICAgICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXYuY29udGFpbmVyLnV3LWJvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG59XG4vLyBzb21lIGV4Y2VwdGlvbnMgZm9yIHNpdGUtdGl0bGUgYW5kIHNpdGUtc2xvZ2FuIFxuLmZyb250IHtcbiAgICAudXctYm9keSB7XG4gICAgICAgIC51dy1zaXRlLXRpdGxlIHtcbiAgICAgICAgICAgICtwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XG4gICAgLnV3LWJvZHkge1xuICAgICAgICAudXctc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICArcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZnJvbnQge1xuICAgICAgICAudXctYm9keSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICBcbiAgICAgICAgICAgID4ucm93IHtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6IC0zMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudXctc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBTaWRlYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udXctc2lkZWJhciB7XG4gICAgLnJlZ2lvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC51dy1zaWRlYmFyIHsgXG4gICAgICAgIC5yZWdpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vYmlsZSBtZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5uYXYjbW9iaWxlLXJlbGF0aXZlIHtcbiAgICAvLyBoaWRlIHRoZSBzdWJtZW51IGRyb3Bkb3ducyBvbiB0aGUgcmVuZGVyaW5nIG9mICRwcmltYXJ5X25hdiBcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIC5kYXdnZHJvcHMtbWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzVhNWE1YTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToxMDtcbiAgICAgICAgICAgICAgICB9ICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGF3Z2Ryb3BzLWl0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGF3Z2Ryb3BzLWl0ZW0tbWVudS1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJFbmNvZGUgU2FucyBDb21wcmVzc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvY2FyZXQuc3ZnKSBuby1yZXBlYXQgMzNweCAzNXB4O1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICByaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC02MDBweCAwIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEuZGF3Z2Ryb3BzLWl0ZW0tbWVudS1saW5rIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyBmcm9udHBhZ2UgbW9iaWxlLW1lbnUgbmF2IGNvbnRhaW5lclxuLy8uZnJvbnQge1xuLy8gICAgbmF2I21vYmlsZS1yZWxhdGl2ZSB7XG4vLyAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbi8vICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4vLyAgICB9XG4vL31cbi8vXG4vLy5ub3QtZnJvbnQge1xuLy8gICAgbmF2I21vYmlsZS1yZWxhdGl2ZSB7XG4vLyAgICAgICAgLm5hdmJhci1uYXYge1xuLy8gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vL31cbi8vXG4vL0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbi8vICAgIG5hdiNtb2JpbGUtcmVsYXRpdmUge1xuLy8gICAgICAgIGJ1dHRvbi51dy1tb2JpbGUtbWVudS10b2dnbGUge1xuLy8gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTVweDtcbi8vICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vfVxuXG4vLyBDb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBwYXRoIGZpeCBmcm9tIHV3LmJvZHktY29udGVudC5sZXNzXG5hLm1vcmUge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcbiAgICB9XG59XG4vLyBwYXRoIGZpeCBmcm9tIHV3LmJvZHktY29udGVudC5sZXNzXG5zcGFuLm5leHQtcGFnZSB7XG4gICAgYSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yMDZweCAtNDkycHg7XG4gICAgICB9XG4gICAgfVxufVxuLy8gcGF0aCBmaXggZnJvbSB1dy5ib2R5LWNvbnRlbnQubGVzc1xuLmxpbmtzIHtcbiAgICBhIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW1nLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDoyMHB4O1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG59XG5cbmltZy5wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6MjBweDtcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xufVxuXG4vLyBmb3JtIGVsZW1lbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmNoZWNrYm94IGlucHV0LCBcbi5yYWRpbyBpbnB1dCB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLXRleHQsXG4uZm9ybS10ZXh0YXJlYSxcbi5mb3JtLXNlbGVjdCxcbi5mb3JtLWZpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICM1OTU5NTk7XG59XG4uZm9ybS1zdWJtaXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIvLyBJbnNlcnQgeW91ciBzdHlsaW5nIGhlcmUuXG5cbi53ZWJmb3JtLWNvbXBvbmVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbiIsIi8vIENTRSBCb3VuZGxlc3MgQ3VzdG9taXphdGlvbnNcblxuQGZyb250cGFnZV9zZWN0aW9uX3NwYWNpbmc6IDYwcHg7XG5cbiNibG9jay1ibG9jay0xMzksXG4jYmxvY2stYmxvY2stMTQyLFxuI2Jsb2NrLWJsb2NrLTE0MCB7XG4gIG1hcmdpbi1ib3R0b206IEBmcm9udHBhZ2Vfc2VjdGlvbl9zcGFjaW5nO1xufVxuXG4vL1xuLy8gSWNvbiBtZW51cyBkaXNwbGF5IGlubGluZVxuLy9cbi5pY29uLW1lbnUge1xuICBkaXNwbGF5OnRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIG1hcmdpbjogMHB4IDhweCAwcHggMHB4O1xuICBtYXJnaW4tbGVmdDowcHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmljb24tbWVudSBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmljb24tbWVudSBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxufVxuXG4vLyBBdWRpZW5jZSBtZW51OiBmcm9udCBwYWdlIG9ubHlcbiNhdWRpZW5jZS1tZW51IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBjb2xvcjogQGRhcmtncmF5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheTtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIFxuICBhIHtcbiAgICBjb2xvcjogQGdyYXk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICBkaXYuYXVkaWVuY2UtbWVudS1pY29uIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgXG4gICAgaSB7XG4gICAgICBjb2xvcjogQGRhcmtncmF5O1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB9XG4gICAgIFxuICAgIHAgIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktZGF3Z2Ryb3BzO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiBAZGFya2dyYXk7XG4gICAgfVxuICAgIFxuICAgIDpob3ZlciB7XG4gICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgICAgICBmb250LXNpemU6IDIuN2VtO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3M7XG4gICAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiBAcHVycGxlO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBkaXYuaWNvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjVweCkge1xuICAjYXVkaWVuY2UtbWVudSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbiAgXG4gICNhdWRpZW5jZS1tZW51IGRpdi5pY29uLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIH1cbiAgXG4gIGRpdi5hdWRpZW5jZS1tZW51LWljb24ge1xuICAgIGhlaWdodDogOTBweDtcbiAgICBcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgfVxuICAgIFxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgIFxuICB9XG59XG5cbiNmcm9udC1wYWdlLXdlbGNvbWUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcbiAgY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIGgyIHtcbiAgICBmb250LXNpemU6MjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgY29sb3I6ICNGRkY7XG4gIH1cbiAgXG4gIHAsIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIFxuICBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBcbn1cblxuXG5cbiNuZXdzLWV2ZW50cyB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmc6IDBweDtcbiAgXG4gIHAuYm90dG9tLW1vcmUtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNXB4O1xuICB9XG4gIFxufVxuXG5cbi5uZXdzLWhlYWRsaW5lLXBob3RvLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXk7XG4gIGNvbG9yOiBAcHVycGxlO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogNDAwcHg7XG4gIFxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgXG4gIGRpdi5pbWctY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXJcbiAgfVxuICBcbiAgaDMge1xuICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgY29sb3I6ICNGRkY7XG4gIH1cbiAgXG4gIHAge1xuICAgIHBhZGRpbmc6IDVweCAxNXB4IDBweCAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIFxuICBhIHtcbiAgICBjb2xvcjogQHB1cnBsZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxufVxuXG4jZnJvbnQtcGFnZS1uZXdzLWNvbnRlbnQge1xuICBoZWlnaHQ6IDIyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgKyAuZmFkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBcbiAgICAgICAgcmdiYSgyMTcsIDIxNywgMjE3LCAwKSwgXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMC45KVxuICAgIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByZ2JhKDIxNywgMjE3LCAyMTcsIDApIDAlLFxuICAgICAgICByZ2JhKDIxNywgMjE3LCAyMTcsIDEpIDEwMCVcbiAgICApOyBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmdiYSgyMTcsIDIxNywgMjE3LCAwKSAwJSxcbiAgICAgICAgcmdiYSgyMTcsIDIxNywgMjE3LCAxKSAxMDAlXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMCkgMCUsXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMSkgMTAwJVxuICAgICk7XG4gIH1cbn1cblxuLmZyb250LXBhZ2UtZXZlbnRzLXJvdyB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGRpdiB7XG4gICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogOTkycHgpIHtcbiAgI25ld3MtZXZlbnRzIHtcbiAgICBkaXYuY29sLXNtLTYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY4cHgpIHtcbiAgI25ld3MtZXZlbnRzIHtcbiAgICBkaXYuY29sLXNtLTYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcbiAgI25ld3MtZXZlbnRzIHtcbiAgICBkaXYuY29sLXhzLTEyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbiNmYXN0LWZhY3RzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBkYXJrZ3JheTtcbiAgcGFkZGluZzogMjBweCAwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0yNXB4O1xuICBcbiAgI2Zhc3QtZmFjdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbiAgXG5cbiAgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDBweCAwcHggNXB4IDBweDtcbiAgICBjb2xvcjogQHB1cnBsZTtcbiAgICBmb250LXNpemU6MjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIFxuICBkaXYuaWNvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIFxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiA1ZW07XG4gICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cbiAgXG4gIHAgIHtcbiAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWRhd2dkcm9wcztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiBAZGFya2dyYXk7XG4gIH1cbiAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2OHB4KSB7XG4gICNmYXN0LWZhY3RzIGRpdi5pY29uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi8qIFBlb3BsZSBMaXN0aW5ncyAqL1xuXG4vLyBBbHBoYWJldCBsaW5rcyBhdCB0b3Agb2YgbGlzdHNcbmRpdi5hbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZGl2LmFsaXN0IGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGU7XG4gIG1hcmdpbjogMnB4O1xuICBwYWRkaW5nOiAzcHggNXB4IDNweCA1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIERpcmVjdG9yaWVzXG4gKi9cbmRpdi5kaXJlY3Rvcnktcm93IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLy8gVGhlIHZpZXcgdGhhdCByZW5kZXJzIHRoZXNlIGhlYWRlcnMgaW5pc3RzIG9uIHdyYXBwaW5nIHRoZW0gaW4gYSA8cD48L3A+XG5oMi5kaXJlY3RvcnktcGVvcGxlLXR5cGUgcCB7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMjtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcblx0Y29sb3I6IEBwdXJwbGU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRpdi5kaXJlY3RvcnktcGhvdG8tY29udGFpbmVyIHtcbiAgbWluLXdpZHRoOiAxNTlweDtcbiAgXG4gIGltZyB7XG4gICAgd2lkdGg6IDE1OXB4O1xuICB9XG59XG5cbmRpdi5kaXJlY3RvcnktbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogQHB1cnBsZTtcbn1cblxuZGl2LmRpcmVjdG9yeS13b3JraW5nLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi5kaXJlY3Rvcnktb2ZmaWNlIHtcbiAgXG59XG5cbmRpdi5kaXJlY3RvcnktcGhvbmUge1xuICBcbn1cblxuZGl2LmRpcmVjdG9yeS1lbWFpbCB7XG4gIFxufVxuXG5kaXYuZGlyZWN0b3J5LWhvbWVwYWdlIHtcbiAgXG59XG5cbmRpdi5kaXJlY3RvcnktcmVzZWFyY2gtaW50ZXJlc3RzIHtcbiAgXG59XG5cbi5wZXJzb25hbC1zb2NpYWwtaWNvbiB7XG4gIGNvbG9yOiBAcHVycGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udmlldy1kaXNwbGF5LWlkLXBhZ2VfMiBoMiBwIHtcbiAgZm9udC1zaXplOiAyOXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogQHB1cnBsZTtcbn1cblxuI2Jsb2NrLXZpZXdzLXBlcnNvbi1jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyoqXG4gKiBSZXNlYXJjaCBQcm9qZWN0IExpc3RpbmdzXG4gKi9cbmRpdi52aWV3LXJlc2VhcmNoLXByb2plY3RzIGgyIHtcbiAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xufVxuXG5kaXYucmVzZWFyY2gtcHJvamVjdC10aHVtYm5haWwge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5kaXYucmVzZWFyY2gtcHJvamVjdC10aHVtYm5haWwgaW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogYXV0bztcbn1cbmRpdi5yZXNlYXJjaC1wcm9qZWN0LWJsdXJiIHtcbiAgbWFyZ2luOiAwcHggMTBweCAyMHB4IDQwcHg7XG59XG5cbmRpdi5ub2RlLXJlc2VhcmNoLXByb2plY3QgZGl2LmZpZWxkLW5hbWUtZmllbGQtcmVzZWFyY2gtcHJvamVjdC1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmRpdi5ub2RlLXJlc2VhcmNoLXByb2plY3QgaW1nIHtcbiAgd2lkdGg6IDIwMHB4OyAgXG59XG5cbmRpdi5ub2RlLXJlc2VhcmNoLXByb2plY3QgZGl2LmFzc29jaWF0ZWQtY29udGVudCB7XG4gIGNsZWFyOiBib3RoOyAgXG59XG5cbmRpdi5ncm91cGVkLXByb2plY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwcHggMHB4IDIwcHggMjBweDtcbn1cblxuZGl2Lmdyb3VwZWQtcHJvamVjdC1jb250YWluZXIgaDIge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbmRpdi5ncm91cGVkLXB1YmxpY2F0aW9uLWNvbnRhaW5lcixcbmRpdi5wdWItZ3JvdXAtaGVhZGVyIHtcbiAgbWFyZ2luOiAwcHggMHB4IDIwcHggMjBweDtcbn1cblxuZGl2LnB1YmxpY2F0aW9uLWdyb3VwIGgyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiogYm9keS5wYWdlLXJlc2VhcmNoLXJvYm90aWNzLXByb2plY3RzLWJ5LXRvcGljICovXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2Lmdyb3VwZWQtcHJvamVjdC1jb250YWluZXIgIHtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuZGl2LnJvYm90aWNzLWdyb3VwZWQtdGlsZS12aWV3IGRpdi5yZXNlYXJjaC1wcm9qZWN0LXRodW1ibmFpbCB7XG4gIGZsb2F0OiBub25lO1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IDE1OHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2LnJlc2VhcmNoLXByb2plY3QtdGh1bWJuYWlsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogMzBweDtcbiAgY2xpcDpyZWN0KDBweCwxMDBweCwxMDBweCwwcHgpO1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgIGRpdi5ncm91cGVkLXByb2plY3QtY29udGFpbmVyIGgyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6MTA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2Lmdyb3VwZWQtcHJvamVjdC1jb250YWluZXIgZGl2LnZpZXdzLXJvdyB7XG4gIHdpZHRoOiAxNThweDtcbiAgaGVpZ2h0OiAxNjVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogdGhpbiBzb2xpZCAjQUFBO1xuICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7XG4gIGNsZWFyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDJweCAycHggMHB4O1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2LnJlc2VhcmNoLXByb2plY3QtYmx1cmIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qKlxuICogQ291cnNlIGxpc3RpbmdzXG4gKi9cbi5jb3Vyc2UtbGlzdGluZy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRpdi52aWV3LWNvdXJzZS1saXN0aW5nIGRpdi52aWV3cy1yb3cge1xuICBtYXJnaW46IDBweCAyMHB4IDEwcHggMjVweDtcbn1cblxuXG4vKlxuICogVGFiYmVkIG1lbnVzIGF0IHRoZSB0b3Agb2YgY29udGVudCByZWdpb25zXG4gKi9cbmRpdi5yZWdpb24tY29udGVudCB7XG4gIHNlY3Rpb24uYmxvY2stbWVudSB7XG4gICAgdWwubWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIFxuICAgICAgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgXG4gICAgICAgIGEsIHNwYW4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICA+IGxpLmFjdGl2ZSB7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZGF3Z2Ryb3BzLWl0ZW0uZGF3Z2Ryb3BzLWl0ZW0gYTpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRnb2xkO1xufVxuXG4ubGFzdC1lZGl0ZWQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKlxuICogRm9yIHRhYmxldCBhbmQgc21hbGxlciwgb2ZmZXIgaGFtYnVyZ2VyIG1lbnVzIHdpdGggZnVsbC13aWR0aFxuICogbWVudSBpdGVtcy5cbiAqXG4gKiBBZGFwdGVkIGZyb20gaHR0cHM6Ly9jb2RlcGVuLmlvL2Fub24vcGVuL3hMYUVnelxuICovXG4jbWVudS10b2dnbGUgaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjhweCkgIHsgIFxuICAjbWVudS10b2dnbGUge1xuICAgIGhlaWdodDogNDBweDsgIFxuICB9XG5cbiAgLy8gTWVudSBub3JtYWxseSBjb2xsYXBzZWQoaGlkZGVuKSBhdCB0aGlzIHJlc29sdXRpb25cbiAgI21lbnUtdG9nZ2xlIHVsLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMTVzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIFxuICAgIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6ICA1cHggMjBweCA1cHggNXB4O1xuICAgIH1cbiAgICBcbiAgICBzcGFuLmNhcmV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcbiAgICAgIFxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cbiAgXG4gIC8vIExpbmVzIG9mIGhhbWJ1cmdlclxuICAjbWVudS10b2dnbGUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIGxlZnQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDRweCAwcHg7XG4gIH1cbiAgI21lbnUtdG9nZ2xlIHNwYW46Zmlyc3QtY2hpbGRcbntcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG59XG5cbiNtZW51LXRvZ2dsZSBzcGFuOm50aC1sYXN0LWNoaWxkKDIpXG57XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDEwMCU7XG59XG4gIC8vIFRyYW5zcGFyZW50IGFuZCBvbiB0b3Agb2YgaGFtYnVyZ2VyXG4gICNtZW51LXRvZ2dsZSBpbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG9wYWNpdHk6IDA7IFxuICAgIHotaW5kZXg6IDI7IFxuICB9XG4gIFxuICAjbWVudS10b2dnbGUgaW5wdXQ6Y2hlY2tlZCB+IHVsLm1lbnUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjI1cyBlYXNlLWluO1xuICB9XG4gIFxuICNtZW51LXRvZ2dsZSBpbnB1dDpjaGVja2VkIH4gc3BhblxuICB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtMnB4LCAtMXB4KTtcbiAgfVxuICBcbiAgI21lbnUtdG9nZ2xlIGlucHV0OmNoZWNrZWQgfiBzcGFuOm50aC1sYXN0LWNoaWxkKDMpICB7XG4gICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDAuMSwgMC4xKTtcbiAgfVxuICBcbiAgI21lbnUtdG9nZ2xlIGlucHV0OmNoZWNrZWQgfiBzcGFuOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgwLCAtMXB4KTtcbiAgfVxufVxuXG4vKipcbiAqIFZpZXdzXG4gKi9cbmEuaW50ZXJuYWwtZWRpdC1saW5rIHtcbiAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbi5jYWxsb3V0IHtcbiAgPiBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIFxuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2VsbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHdlbGwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgXG4gIGFzaWRlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuICBcbiAgLm1vcmUtbGluayB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuXG50YWJsZS5nc2Mtc2VhcmNoLWJveCB7XG4gIG1hcmdpbi10b3A6IDBweDsgIFxufVxuXG50YWJsZS5nc2Mtc2VhcmNoLWJveCB0Ym9keSB7XG4gIGJvcmRlcjogMHB4O1xufVxuXG50ZC5nc2MtY2xlYXItYnV0dG9uIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMHB4O1xufVxuXG50ZC5nc2MtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgXG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgOjotbW96LXBsYWNlaG9sZGVyLCAgLyogRmlyZWZveCAxOSsgKi9cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAgLyogSUUgMTArICovXG4gICAgOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuaW5wdXQuZ3NjLWlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjQUFBICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0LmdzYy1zZWFyY2gtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9zZWFyY2guc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDM0cHggIWltcG9ydGFudDtcbn1cblxuXG4vKiBNU0IgKi9cbmRpdi5tc2Ige1xuICBtYXJnaW46IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAyNzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbiBcbmRpdi5tc2IgaW1nIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDI1OXB4OyBcbn1cbiIsIi8vIFNsaWRlc2hvdyBkaXNwbGF5ZWQgb24gZnJvbnQgcGFnZVxuXG4jc2lkZXNob3cge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmZyb250ICNzbGlkZXNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBAc2xpZGVzaG93X2hlaWdodDsgIFxufVxuXG4uc2xpZGVzaG93LXJvdyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgXG4gIGhlaWdodDogQHNsaWRlc2hvd19oZWlnaHQ7XG4gIG1hcmdpbjogYXV0bztcbiAgY29sb3I6ICNGRkY7XG4gIFxuICBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMVxuICB9XG4gIFxuICBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM1xuICB9XG4gIFxuICBhIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgfVxuICBcbiAgLm1vcmUge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4udmlld3Mtc2xpZGVzaG93LWN5Y2xlLW1haW4tZnJhbWUtcm93LFxuLnZpZXdzLXNsaWRlc2hvdy1jeWNsZS1tYWluLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuI3ZzY2NfY29udHJvbHNfZnJvbnRfcGFnZV9zbGlkZXNob3ctYmxvY2tfMl8xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1MDA7XG4gIHRvcDogLTQwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWFyZ2luOiBhdXRvXG59XG5cbiN2c2NjX2NvbnRyb2xzX2Zyb250X3BhZ2Vfc2xpZGVzaG93LWJsb2NrXzJfMSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTIwMHB4KSB7XG4gIC5zbGlkZXNob3ctcm93IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgfVxufVxuXG4vL0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XG4vLyAgLnNsaWRlc2hvdy1yb3cge1xuLy8gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7IFxuLy8gIH1cbi8vICBcbi8vICBib2R5LmZyb250ICNzbGlkZXNob3cge1xuLy8gICAgaGVpZ2h0OiBAbW9iaWxlX3NsaWRlc2hvd19oZWlnaHQ7ICBcbi8vICB9XG4vL1xuLy99XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY4cHgpIHtcblxuICBib2R5LmZyb250ICNzbGlkZXNob3cge1xuICAgIGhlaWdodDogQG1vYmlsZV9zbGlkZXNob3dfaGVpZ2h0OyAgXG4gIH1cblxuICAuc2xpZGVzaG93LXJvdyB7XG4gICAgaGVpZ2h0OiBAbW9iaWxlX3NsaWRlc2hvd19oZWlnaHQ7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogQG1vYmlsZV9zbGlkZXNob3dfdGV4dF9ib3hfaGVpZ2h0O1xuICAgIFxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gICAgXG4gICAgZGl2LnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IEBtb2JpbGVfc2xpZGVzaG93X2hlaWdodDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkYXJrZ3JheTtcbiAgICAgIGhlaWdodDpAbW9iaWxlX3NsaWRlc2hvd190ZXh0X2JveF9oZWlnaHQ7XG4gICAgfVxuICAgIFxuICAgIHAge1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zXG4gICAgfVxuICAgIFxuICB9XG4gIFxuICAjdnNjY19jb250cm9sc19mcm9udF9wYWdlX3NsaWRlc2hvdy1ibG9ja18yXzEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxufSIsIi8vIEZvb3RlclxuXG5mb290ZXIuZm9vdGVyIHtcbiAgY29sb3I6ICNGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGU7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAzMHB4IDEwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1O1xuICBcbiAgaDIge1xuICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgXG4gIHAsIGEge1xuICAgY29sb3I6ICNGRkY7XG4gICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgXG4gXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2OHB4KSB7XG4gIGJvZHkuZnJvbnQgZm9vdGVyLmZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogQG1vYmlsZV9zbGlkZXNob3dfdGV4dF9ib3hfaGVpZ2h0O1xuICB9XG59XG5cbmZvb3Rlci5mb290ZXIgICAud2hpdGUtZm9vdGVyLXcge1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IC0xMHB4O1xufVxuXG5mb290ZXIuZm9vdGVyIGkge1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDRlbTtcbn1cblxuLmNvbm5lY3Qtd2l0aC11cyB7XG4gIGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuI2xlZ2FsZXNlIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuI2Jsb2NrLXNoaWItYXV0aC1sb2dpbi1ib3gge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59IiwiLyogTWFrZSBib290c3RyYXBweSBidXR0b25zIG9uIHRoZSBsYWIgaG9tZSBwYWdlICovXG5cbi5idG4tYnM+OmZpcnN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7XG4gICAgd2lkdGg6NDBweDtcbiAgICBsaW5lLWhlaWdodDo0MHB4O1xuICAgIGZvbnQtc2l6ZToxLjZlbTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKVxufVxuXG4uYnRuLXR3aXR0ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1NWFjZWU7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tdHdpdHRlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI3OTVlOTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLWdpdGxhYntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzRCNTE1RDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1naXRsYWI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyNjMyMzg7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1teXBvcnRmb2xpb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2FhNjZjYztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1teXBvcnRmb2xpbzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izk5MzNjYztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLWxpbnV4LXZte2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMkJCQkFEO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLWxpbnV4LXZtOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDBlNjc2O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tdmRpe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDI4NUY0O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXZkaTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMwNGZmZTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLWNoYW5nZS1wYXNzd29yZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izk2N0FEQztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1jaGFuZ2UtcGFzc3dvcmQ6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNBQzkyRUM7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi13aWZpe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojM0JBRkRBO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXdpZmk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0RkMxRTk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1lbWFpbHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM3QkM5Qjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1lbWFpbDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ4Q0ZBRDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLXByaW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojRjZCQjQyO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXByaW50OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojRkZDRTU0O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tcmVxdWVzdC1hY2NvdW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojQUFCMkJEO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXJlcXVlc3QtYWNjb3VudDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I0NDRDFEOTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLXN1cHBvcnQtcmVxdWVzdHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzRENTA1Qjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1zdXBwb3J0LXJlcXVlc3Q6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMkY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1tYWNpbnRvc2h7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNFQzNGOEM7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tbWFjaW50b3NoOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZjUwMDU3O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tbGludXh7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxRkQyNkE7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tbGludXg6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMGM4NTM7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi13aW5kb3dze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzlCMUM2O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXdpbmRvd3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOTYyZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1yZXBvcnQtZW1lcmdlbmN5IHtjb2xvcjojRkZGO2JhY2tncm91bmQtY29sb3I6I0YwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfTtcbi5idG4tcmVwb3J0LWVtZXJnZW5jeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I0MwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7XG59XG4uZmEtbXlwb3J0Zm9saW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2NcIjtcbn1cbi5mYS12ZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbi5mYS1jaGFuZ2UtcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuLmZhLXJlcXVlc3QtYWNjb3VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuXG4uZmEtbGludXgtdm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cblxuLmZhLXN1cHBvcnQtcmVxdWVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuXG4uZmEtbWFjaW50b3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7XG59XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XG59XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiO1xufVxuXG4uZmEtd2lmaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuXG4uZmEtZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cblxuLmJ0bi1icyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3MCU7XG4gICAgcGFkZGluZzogNnB4IDEycHggNnB4IDQ0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXNcbn1cblxuLy8gU2VhcmNoIGZvcm0gb24gbGFiIHBhZ2VzXG4jYmxvY2stY3VzdG9tLXNlYXJjaC1ibG9ja3MtNCB7XG4gIC5mb3JtLWl0ZW0tY3VzdG9tLXNlYXJjaC1ibG9ja3MtZm9ybS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICB9XG5cbiAgZGl2LmZvcm0tYWN0aW9ucyB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MnB4O1xuICB9XG5cbiAgYnV0dG9uLmZvcm0tc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9zZWFyY2hfaWNvbi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDM0cHggIWltcG9ydGFudDtcbiAgfVxufSIsIi5jc2UtY2FsbG91dCB7XG4gIC53ZWxsKCk7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIH1cbn1cblxuIiwiZGl2LnB1YmxpYy1kaXJlY3RvcnktaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmRpdi5wdWJsaWMtZGlyZWN0b3J5LW5hbWUsXG5kaXYucHVibGljLWRpcmVjdG9yeS1uYW1lIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBAcHVycGxlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXYucHVibGljLWRpcmVjdG9yeS1lbWFpbCB7XG4gIFxufVxuXG5kaXYucHVibGljLWRpcmVjdG9yeS13b3JraW5nLXRpdGxlIHtcbiAgXG59Il19 */