/* Sticky footer styles
-------------------------------------------------- */

html {
  position: relative;
  min-height: 100%;
}

body {
  /* Margin bottom by footer height, plus some extra space if necessary */
  margin-bottom: 120px;
}

footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 120px;
  background-color: #f5f5f5;
  margin-top: 40px;
}

/* Nudge the parent container down to beneath the fixed header */

body > .container {
  padding-top: 50px;
}

/* Nudge anchors beneath the fixed header too, from http://stackoverflow.com/questions/4086107/html-positionfixed-page-header-and-in-page-anchors. Note that this relies on <a name> anchors and not #divs */

:target:before {
  content: "";
  display: block;
  height: 60px;
  /* fixed header height plus a bit */
  margin: -60px 0 0;
  /* negative fixed header height as above */
}

/* Footer styles lifted from old site */

footer {
  background-color: #fff;
}

.footer-content {
  border-top: 5px solid #efefef;
  padding-top: 10px;
  margin: 20px 0 0 0;
  font-size: 12px;
}

footer a,
footer a:visited,
footer a:hover,
footer a:active,
footer a:focus {
  font-size: 12px;
  color: #222;
}

footer p {
  color: #222;
  font-size: 12px;
}

footer h3 {
  color: #222;
}

.icons ul {
  margin-left: 0;
}

.icons ul.list-inline > li:first-child {
  padding-left: 1em;
}

.icons ul li,
icons > p {
  color: #222;
}

footer ul.apps-for img.logo {
  margin-right: 10px;
}

footer ul.apps-for i {
  vertical-align: middle;
}

footer ul.apps-for li.mobile-site i {
  color: #f12e15;
}

footer ul.social {
  left: 0px;
}

/* Extra Small */

@media (max-width: 767px) {
  footer h3 {
    margin: 5px 0 15px;
  }

  footer ul.apps-for:first-child {
    margin-bottom: 0;
  }

  .icons ul.apps-for li {
    width: 48%;
    margin-bottom: 10px;
  }

  .icons ul.social li {
    width: 24%;
    margin-bottom: 10px;
  }
}

/* -- old footer ends */

/* Adjust the navbar styles */

body.argos .navbar {
  background-color: #f5f5f5;
  border: none;
}

/* Our version of the Bootstrap page header */

.argos-page-header {
  margin-bottom: 20px;
}

/* Allow us to shrink the navbar logo on scroll */

body.argos .navbar-brand.argos {
  padding-top: 0px;
  padding-bottom: 0px;
}

body.argos .navbar-brand.argos img {
  margin-top: 5px;
  height: 40px;
}

@media (min-width: 768px) {
  body.argos .navbar-brand.argos img {
    transition: all 0.3s;
    height: 70px;
    margin-top: 15px;
  }

  body.argos .navbar-brand.argos img.shrink {
    margin-top: 5px;
    height: 40px;
  }

  /* With a larger logo, we need to nudge the parent container down a it further */

  body > .container {
    padding-top: 90px;
  }
}

/* Grey boxes, used on homepage and possibly elsewhere */

.grey-box {
  background-color: #efefef;
  padding: 15px;
  margin-bottom: 10px;
}

.grey-box.border {
  background-color: #fff;
  border: 2px solid #efefef;
}

.grey-box form,
.grey-box .form-group {
  margin-bottom: 0;
}

/* Center align responsive images properly, from http://stackoverflow.com/questions/18462808/responsive-image-align-center-bootstrap-3 */

.text-center img.img-responsive {
  margin: 0 auto;
}

/* Attempting a five column layout, from http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/ */

.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
}

.col-xs-15 {
  width: 20%;
  float: left;
}

@media (min-width: 768px) {
  .col-sm-15 {
    width: 20%;
    float: left;
  }
}

@media (min-width: 992px) {
  .col-md-15 {
    width: 20%;
    float: left;
  }
}

@media (min-width: 1200px) {
  .col-lg-15 {
    width: 20%;
    float: left;
  }
}

/* Square off the alerts so that they're more "Argos" */

.alert:not(.bootstrap):not([data-notify-position]) {
  border-radius: 0px;
}

.product-search-ajax-alert {
  margin-bottom: 1em;
}

/* Style typeahead for Bootstrap, from https://gist.github.com/mixisLv/f7872a90a8a31157e80364f08c955102 */

.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
  margin-bottom: 0;
}

.tt-hint {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.428571429;
  color: #999;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.tt-menu {
  min-width: 160px;
  margin-top: 2px;
  padding: 5px 0;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}

.tt-suggestion {
  display: block;
  padding: 3px 20px;
}

.tt-suggestion.tt-cursor,
.tt-suggestion:hover {
  color: #fff;
  background-color: #428bca;
}

.tt-suggestion.tt-is-under-cursor a {
  color: #fff;
}

.tt-suggestion p {
  margin: 0;
}

/* A few tweaks to the above */

.tt-suggestion {
  padding: 3px 10px;
  /* The 3px 20px set above is too much, I think */
}

.empty-message {
  padding: 3px 20px;
  color: #999;
}

.tt-suggestion.tt-cursor,
.tt-suggestion:hover {
  cursor: pointer;
  /* Reinstate the correct pointer cursor for each item */
  background-color: #efefef;
  color: #000;
}

.media.tt-suggestion {
  margin-top: 0px;
}

/* Full width from http://stackoverflow.com/questions/17957513/extending-the-width-of-bootstrap-typeahead-to-match-input-field */

.twitter-typeahead,
.tt-hint,
.tt-input,
.tt-menu {
  width: 100%;
}

/* Argos fonts */

@font-face {
  font-family: argosbook;
  src: url(/fonts/argos-book-webfont.eot?0458b49ed85d4721237850f1967b6189);
  src: url(/fonts/argos-book-webfont.eot?0458b49ed85d4721237850f1967b6189) format("embedded-opentype"), url(/fonts/argos-book-webfont.woff?6af5cb10785727d6f7ad0663a7edaeb1) format("woff"), url(/fonts/argos-book-webfont.ttf?11ce781629e7280801d9f91871b66150) format("truetype"), url(/fonts/argos-book-webfont.svg?9aa013800d623b35d5cbf78d27f88e09) format("svg");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: argoscondensedextrabold;
  src: url(/fonts/argos-condensedextrabold-webfont.eot?ea1032f294628c1c30125873b6eab622);
  src: url(/fonts/argos-condensedextrabold-webfont.eot?ea1032f294628c1c30125873b6eab622) format("embedded-opentype"), url(/fonts/argos-condensedextrabold-webfont.woff?a5cedc1a18e27f1d57cb9651d265b6b9) format("woff"), url(/fonts/argos-condensedextrabold-webfont.ttf?c6616552fc56888b712669a4697350bb) format("truetype"), url(/fonts/argos-condensedextrabold-webfont.svg?6c5952fa8568ceb20aab3cd4ea814330) format("svg");
  font-weight: 400;
  font-style: normal;
}

/* icomoon used purely for the "returns" icon */

/* I don't like this, it looks terrible -- can we get away with a FA icon?
@font-face {
    font-family: 'icomoon';
    src:    url('../fonts/custom/icomoon.eot?1t9kt3');
    src:    url('../fonts/custom/icomoon.eot?1t9kt3#iefix') format('embedded-opentype'),
        url('../fonts/custom/icomoon.ttf?1t9kt3') format('truetype'),
        url('../fonts/custom/icomoon.woff?1t9kt3') format('woff'),
        url('../fonts/custom/icomoon.svg?1t9kt3#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"].icon-border {

    text-transform: lowercase !important;
    font-style: normal;
    font-size: 12px;
    height: 1.5em;
    text-align: center;
    display: inline-block;
    position: relative;
    xmargin-right: 3px;

    padding: .2em .25em .15em;
    border: solid .08em #eee;
    border-radius: .1em;
}

.icon-returns-arrow-tight:before {
    content: "\e900";
}
*/

/* Adjust the navbar text, including the colour, size and spacing of the menu links and icons */

body.argos #navbar {
  font-family: Helvetica, sans-serif;
  text-transform: uppercase;
  font-weight: 300;
}

body.argos #navbar .navbar-nav > li > a {
  color: #585858;
}

body.argos #navbar i.fa {
  margin-right: 0.5em;
}

body.argos #navbar i.fa-border {
  border-color: #585858;
}

body.argos #navbar i.fa-fw {
  width: 1.6em;
}

/* Some navbar link colours */

body.argos #navbar .navbar-nav > li > a:hover {
  color: #aa4e9e;
}

body.argos #navbar .navbar-nav > li > a:hover i.fa-border {
  border-color: #aa4e9e;
  background-color: #fff;
}

/* General typography */

h1,
h2,
h3,
.h1,
.h2,
.h3 {
  font-family: argosbook, Arial, Helvetica, sans-serif;
  color: #585858;
}

#product-search p {
  color: #585858;
}

h2,
.h2 {
  font-size: 28px;
}

h2.grey,
.h2.grey {
  color: #999;
  font-size: 26px;
  margin-top: 10px;
}

h3,
.h3 {
  font-size: 20px;
}

h3.underline,
.h3.underline {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.argos-page-header h1 a.back {
  /* We hide this on -xs and -sm */
  font-size: 16px;
  text-decoration: none !important;
  padding-top: 16px;
}

@media (max-width: 768px) {
  .argos-page-header a.back {
    /* We hide this on -xs and -sm */
    margin-top: 0.8em;
  }
}

#product-details h3,
#product-details .h3 {
  margin-top: 15px;
}

p,
li,
a {
  color: #333;
  font-weight: 300;
}

p.no-margin {
  margin: 0;
}

hr.narrow {
  margin-top: 10px;
  margin-bottom: 10px;
}

a {
  color: #aa4e9e;
}

input:not(.bootstrap):not(.pincode-input-text),
select:not(.bootstrap):not(#DTE_Field_cached_repairstatus_id),
textarea:not(.bootstrap) {
  font-family: argosbook, Arial, Helvetica, sans-serif;
}

/* why body.argos? ah, overwrites the default bootstrap style; but then .bootstrap reverts back... */

body.argos .form-control:not(.bootstrap):not(.pincode-input-text):not(#DTE_Field_cached_repairstatus_id) {
  /* Used by the repairs tool login page, and the "Editor" modal as per the above */
  border-style: solid;
  border-width: 1px 1px 2px;
  border-color: #ccc;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  line-height: normal;
  color: #999;
}

body.argos .form-control:not(.bootstrap).input-lg {
  border-bottom-width: 3px;
}

/* Prevent Safari iOS zooming into the field, it breaks the layout slightly */

@media (max-width: 767px) {
  #telephone-helplines input.form-control,
  #manual-finder input.form-control {
    font-size: 16px;
  }
}

.grey-box .input-group {
  width: 100%;
}

.grey-box .input-group .input-group-btn .btn {
  background-color: #ccc;
  border-color: #ccc;
  color: #fff;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.grey-box .input-group .input-group-btn .btn:hover {
  background-color: #999;
  border-color: #999;
}

select.input-lg + i.select-caret,
select.input-lg + i.form-control-feedback + i.select-caret {
  /* This allows us to use the caret on dropdowns on which we also display validation feedback */
  position: relative;
  float: right;
  color: #999;
  /* Odd one. If we go with an 18px font here, we get a strange 3px gap beneath the parent panel in Chrome...
    right: 0.8em;
    top: -1.8em;
    font-size: 18px;
    */
  right: 1em;
  top: -2.1em;
  font-size: 14px;
  pointer-events: none;
  /* This was previously hardcoded into the HTML for some reason */
}

select.input-lg + i.form-control-feedback.glyphicon + i.select-caret {
  /* If we're actually displaying validation feedback (eg a tick or a cross), hide the caret */
  display: none;
}

.form-group p.below {
  margin: 0.5em 0 0;
}

.form-group p.above {
  margin: 0 0 0.5em;
}

.grey-box h3 {
  margin-top: 0;
}

.alert h3 {
  margin-top: 0;
  font-size: 18px;
}

/* Argos buttons from previous site */

.btn.btn-argos {
  border-style: solid;
  border-color: #ccc;
  border-width: 1px 1px 3px;
  border-radius: 0;
  display: block;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
  color: #f7941d;
  cursor: pointer;
  text-transform: uppercase;
  font-family: argosbook;
  font-weight: normal;
  font-size: 16px;
  background-color: #fff;
  color: #333;
}

/* Breadcrumbs */

.argos-breadcrumb {
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
  padding: 5px 0px;
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 0px;
}

.argos-breadcrumb li {
  padding-left: 0px;
  padding-right: 0px;
}

.argos-breadcrumb li:after {
  font-family: 'FontAwesome';
  content: '\f054';
  margin: 2px 10px 0 10px;
  font-size: 12px;
}

.argos-breadcrumb li:last-child:after {
  content: '';
}

.argos-breadcrumb.anchors li:after {
  content: '';
}

.argos-breadcrumb.anchors li:before {
  font-family: 'FontAwesome';
  content: '\f0d7';
  margin: 0 10px 0 0px;
}

/* Argos buttons */

/* Use the new-style buttons from the Argos site */

.argos-button {
  border-style: solid;
  border-color: #ccc;
  border-width: 1px 1px 3px;
  color: #999;
  border-radius: 0;
  /* Unnecessary?
	display: block;
	*/
  padding: 5px 10px 4px;
  text-align: center;
  cursor: pointer;
  font-family: argosbook;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: normal;
}

.argos-button.disabled:hover {
  cursor: default;
}

.argos-button:not(.disabled):hover {
  margin-top: 1px;
  border-bottom-width: 2px;
  text-decoration: none;
  background-color: #fafafa;
}

.argos-button.select {
  /* A version of the argos-button that resembles the Bootstrap select */
  text-align: left;
  text-transform: none;
}

.argos-button.primary {
  font-family: argoscondensedextrabold;
  font-weight: bold;
  background-color: #aa4e9e;
  color: #fff;
}

.argos-button.primary:hover {
  background-color: #aa4e9e;
}

.argos-button.primary:active {
  background-color: #761369;
}

.argos-button.secondary {
  font-family: argoscondensedextrabold;
  font-weight: bold;
  background-color: #00aa50;
  color: #fff;
}

.argos-button.secondary:hover {
  background-color: #00aa50;
}

.argos-button.secondary:active {
  background-color: #057138;
}

.argos-button.large {
  display: block;
  padding: 10px 10px 8px;
}

/* Lining up Font Awesome icons around headings... */

ul.fa-ul.heading3 li {
  /* Can't use .h3 as this clashes with Bootstrap */
  font-size: 20px;
  font-family: Argosbook;
  color: #585858;
}

/* Narrow alerts are handy sometimes */

.alert.alert-narrow,
.alert-narrow .alert {
  padding: 5px 10px;
  margin-bottom: 15px;
  font-size: 12px;
}

.alert.alert-narrow .close,
.alert-narrow .alert .close {
  line-height: 0.9em;
  font-size: 16px;
}

/* ============================
		  Modals
============================ */

.modal-content {
  border-radius: 0px;
}

.modal-header {
  background-color: #0fb0d0;
  padding: 15px;
  border-bottom: none;
}

.modal-title {
  color: #fff;
}

.modal-header .close {
  background-color: #0fb0d0;
  color: #fff;
  /*
	display:inline-block;
	padding:12px;
	height:34px;
	width:34px;
	text-align:center;
	font-size:22px;
	line-height:10px;
	border-radius:0px;
	float: right;
    font-weight: 700;
    text-shadow:none;
    opacity: 1;
    */
  opacity: 1;
  padding: 2px 10px 7px;
}

.modal-header .close:hover,
.modal-header .close:focus {
  background-color: #333;
  color: #fff;
  opacity: 0.5;
}

.modal-footer {
  background-color: #efefef;
  margin-top: 15px;
  padding: 19px 20px 20px;
  text-align: right;
  border-top: none;
}

.modal-body .input-group-addon {
  border-radius: 0px;
  border-bottom-width: 2px;
}

/* Use the sntandard grey/purple colours in modal dialogues */

.modal-header {
  background-color: #f5f5f5;
}

.modal-header .close {
  background-color: #aa4e9e;
}

.modal-title {
  color: #000;
}

#search_results {
  margin-bottom: 1em;
}

.fa-remove.red {
  color: #c00;
}

#search_filter .argos-button {
  display: block;
  padding: 10px 10px 8px;
  /* Need to make argos-button more generic really */
}

.flag-icon-background {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}

.flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1.33333333em;
  line-height: 1em;
}

.flag-icon:before {
  content: "\00a0";
}

.flag-icon.flag-icon-squared {
  width: 1em;
}

.flag-icon-gb {
  background-image: url(/fonts/gb.svg?fd72d9b5184b47afb2f7b4db0c8a35de);
}

.flag-icon-ie {
  background-image: url(/fonts/ie.svg?6a6841f17bbdd148b6bfce78d4e76b41);
}

/* These are causing conflicts with mix, not sure why; is it trying to move both files into the same folder?
.flag-icon-gb.flag-icon-squared {
  background-image: url(../flags/1x1/gb.svg);
}
.flag-icon-ie.flag-icon-squared {
  background-image: url(../flags/1x1/ie.svg);
}
*/

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvY3NzL2xheW91dC5jc3MiLCJyZXNvdXJjZXMvYXNzZXRzL2Nzcy90eXBlYWhlYWQuY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9jc3MvdHlwb2dyYXBoeS5jc3MiLCJyZXNvdXJjZXMvYXNzZXRzL2Nzcy9tb2RhbHMuY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9jc3Mvc2VhcmNoLmNzcyIsInJlc291cmNlcy9hc3NldHMvZmxhZ3MvY3NzL2ZsYWctaWNvbi1nYi1pZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwXCI7XG5cbkBpbXBvcnQgXCJyZXNvdXJjZXMvYXNzZXRzL2Nzcy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJyZXNvdXJjZXMvYXNzZXRzL2Nzcy90eXBlYWhlYWRcIjtcbkBpbXBvcnQgXCJyZXNvdXJjZXMvYXNzZXRzL2Nzcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzL2Fzc2V0cy9jc3MvbW9kYWxzXCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzL2Fzc2V0cy9jc3Mvc2VhcmNoXCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzL2Fzc2V0cy9mbGFncy9jc3MvZmxhZy1pY29uLWdiLWllXCI7XG4iLCIvKiBTdGlja3kgZm9vdGVyIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5ib2R5IHtcbiAgLyogTWFyZ2luIGJvdHRvbSBieSBmb290ZXIgaGVpZ2h0LCBwbHVzIHNvbWUgZXh0cmEgc3BhY2UgaWYgbmVjZXNzYXJ5ICovXG4gIG1hcmdpbi1ib3R0b206IDEyMHB4O1xufVxuZm9vdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBTZXQgdGhlIGZpeGVkIGhlaWdodCBvZiB0aGUgZm9vdGVyIGhlcmUgKi9cbiAgaGVpZ2h0OiAxMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi8qIE51ZGdlIHRoZSBwYXJlbnQgY29udGFpbmVyIGRvd24gdG8gYmVuZWF0aCB0aGUgZml4ZWQgaGVhZGVyICovXG5ib2R5ID4gLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuXG4vKiBOdWRnZSBhbmNob3JzIGJlbmVhdGggdGhlIGZpeGVkIGhlYWRlciB0b28sIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MDg2MTA3L2h0bWwtcG9zaXRpb25maXhlZC1wYWdlLWhlYWRlci1hbmQtaW4tcGFnZS1hbmNob3JzLiBOb3RlIHRoYXQgdGhpcyByZWxpZXMgb24gPGEgbmFtZT4gYW5jaG9ycyBhbmQgbm90ICNkaXZzICovXG46dGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDYwcHg7IC8qIGZpeGVkIGhlYWRlciBoZWlnaHQgcGx1cyBhIGJpdCAqL1xuICBtYXJnaW46IC02MHB4IDAgMDsgLyogbmVnYXRpdmUgZml4ZWQgaGVhZGVyIGhlaWdodCBhcyBhYm92ZSAqL1xufVxuXG4vKiBGb290ZXIgc3R5bGVzIGxpZnRlZCBmcm9tIG9sZCBzaXRlICovXG5cbmZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNlZmVmZWY7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBtYXJnaW46MjBweCAwIDAgMDsgZm9udC1zaXplOjEycHg7XG59XG5mb290ZXIgYSwgZm9vdGVyIGE6dmlzaXRlZCwgZm9vdGVyIGE6aG92ZXIsIGZvb3RlciBhOmFjdGl2ZSwgZm9vdGVyIGE6Zm9jdXMge1xuICBmb250LXNpemU6MTJweDtcbiAgY29sb3I6IzIyMiA7XG59XG5mb290ZXIgcCB7XG4gICAgY29sb3I6IzIyMjsgZm9udC1zaXplOjEycHg7XG59XG5mb290ZXIgaDMge1xuICBjb2xvcjojMjIyO1xufVxuLmljb25zIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cbi5pY29ucyB1bC5saXN0LWlubGluZT5saTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuLmljb25zIHVsIGxpLCBpY29ucyA+IHAge1xuICBjb2xvcjojMjIyO1xufVxuZm9vdGVyIHVsLmFwcHMtZm9yIGltZy5sb2dvIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuZm9vdGVyIHVsLmFwcHMtZm9yIGkge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuZm9vdGVyIHVsLmFwcHMtZm9yIGxpLm1vYmlsZS1zaXRlIGkge1xuICAgY29sb3I6ICNmMTJlMTVcbn1cbmZvb3RlciB1bC5zb2NpYWwge1xuICBsZWZ0OjBweDtcbn1cbi8qIEV4dHJhIFNtYWxsICovXG5AbWVkaWEobWF4LXdpZHRoOjc2N3B4KXtcbiAgZm9vdGVyIGgzIHtcbiAgICBtYXJnaW46IDVweCAwIDE1cHg7XG4gIH1cbiAgZm9vdGVyIHVsLmFwcHMtZm9yOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5pY29ucyB1bC5hcHBzLWZvciBsaSB7IHdpZHRoOjQ4JTsgbWFyZ2luLWJvdHRvbToxMHB4OyB9XG4gIC5pY29ucyB1bC5zb2NpYWwgbGkgeyB3aWR0aDoyNCU7IG1hcmdpbi1ib3R0b206MTBweDsgfVxufVxuXG4vKiAtLSBvbGQgZm9vdGVyIGVuZHMgKi9cblxuLyogQWRqdXN0IHRoZSBuYXZiYXIgc3R5bGVzICovXG5ib2R5LmFyZ29zIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyOiBub25lO1xufVxuLyogT3VyIHZlcnNpb24gb2YgdGhlIEJvb3RzdHJhcCBwYWdlIGhlYWRlciAqL1xuLmFyZ29zLXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogQWxsb3cgdXMgdG8gc2hyaW5rIHRoZSBuYXZiYXIgbG9nbyBvbiBzY3JvbGwgKi9cbmJvZHkuYXJnb3MgLm5hdmJhci1icmFuZC5hcmdvcyB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG59XG5cbmJvZHkuYXJnb3MgLm5hdmJhci1icmFuZC5hcmdvcyBpbWcge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGhlaWdodDogNDBweDtcbn1cbkBtZWRpYShtaW4td2lkdGg6NzY4cHgpe1xuICBib2R5LmFyZ29zIC5uYXZiYXItYnJhbmQuYXJnb3MgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICBib2R5LmFyZ29zIC5uYXZiYXItYnJhbmQuYXJnb3MgaW1nLnNocmluayB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxuICAvKiBXaXRoIGEgbGFyZ2VyIGxvZ28sIHdlIG5lZWQgdG8gbnVkZ2UgdGhlIHBhcmVudCBjb250YWluZXIgZG93biBhIGl0IGZ1cnRoZXIgKi9cbiAgYm9keSA+IC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICB9XG59XG5cbi8qIEdyZXkgYm94ZXMsIHVzZWQgb24gaG9tZXBhZ2UgYW5kIHBvc3NpYmx5IGVsc2V3aGVyZSAqL1xuLmdyZXktYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5ncmV5LWJveC5ib3JkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWZlZmVmO1xufVxuLmdyZXktYm94IGZvcm0sXG4gIC5ncmV5LWJveCAuZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENlbnRlciBhbGlnbiByZXNwb25zaXZlIGltYWdlcyBwcm9wZXJseSwgZnJvbSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDYyODA4L3Jlc3BvbnNpdmUtaW1hZ2UtYWxpZ24tY2VudGVyLWJvb3RzdHJhcC0zICovXG4udGV4dC1jZW50ZXIgaW1nLmltZy1yZXNwb25zaXZlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEF0dGVtcHRpbmcgYSBmaXZlIGNvbHVtbiBsYXlvdXQsIGZyb20gaHR0cDovL3d3dy53ZWFyZXNpY2MuY29tL3F1aWNrLXRpcHMtNS1jb2x1bW4tbGF5b3V0LXdpdGgtdHdpdHRlci1ib290c3RyYXAvICovXG4uY29sLXhzLTE1LFxuLmNvbC1zbS0xNSxcbi5jb2wtbWQtMTUsXG4uY29sLWxnLTE1IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuLmNvbC14cy0xNSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuLmNvbC1zbS0xNSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb2wtbWQtMTUge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbC1sZy0xNSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cblxuLyogU3F1YXJlIG9mZiB0aGUgYWxlcnRzIHNvIHRoYXQgdGhleSdyZSBtb3JlIFwiQXJnb3NcIiAqL1xuLmFsZXJ0Om5vdCguYm9vdHN0cmFwKTpub3QoW2RhdGEtbm90aWZ5LXBvc2l0aW9uXSkgLyogQml0IG9mIGEgaGFjaywgdGhlIGxhdHRlciAoW2RhdGEtbm90aWZ5LXBvc2l0aW9uXSkgYXJlIHRoZSBhbGVydHMgZ2VuZXJhdGVkIGJ5IEJvb3RzdHJhcCBOb3RpZnkgKi9cbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLnByb2R1Y3Qtc2VhcmNoLWFqYXgtYWxlcnQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59IiwiXG4vKiBTdHlsZSB0eXBlYWhlYWQgZm9yIEJvb3RzdHJhcCwgZnJvbSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9taXhpc0x2L2Y3ODcyYTkwYThhMzExNTdlODAzNjRmMDhjOTU1MTAyICovXG4udHdpdHRlci10eXBlYWhlYWQgLnR0LXF1ZXJ5LFxuLnR3aXR0ZXItdHlwZWFoZWFkIC50dC1oaW50IHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cbi50dC1oaW50IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDM4cHg7XG5cdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcblx0Y29sb3I6ICM5OTk7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG5cdCAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG5cdCAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcbn1cbi50dC1tZW51IHtcblx0bWluLXdpZHRoOiAxNjBweDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRwYWRkaW5nOiA1cHggMDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG5cdCAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbn1cbi50dC1zdWdnZXN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDNweCAyMHB4O1xufVxuXG4udHQtc3VnZ2VzdGlvbi50dC1jdXJzb3IsXG4udHQtc3VnZ2VzdGlvbjpob3ZlciB7XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xufVxuLnR0LXN1Z2dlc3Rpb24udHQtaXMtdW5kZXItY3Vyc29yIGEge1xuXHRjb2xvcjogI2ZmZjtcbn1cbi50dC1zdWdnZXN0aW9uIHAge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEEgZmV3IHR3ZWFrcyB0byB0aGUgYWJvdmUgKi9cblxuLnR0LXN1Z2dlc3Rpb24ge1xuXHRwYWRkaW5nOiAzcHggMTBweDsgLyogVGhlIDNweCAyMHB4IHNldCBhYm92ZSBpcyB0b28gbXVjaCwgSSB0aGluayAqL1xufVxuLmVtcHR5LW1lc3NhZ2Uge1x0XG5cdHBhZGRpbmc6IDNweCAyMHB4O1xuXHRjb2xvcjogIzk5OTtcbn1cbi50dC1zdWdnZXN0aW9uLnR0LWN1cnNvcixcblx0LnR0LXN1Z2dlc3Rpb246aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjsgLyogUmVpbnN0YXRlIHRoZSBjb3JyZWN0IHBvaW50ZXIgY3Vyc29yIGZvciBlYWNoIGl0ZW0gKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXHRcdGNvbG9yOiAjMDAwO1xufVxuLm1lZGlhLnR0LXN1Z2dlc3Rpb24ge1xuXHRtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi8qIEZ1bGwgd2lkdGggZnJvbSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE3OTU3NTEzL2V4dGVuZGluZy10aGUtd2lkdGgtb2YtYm9vdHN0cmFwLXR5cGVhaGVhZC10by1tYXRjaC1pbnB1dC1maWVsZCAqL1xuLnR3aXR0ZXItdHlwZWFoZWFkLCAudHQtaGludCwgLnR0LWlucHV0LCAudHQtbWVudSB7IHdpZHRoOiAxMDAlOyB9XHQiLCIvKiBBcmdvcyBmb250cyAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBhcmdvc2Jvb2s7IHNyYzogdXJsKC4uL2ZvbnRzL2FyZ29zL2FyZ29zLWJvb2std2ViZm9udC5lb3QpOyBzcmM6IHVybCguLi9mb250cy9hcmdvcy9hcmdvcy1ib29rLXdlYmZvbnQuZW90PyNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybCguLi9mb250cy9hcmdvcy9hcmdvcy1ib29rLXdlYmZvbnQud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL2FyZ29zL2FyZ29zLWJvb2std2ViZm9udC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvYXJnb3MvYXJnb3MtYm9vay13ZWJmb250LnN2ZyNhcmdvc2Jvb2spIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zdHlsZTogbm9ybWFsXG59XG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IGFyZ29zY29uZGVuc2VkZXh0cmFib2xkOyBzcmM6IHVybCguLi9mb250cy9hcmdvcy9hcmdvcy1jb25kZW5zZWRleHRyYWJvbGQtd2ViZm9udC5lb3QpOyBzcmM6IHVybCguLi9mb250cy9hcmdvcy9hcmdvcy1jb25kZW5zZWRleHRyYWJvbGQtd2ViZm9udC5lb3Q/I2llZml4KSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKC4uL2ZvbnRzL2FyZ29zL2FyZ29zLWNvbmRlbnNlZGV4dHJhYm9sZC13ZWJmb250LndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9hcmdvcy9hcmdvcy1jb25kZW5zZWRleHRyYWJvbGQtd2ViZm9udC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvYXJnb3MvYXJnb3MtY29uZGVuc2VkZXh0cmFib2xkLXdlYmZvbnQuc3ZnI2FyZ29zY29uZGVuc2VkZXh0cmFib2xkKSBmb3JtYXQoXCJzdmdcIik7XHRmb250LXdlaWdodDogNDAwOyBmb250LXN0eWxlOiBub3JtYWxcbn1cblxuLyogaWNvbW9vbiB1c2VkIHB1cmVseSBmb3IgdGhlIFwicmV0dXJuc1wiIGljb24gKi9cbi8qIEkgZG9uJ3QgbGlrZSB0aGlzLCBpdCBsb29rcyB0ZXJyaWJsZSAtLSBjYW4gd2UgZ2V0IGF3YXkgd2l0aCBhIEZBIGljb24/XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIHNyYzogICAgdXJsKCcuLi9mb250cy9jdXN0b20vaWNvbW9vbi5lb3Q/MXQ5a3QzJyk7XG4gICAgc3JjOiAgICB1cmwoJy4uL2ZvbnRzL2N1c3RvbS9pY29tb29uLmVvdD8xdDlrdDMjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvY3VzdG9tL2ljb21vb24udHRmPzF0OWt0MycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9jdXN0b20vaWNvbW9vbi53b2ZmPzF0OWt0MycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2N1c3RvbS9pY29tb29uLnN2Zz8xdDlrdDMjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbltjbGFzc149XCJpY29uLVwiXS5pY29uLWJvcmRlciB7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHhtYXJnaW4tcmlnaHQ6IDNweDtcblxuICAgIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gICAgYm9yZGVyOiBzb2xpZCAuMDhlbSAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IC4xZW07XG59XG5cbi5pY29uLXJldHVybnMtYXJyb3ctdGlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuKi9cbi8qIEFkanVzdCB0aGUgbmF2YmFyIHRleHQsIGluY2x1ZGluZyB0aGUgY29sb3VyLCBzaXplIGFuZCBzcGFjaW5nIG9mIHRoZSBtZW51IGxpbmtzIGFuZCBpY29ucyAqL1xuYm9keS5hcmdvcyAjbmF2YmFyIHtcblx0Zm9udC1mYW1pbHk6IEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuYm9keS5hcmdvcyAjbmF2YmFyIC5uYXZiYXItbmF2PmxpPmEge1xuXHRjb2xvcjogIzU4NTg1ODtcbn1cbmJvZHkuYXJnb3MgI25hdmJhciBpLmZhIHtcblx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbmJvZHkuYXJnb3MgI25hdmJhciBpLmZhLWJvcmRlciB7XG5cdGJvcmRlci1jb2xvcjogIzU4NTg1ODtcbn1cbmJvZHkuYXJnb3MgI25hdmJhciBpLmZhLWZ3IHtcblx0d2lkdGg6IDEuNmVtO1xufVxuXG4vKiBTb21lIG5hdmJhciBsaW5rIGNvbG91cnMgKi9cbmJvZHkuYXJnb3MgI25hdmJhciAubmF2YmFyLW5hdj5saT5hOmhvdmVyIHtcblx0Y29sb3I6ICNhYTRlOWU7XG59XG5ib2R5LmFyZ29zICNuYXZiYXIgLm5hdmJhci1uYXY+bGk+YTpob3ZlciBpLmZhLWJvcmRlciB7XG5cdGJvcmRlci1jb2xvcjogI2FhNGU5ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyogR2VuZXJhbCB0eXBvZ3JhcGh5ICovXG5oMSwgaDIsIGgzLCAuaDEsIC5oMiwgLmgzIHtcbiAgICBmb250LWZhbWlseTogYXJnb3Nib29rLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjNTg1ODU4O1xufVxuI3Byb2R1Y3Qtc2VhcmNoIHAge1xuXHRjb2xvcjogIzU4NTg1ODtcbn1cbmgyLCAuaDIge1xuXHRmb250LXNpemU6IDI4cHg7XG59XG5oMi5ncmV5LCAuaDIuZ3JleSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5oMywgLmgzIHtcblx0Zm9udC1zaXplOiAyMHB4O1xufVxuaDMudW5kZXJsaW5lLCAuaDMudW5kZXJsaW5lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XG59XG5cbi5hcmdvcy1wYWdlLWhlYWRlciBoMSBhLmJhY2sgeyAvKiBXZSBoaWRlIHRoaXMgb24gLXhzIGFuZCAtc20gKi9cblx0Zm9udC1zaXplOiAxNnB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0cGFkZGluZy10b3A6IDE2cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmFyZ29zLXBhZ2UtaGVhZGVyIGEuYmFjayB7IC8qIFdlIGhpZGUgdGhpcyBvbiAteHMgYW5kIC1zbSAqL1xuXHRcdG1hcmdpbi10b3A6IDAuOGVtO1xuXHR9XG59XG5cbiNwcm9kdWN0LWRldGFpbHMgaDMsICNwcm9kdWN0LWRldGFpbHMgLmgzIHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxucCwgbGksIGEge1xuXHRjb2xvcjogIzMzMztcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxucC5uby1tYXJnaW4ge1xuXHRtYXJnaW46IDA7XG59XG5oci5uYXJyb3cge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5hIHtcblx0Y29sb3I6ICNhYTRlOWU7XG59XG5cbmlucHV0Om5vdCguYm9vdHN0cmFwKTpub3QoLnBpbmNvZGUtaW5wdXQtdGV4dCksIC8qIFVzZWQgYnkgdGhlIHJlcGFpcnMgdG9vbCBsb2dpbiBwYWdlICovXG5cdHNlbGVjdDpub3QoLmJvb3RzdHJhcCk6bm90KCNEVEVfRmllbGRfY2FjaGVkX3JlcGFpcnN0YXR1c19pZCksIC8qIFVzZWQgYnkgdGhlIFJlcGFpcnMgXCJFZGl0b3JcIiBtb2RhbCwgYml0IG9mIGEgaGFjayByZWFsbHkuLi4qL1xuXHR0ZXh0YXJlYTpub3QoLmJvb3RzdHJhcCkge1xuICAgIGZvbnQtZmFtaWx5OiBhcmdvc2Jvb2ssIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG59XG5cbi8qIHdoeSBib2R5LmFyZ29zPyBhaCwgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBib290c3RyYXAgc3R5bGU7IGJ1dCB0aGVuIC5ib290c3RyYXAgcmV2ZXJ0cyBiYWNrLi4uICovXG5ib2R5LmFyZ29zIC5mb3JtLWNvbnRyb2w6bm90KC5ib290c3RyYXApOm5vdCgucGluY29kZS1pbnB1dC10ZXh0KTpub3QoI0RURV9GaWVsZF9jYWNoZWRfcmVwYWlyc3RhdHVzX2lkKSB7IC8qIFVzZWQgYnkgdGhlIHJlcGFpcnMgdG9vbCBsb2dpbiBwYWdlLCBhbmQgdGhlIFwiRWRpdG9yXCIgbW9kYWwgYXMgcGVyIHRoZSBhYm92ZSAqL1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICM5OTk7XG59XG5ib2R5LmFyZ29zIC5mb3JtLWNvbnRyb2w6bm90KC5ib290c3RyYXApLmlucHV0LWxnIHtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xufVxuXG4vKiBQcmV2ZW50IFNhZmFyaSBpT1Mgem9vbWluZyBpbnRvIHRoZSBmaWVsZCwgaXQgYnJlYWtzIHRoZSBsYXlvdXQgc2xpZ2h0bHkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQjdGVsZXBob25lLWhlbHBsaW5lcyBpbnB1dC5mb3JtLWNvbnRyb2wsXG5cdCNtYW51YWwtZmluZGVyIGlucHV0LmZvcm0tY29udHJvbCB7XG4gIFx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cbn1cblxuXG4uZ3JleS1ib3ggLmlucHV0LWdyb3VwIHtcblx0d2lkdGg6IDEwMCVcbn1cbi5ncmV5LWJveCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0biAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5ncmV5LWJveCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTtcbn1cbnNlbGVjdC5pbnB1dC1sZytpLnNlbGVjdC1jYXJldCxcblx0c2VsZWN0LmlucHV0LWxnK2kuZm9ybS1jb250cm9sLWZlZWRiYWNrK2kuc2VsZWN0LWNhcmV0IHsgLyogVGhpcyBhbGxvd3MgdXMgdG8gdXNlIHRoZSBjYXJldCBvbiBkcm9wZG93bnMgb24gd2hpY2ggd2UgYWxzbyBkaXNwbGF5IHZhbGlkYXRpb24gZmVlZGJhY2sgKi9cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6ICM5OTk7XG5cbiAgICAvKiBPZGQgb25lLiBJZiB3ZSBnbyB3aXRoIGFuIDE4cHggZm9udCBoZXJlLCB3ZSBnZXQgYSBzdHJhbmdlIDNweCBnYXAgYmVuZWF0aCB0aGUgcGFyZW50IHBhbmVsIGluIENocm9tZS4uLlxuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICB0b3A6IC0xLjhlbTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgKi9cbiAgIFx0cmlnaHQ6IDFlbTtcbiAgICB0b3A6IC0yLjFlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBwb2ludGVyLWV2ZW50czpub25lOyAvKiBUaGlzIHdhcyBwcmV2aW91c2x5IGhhcmRjb2RlZCBpbnRvIHRoZSBIVE1MIGZvciBzb21lIHJlYXNvbiAqL1xufVxuc2VsZWN0LmlucHV0LWxnK2kuZm9ybS1jb250cm9sLWZlZWRiYWNrLmdseXBoaWNvbitpLnNlbGVjdC1jYXJldCB7IC8qIElmIHdlJ3JlIGFjdHVhbGx5IGRpc3BsYXlpbmcgdmFsaWRhdGlvbiBmZWVkYmFjayAoZWcgYSB0aWNrIG9yIGEgY3Jvc3MpLCBoaWRlIHRoZSBjYXJldCAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cbi5mb3JtLWdyb3VwIHAuYmVsb3cge1xuXHRtYXJnaW46IDAuNWVtIDAgMDtcbn1cbi5mb3JtLWdyb3VwIHAuYWJvdmUge1xuXHRtYXJnaW46IDAgMCAwLjVlbTtcbn1cbi5ncmV5LWJveCBoMyB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4uYWxlcnQgaDMge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRmb250LXNpemU6IDE4cHg7XG59XG5cbi8qIEFyZ29zIGJ1dHRvbnMgZnJvbSBwcmV2aW91cyBzaXRlICovXG4uYnRuLmJ0bi1hcmdvcyB7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogI2NjYztcblx0Ym9yZGVyLXdpZHRoOiAxcHggMXB4IDNweDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiA1cHg7XG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICNmNzk0MWQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1mYW1pbHk6IGFyZ29zYm9vaztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRjb2xvcjogIzMzMztcbn1cblxuLyogQnJlYWRjcnVtYnMgKi9cbi5hcmdvcy1icmVhZGNydW1iIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNmNWY1ZjU7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjVmNWY1O1xuXHRwYWRkaW5nOiA1cHggMHB4O1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRtYXJnaW4tbGVmdDogMHB4O1xufVxuLmFyZ29zLWJyZWFkY3J1bWIgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG4uYXJnb3MtYnJlYWRjcnVtYiBsaTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogJ1xcZjA1NCc7XG4gICAgbWFyZ2luOiAycHggMTBweCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuLmFyZ29zLWJyZWFkY3J1bWIgIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG4uYXJnb3MtYnJlYWRjcnVtYi5hbmNob3JzIHtcblxufVxuLmFyZ29zLWJyZWFkY3J1bWIuYW5jaG9ycyBsaTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXG59XG4uYXJnb3MtYnJlYWRjcnVtYi5hbmNob3JzIGxpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogJ1xcZjBkNyc7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwcHg7XG59XG5cbi8qIEFyZ29zIGJ1dHRvbnMgKi9cbi8qIFVzZSB0aGUgbmV3LXN0eWxlIGJ1dHRvbnMgZnJvbSB0aGUgQXJnb3Mgc2l0ZSAqL1xuLmFyZ29zLWJ1dHRvbiB7XG5cblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRib3JkZXItd2lkdGg6IDFweCAxcHggM3B4O1xuXG5cdGNvbG9yOiAjOTk5O1xuXG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdC8qIFVubmVjZXNzYXJ5P1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ki9cblx0cGFkZGluZzogNXB4IDEwcHggNHB4O1xuXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdGZvbnQtZmFtaWx5OiBhcmdvc2Jvb2s7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogMThweDtcblxuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXG59XG4uYXJnb3MtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYXJnb3MtYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcblx0bWFyZ2luLXRvcDogMXB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbn1cblxuXG4uYXJnb3MtYnV0dG9uLnNlbGVjdCB7IC8qIEEgdmVyc2lvbiBvZiB0aGUgYXJnb3MtYnV0dG9uIHRoYXQgcmVzZW1ibGVzIHRoZSBCb290c3RyYXAgc2VsZWN0ICovXG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uYXJnb3MtYnV0dG9uLnByaW1hcnkge1xuICAgIGZvbnQtZmFtaWx5OiBhcmdvc2NvbmRlbnNlZGV4dHJhYm9sZDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE0ZTllO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmFyZ29zLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhNGU5ZTtcbn1cbi5hcmdvcy1idXR0b24ucHJpbWFyeTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzYxMzY5O1xufVxuXG4uYXJnb3MtYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgZm9udC1mYW1pbHk6IGFyZ29zY29uZGVuc2VkZXh0cmFib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFhNTA7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uYXJnb3MtYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGFhNTA7XG59XG4uYXJnb3MtYnV0dG9uLnNlY29uZGFyeTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU3MTM4O1xufVxuXG4uYXJnb3MtYnV0dG9uLmxhcmdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDEwcHggMTBweCA4cHg7XG59XG5cbi8qIExpbmluZyB1cCBGb250IEF3ZXNvbWUgaWNvbnMgYXJvdW5kIGhlYWRpbmdzLi4uICovXG51bC5mYS11bC5oZWFkaW5nMyBsaSB7IC8qIENhbid0IHVzZSAuaDMgYXMgdGhpcyBjbGFzaGVzIHdpdGggQm9vdHN0cmFwICovXG5cdGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogQXJnb3Nib29rO1xuICAgIGNvbG9yOiAjNTg1ODU4O1xufVxuXG4vKiBOYXJyb3cgYWxlcnRzIGFyZSBoYW5keSBzb21ldGltZXMgKi9cbi5hbGVydC5hbGVydC1uYXJyb3csXG4uYWxlcnQtbmFycm93IC5hbGVydCB7XG5cdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRmb250LXNpemU6IDEycHg7XG59XG4uYWxlcnQuYWxlcnQtbmFycm93IC5jbG9zZSxcbi5hbGVydC1uYXJyb3cgLmFsZXJ0IC5jbG9zZSB7XG5cdGxpbmUtaGVpZ2h0OiAwLjllbTtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdCAgTW9kYWxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2RhbC1jb250ZW50IHsgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4ubW9kYWwtaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjojMGZiMGQwOyBwYWRkaW5nOiAxNXB4OyBib3JkZXItYm90dG9tOiBub25lOyB9XG4ubW9kYWwtdGl0bGUgeyBjb2xvcjojZmZmOyB9XG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IzBmYjBkMDtcblx0Y29sb3I6I2ZmZjtcblx0Lypcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6MTJweDtcblx0aGVpZ2h0OjM0cHg7XG5cdHdpZHRoOjM0cHg7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHRmb250LXNpemU6MjJweDtcblx0bGluZS1oZWlnaHQ6MTBweDtcblx0Ym9yZGVyLXJhZGl1czowcHg7XG5cdGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtc2hhZG93Om5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICAqL1xuICAgb3BhY2l0eTogMTtcbiAgIHBhZGRpbmc6IDJweCAxMHB4IDdweDtcbn1cbi5tb2RhbC1oZWFkZXIgLmNsb3NlOmhvdmVyLCAubW9kYWwtaGVhZGVyIC5jbG9zZTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IzMzMzsgY29sb3I6I2ZmZjsgb3BhY2l0eTowLjU7fVxuLm1vZGFsLWZvb3RlciB7IGJhY2tncm91bmQtY29sb3I6I2VmZWZlZjsgbWFyZ2luLXRvcDoxNXB4OyBwYWRkaW5nOjE5cHggMjBweCAyMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgYm9yZGVyLXRvcDpub25lO31cblxuLm1vZGFsLWJvZHkgLmlucHV0LWdyb3VwLWFkZG9uIHtcblx0Ym9yZGVyLXJhZGl1czogMHB4O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi8qIFVzZSB0aGUgc250YW5kYXJkIGdyZXkvcHVycGxlIGNvbG91cnMgaW4gbW9kYWwgZGlhbG9ndWVzICovXG4ubW9kYWwtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2FhNGU5ZTtcbn1cbi5tb2RhbC10aXRsZSB7XG5cdGNvbG9yOiAjMDAwO1xufVxuIiwiI3NlYXJjaF9yZXN1bHRzIHtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZmEtcmVtb3ZlLnJlZCB7XG5cdGNvbG9yOiAjYzAwO1xufVxuXG4jc2VhcmNoX2ZpbHRlciAuYXJnb3MtYnV0dG9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDEwcHggMTBweCA4cHg7IC8qIE5lZWQgdG8gbWFrZSBhcmdvcy1idXR0b24gbW9yZSBnZW5lcmljIHJlYWxseSAqL1xufSIsIi5mbGFnLWljb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmZsYWctaWNvbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuMzMzMzMzMzNlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cbi5mbGFnLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwYTBcIjtcbn1cbi5mbGFnLWljb24uZmxhZy1pY29uLXNxdWFyZWQge1xuICB3aWR0aDogMWVtO1xufVxuXG4uZmxhZy1pY29uLWdiIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ZsYWdzLzR4My9nYi5zdmcpO1xufVxuXG4uZmxhZy1pY29uLWllIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ZsYWdzLzR4My9pZS5zdmcpO1xufVxuXG4vKiBUaGVzZSBhcmUgY2F1c2luZyBjb25mbGljdHMgd2l0aCBtaXgsIG5vdCBzdXJlIHdoeTsgaXMgaXQgdHJ5aW5nIHRvIG1vdmUgYm90aCBmaWxlcyBpbnRvIHRoZSBzYW1lIGZvbGRlcj9cbi5mbGFnLWljb24tZ2IuZmxhZy1pY29uLXNxdWFyZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZmxhZ3MvMXgxL2diLnN2Zyk7XG59XG4uZmxhZy1pY29uLWllLmZsYWctaWNvbi1zcXVhcmVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ZsYWdzLzF4MS9pZS5zdmcpO1xufVxuKi8iXSwibWFwcGluZ3MiOiJBQ0FBO3FEQUNxRDtBQUNyRCxBQUFBLElBQUksQ0FBQztFQUNILFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxJQUFLO0NBQ2xCOztBQUNELEFBQUEsSUFBSSxDQUFDO0VBQ0gsd0VBQXdFO0VBQ3hFLGFBQWEsRUFBRSxLQUFNO0NBQ3RCOztBQUNELEFBQUEsTUFBTSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVM7RUFDbkIsTUFBTSxFQUFFLENBQUU7RUFDVixLQUFLLEVBQUUsSUFBSztFQUNaLDZDQUE2QztFQUM3QyxNQUFNLEVBQUUsS0FBTTtFQUNkLGdCQUFnQixFQUFFLE9BQVE7RUFDMUIsVUFBVSxFQUFFLElBQUs7Q0FDbEI7O0FBQ0QsaUVBQWlFO0FBQ2pFLEFBQU8sSUFBSCxHQUFHLFVBQVUsQ0FBQztFQUNoQixXQUFXLEVBQUUsSUFBSztDQUNuQjs7QUFFRCw2TUFBNk07QUFDN00sQUFBTyxPQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ2IsT0FBTyxFQUFFLEVBQUc7RUFDWixPQUFPLEVBQUUsS0FBTTtFQUNmLE1BQU0sRUFBRSxJQUFL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 */